@run-trace/duckdb-wasm 0.4.1 → 0.5.1
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.
- package/dist/duckdb-browser-blocking.cjs +1 -1
- package/dist/duckdb-browser-blocking.cjs.map +3 -3
- package/dist/duckdb-browser-blocking.mjs +1 -1
- package/dist/duckdb-browser-blocking.mjs.map +3 -3
- package/dist/duckdb-browser-coi.pthread.worker.js +1 -1
- package/dist/duckdb-browser-coi.pthread.worker.js.map +3 -3
- package/dist/duckdb-browser-coi.worker.js +1 -1
- package/dist/duckdb-browser-coi.worker.js.map +3 -3
- package/dist/duckdb-browser.cjs +1 -1
- package/dist/duckdb-browser.cjs.map +1 -1
- package/dist/duckdb-browser.mjs +1 -1
- package/dist/duckdb-browser.mjs.map +1 -1
- package/dist/duckdb-coi.wasm +0 -0
- package/dist/duckdb-eh.wasm +0 -0
- package/dist/duckdb-node-blocking.cjs +2 -2
- package/dist/duckdb-node-blocking.cjs.map +3 -3
- package/dist/duckdb-node-eh.worker.cjs +2 -2
- package/dist/duckdb-node-eh.worker.cjs.map +3 -3
- package/dist/duckdb-node.cjs +1 -1
- package/dist/duckdb-node.cjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/bindings/duckdb-coi.js", "../../js-sha256/src/sha256.js", "../src/targets/duckdb-browser-coi.worker.ts", "../../tslib/tslib.es6.mjs", "../../apache-arrow/util/util/buffer.ts", "../../apache-arrow/util/util/utf8.ts", "../../apache-arrow/util/util/compat.ts", "../../apache-arrow/io/io/adapters.ts", "../../apache-arrow/fb/fb/metadata-version.ts", "../../apache-arrow/fb/fb/union-mode.ts", "../../apache-arrow/fb/fb/precision.ts", "../../apache-arrow/fb/fb/date-unit.ts", "../../apache-arrow/fb/fb/time-unit.ts", "../../apache-arrow/fb/fb/interval-unit.ts", "../../flatbuffers/mjs/utils.js", "../../flatbuffers/mjs/encoding.js", "../../flatbuffers/mjs/byte-buffer.js", "../../flatbuffers/mjs/builder.js", "../../apache-arrow/fb/fb/body-compression-method.ts", "../../apache-arrow/fb/fb/compression-type.ts", "../../apache-arrow/fb/fb/body-compression.ts", "../../apache-arrow/fb/fb/buffer.ts", "../../apache-arrow/fb/fb/field-node.ts", "../../apache-arrow/fb/fb/record-batch.ts", "../../apache-arrow/fb/fb/dictionary-batch.ts", "../../apache-arrow/fb/fb/endianness.ts", "../../apache-arrow/fb/fb/dictionary-kind.ts", "../../apache-arrow/fb/fb/int.ts", "../../apache-arrow/fb/fb/dictionary-encoding.ts", "../../apache-arrow/fb/fb/key-value.ts", "../../apache-arrow/fb/fb/binary.ts", "../../apache-arrow/fb/fb/bool.ts", "../../apache-arrow/fb/fb/date.ts", "../../apache-arrow/fb/fb/decimal.ts", "../../apache-arrow/fb/fb/duration.ts", "../../apache-arrow/fb/fb/fixed-size-binary.ts", "../../apache-arrow/fb/fb/fixed-size-list.ts", "../../apache-arrow/fb/fb/floating-point.ts", "../../apache-arrow/fb/fb/interval.ts", "../../apache-arrow/fb/fb/large-binary.ts", "../../apache-arrow/fb/fb/large-utf8.ts", "../../apache-arrow/fb/fb/list.ts", "../../apache-arrow/fb/fb/map.ts", "../../apache-arrow/fb/fb/null.ts", "../../apache-arrow/fb/fb/struct-.ts", "../../apache-arrow/fb/fb/time.ts", "../../apache-arrow/fb/fb/timestamp.ts", "../../apache-arrow/fb/fb/union.ts", "../../apache-arrow/fb/fb/utf8.ts", "../../apache-arrow/fb/fb/type.ts", "../../apache-arrow/fb/fb/field.ts", "../../apache-arrow/fb/fb/schema.ts", "../../apache-arrow/fb/fb/message-header.ts", "../../apache-arrow/enum.ts", "../../apache-arrow/util/util/vector.ts", "../../apache-arrow/util/util/pretty.ts", "../../apache-arrow/util/util/bn.ts", "../../apache-arrow/util/util/bigint.ts", "../../apache-arrow/type.ts", "../../apache-arrow/visitor.ts", "../../apache-arrow/util/util/math.ts", "../../apache-arrow/visitor/visitor/set.ts", "../../apache-arrow/row/row/struct.ts", "../../apache-arrow/visitor/visitor/get.ts", "../../apache-arrow/row/row/map.ts", "../../apache-arrow/util/util/bit.ts", "../../apache-arrow/data.ts", "../../apache-arrow/util/util/chunk.ts", "../../apache-arrow/visitor/visitor/indexof.ts", "../../apache-arrow/visitor/visitor/iterator.ts", "../../apache-arrow/vector.ts", "../../apache-arrow/builder/builder/valid.ts", "../../apache-arrow/builder/builder/buffer.ts", "../../apache-arrow/builder.ts", "../../apache-arrow/fb/fb/block.ts", "../../apache-arrow/fb/fb/footer.ts", "../../apache-arrow/schema.ts", "../../apache-arrow/ipc/metadata/ipc/metadata/file.ts", "../../apache-arrow/io/io/interfaces.ts", "../../apache-arrow/io/io/stream.ts", "../../apache-arrow/io/io/file.ts", "../../apache-arrow/util/util/int.ts", "../../apache-arrow/visitor/visitor/vectorloader.ts", "../../apache-arrow/builder/builder/binary.ts", "../../apache-arrow/builder/builder/largebinary.ts", "../../apache-arrow/builder/builder/bool.ts", "../../apache-arrow/builder/builder/date.ts", "../../apache-arrow/builder/builder/decimal.ts", "../../apache-arrow/builder/builder/dictionary.ts", "../../apache-arrow/builder/builder/fixedsizebinary.ts", "../../apache-arrow/builder/builder/fixedsizelist.ts", "../../apache-arrow/builder/builder/float.ts", "../../apache-arrow/builder/builder/interval.ts", "../../apache-arrow/builder/builder/duration.ts", "../../apache-arrow/builder/builder/int.ts", "../../apache-arrow/builder/builder/list.ts", "../../apache-arrow/builder/builder/map.ts", "../../apache-arrow/builder/builder/null.ts", "../../apache-arrow/builder/builder/struct.ts", "../../apache-arrow/builder/builder/timestamp.ts", "../../apache-arrow/builder/builder/time.ts", "../../apache-arrow/builder/builder/union.ts", "../../apache-arrow/builder/builder/utf8.ts", "../../apache-arrow/builder/builder/largeutf8.ts", "../../apache-arrow/visitor/visitor/builderctor.ts", "../../apache-arrow/visitor/visitor/typecomparator.ts", "../../apache-arrow/factories.ts", "../../apache-arrow/util/util/recordbatch.ts", "../../apache-arrow/table.ts", "../../apache-arrow/recordbatch.ts", "../../apache-arrow/fb/fb/message.ts", "../../apache-arrow/visitor/visitor/typeassembler.ts", "../../apache-arrow/ipc/metadata/ipc/metadata/json.ts", "../../apache-arrow/ipc/metadata/ipc/metadata/message.ts", "../../apache-arrow/ipc/ipc/message.ts", "../../apache-arrow/ipc/ipc/reader.ts", "../../apache-arrow/visitor/visitor/vectorassembler.ts", "../../apache-arrow/ipc/ipc/writer.ts", "../../apache-arrow/io/whatwg/io/whatwg/iterable.ts", "../../apache-arrow/io/whatwg/io/whatwg/builder.ts", "../../apache-arrow/io/whatwg/io/whatwg/reader.ts", "../../apache-arrow/io/whatwg/io/whatwg/writer.ts", "../../apache-arrow/ipc/ipc/serialization.ts", "../../apache-arrow/Arrow.ts", "../../apache-arrow/Arrow.dom.ts", "../src/json_typedef.ts", "../src/bindings/connection.ts", "../src/status.ts", "../src/bindings/udf_runtime.ts", "../src/bindings/runtime.ts", "../src/bindings/file_stats.ts", "../src/bindings/bindings_base.ts", "../src/parallel/worker_dispatcher.ts", "../src/bindings/bindings_browser_coi.ts", "../src/bindings/bindings_browser_base.ts", "../src/utils/s3_helper.ts", "../src/bindings/runtime_browser.ts"],
|
|
4
|
-
"sourcesContent": ["var DuckDB = (() => {\n var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;\n if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename;\n return (\n async function(moduleArg = {}) {\n var moduleRtn;\n\n var Module = moduleArg;\n var readyPromiseResolve, readyPromiseReject;\n var readyPromise = new Promise((resolve, reject) => {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject\n });\n var ENVIRONMENT_IS_WEB = typeof window == \"object\";\n var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != \"undefined\";\n var ENVIRONMENT_IS_NODE = typeof process == \"object\" && typeof process.versions == \"object\" && typeof process.versions.node == \"string\" && process.type != \"renderer\";\n var ENVIRONMENT_IS_PTHREAD = ENVIRONMENT_IS_WORKER && self.name?.startsWith(\"em-pthread\");\n if (ENVIRONMENT_IS_NODE) {\n var worker_threads = require(\"worker_threads\");\n global.Worker = worker_threads.Worker;\n ENVIRONMENT_IS_WORKER = !worker_threads.isMainThread;\n ENVIRONMENT_IS_PTHREAD = ENVIRONMENT_IS_WORKER && worker_threads[\"workerData\"] == \"em-pthread\"\n }\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow) => {\n throw toThrow\n };\n var scriptDirectory = \"\";\n\n function locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory)\n }\n return scriptDirectory + path\n }\n var readAsync, readBinary;\n if (ENVIRONMENT_IS_NODE) {\n var fs = require(\"fs\");\n var nodePath = require(\"path\");\n scriptDirectory = __dirname + \"/\";\n readBinary = filename => {\n filename = isFileURI(filename) ? new URL(filename) : filename;\n var ret = fs.readFileSync(filename);\n return ret\n };\n readAsync = async (filename, binary = true) => {\n filename = isFileURI(filename) ? new URL(filename) : filename;\n var ret = fs.readFileSync(filename, binary ? undefined : \"utf8\");\n return ret\n };\n if (!Module[\"thisProgram\"] && process.argv.length > 1) {\n thisProgram = process.argv[1].replace(/\\\\/g, \"/\")\n }\n arguments_ = process.argv.slice(2);\n quit_ = (status, toThrow) => {\n process.exitCode = status;\n throw toThrow\n }\n } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src\n }\n if (_scriptName) {\n scriptDirectory = _scriptName\n }\n if (scriptDirectory.startsWith(\"blob:\")) {\n scriptDirectory = \"\"\n } else {\n scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1)\n }\n if (!ENVIRONMENT_IS_NODE) {\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest;\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response)\n }\n }\n readAsync = async url => {\n var response = await fetch(url, {\n credentials: \"same-origin\"\n });\n if (response.ok) {\n return response.arrayBuffer()\n }\n throw new Error(response.status + \" : \" + response.url)\n }\n }\n } else {}\n var defaultPrint = console.log.bind(console);\n var defaultPrintErr = console.error.bind(console);\n if (ENVIRONMENT_IS_NODE) {\n defaultPrint = (...args) => fs.writeSync(1, args.join(\" \") + \"\\n\");\n defaultPrintErr = (...args) => fs.writeSync(2, args.join(\" \") + \"\\n\")\n }\n var out = Module[\"print\"] || defaultPrint;\n var err = Module[\"printErr\"] || defaultPrintErr;\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n var wasmBinary = Module[\"wasmBinary\"];\n var wasmMemory;\n var wasmModule;\n var ABORT = false;\n var EXITSTATUS;\n\n function assert(condition, text) {\n if (!condition) {\n abort(text)\n }\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n var runtimeInitialized = false;\n var isFileURI = filename => filename.startsWith(\"file://\");\n\n function GROWABLE_HEAP_I8() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAP8\n }\n\n function GROWABLE_HEAP_U8() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAPU8\n }\n\n function GROWABLE_HEAP_I16() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAP16\n }\n\n function GROWABLE_HEAP_I32() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAP32\n }\n\n function GROWABLE_HEAP_U32() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAPU32\n }\n\n function GROWABLE_HEAP_F64() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAPF64\n }\n if (ENVIRONMENT_IS_PTHREAD) {\n var wasmModuleReceived;\n if (ENVIRONMENT_IS_NODE) {\n var parentPort = worker_threads[\"parentPort\"];\n parentPort.on(\"message\", msg => onmessage({\n data: msg\n }));\n Object.assign(globalThis, {\n self: global,\n postMessage: msg => parentPort.postMessage(msg)\n })\n }\n var initializedJS = false;\n\n function threadPrintErr(...args) {\n var text = args.join(\" \");\n if (ENVIRONMENT_IS_NODE) {\n fs.writeSync(2, text + \"\\n\");\n return\n }\n console.error(text)\n }\n if (!Module[\"printErr\"]) err = threadPrintErr;\n\n function threadAlert(...args) {\n var text = args.join(\" \");\n postMessage({\n cmd: \"alert\",\n text,\n threadId: _pthread_self()\n })\n }\n self.alert = threadAlert;\n self.onunhandledrejection = e => {\n throw e.reason || e\n };\n\n function handleMessage(e) {\n try {\n var msgData = e[\"data\"];\n var cmd = msgData.cmd;\n if (cmd === \"load\") {\n let messageQueue = [];\n self.onmessage = e => messageQueue.push(e);\n self.startWorker = instance => {\n postMessage({\n cmd: \"loaded\"\n });\n for (let msg of messageQueue) {\n handleMessage(msg)\n }\n self.onmessage = handleMessage\n };\n for (const handler of msgData.handlers) {\n if (!Module[handler] || Module[handler].proxy) {\n Module[handler] = (...args) => {\n postMessage({\n cmd: \"callHandler\",\n handler,\n args\n })\n };\n if (handler == \"print\") out = Module[handler];\n if (handler == \"printErr\") err = Module[handler]\n }\n }\n wasmMemory = msgData.wasmMemory;\n updateMemoryViews();\n wasmModuleReceived(msgData.wasmModule)\n } else if (cmd === \"run\") {\n establishStackSpace(msgData.pthread_ptr);\n __emscripten_thread_init(msgData.pthread_ptr, 0, 0, 1, 0, 0);\n PThread.receiveObjectTransfer(msgData);\n PThread.threadInitTLS();\n __emscripten_thread_mailbox_await(msgData.pthread_ptr);\n if (!initializedJS) {\n initializedJS = true\n }\n try {\n invokeEntryPoint(msgData.start_routine, msgData.arg)\n } catch (ex) {\n if (ex != \"unwind\") {\n throw ex\n }\n }\n } else if (msgData.target === \"setimmediate\") {} else if (cmd === \"checkMailbox\") {\n if (initializedJS) {\n checkMailbox()\n }\n } else if (cmd) {\n err(`worker: received unknown command ${cmd}`);\n err(msgData)\n }\n } catch (ex) {\n __emscripten_thread_crashed();\n throw ex\n }\n }\n self.onmessage = handleMessage\n }\n\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b)\n }\n if (!ENVIRONMENT_IS_PTHREAD) {\n if (Module[\"wasmMemory\"]) {\n wasmMemory = Module[\"wasmMemory\"]\n } else {\n var INITIAL_MEMORY = Module[\"INITIAL_MEMORY\"] || 16777216;\n wasmMemory = new WebAssembly.Memory({\n initial: INITIAL_MEMORY / 65536,\n maximum: 65536,\n shared: true\n })\n }\n updateMemoryViews()\n } else if (Module[\"wasmMemory\"]) {\n wasmMemory = Module[\"wasmMemory\"];\n updateMemoryViews()\n }\n\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [Module[\"preRun\"]];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift())\n }\n }\n callRuntimeCallbacks(onPreRuns)\n }\n\n function initRuntime() {\n runtimeInitialized = true;\n if (ENVIRONMENT_IS_PTHREAD) return startWorker(Module);\n wasmExports[\"Ha\"]()\n }\n\n function preMain() {}\n\n function postRun() {\n if (ENVIRONMENT_IS_PTHREAD) return;\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [Module[\"postRun\"]];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift())\n }\n }\n callRuntimeCallbacks(onPostRuns)\n }\n var runDependencies = 0;\n var dependenciesFulfilled = null;\n\n function addRunDependency(id) {\n runDependencies++;\n Module[\"monitorRunDependencies\"]?.(runDependencies)\n }\n\n function removeRunDependency(id) {\n runDependencies--;\n Module[\"monitorRunDependencies\"]?.(runDependencies);\n if (runDependencies == 0) {\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback()\n }\n }\n }\n\n function abort(what) {\n Module[\"onAbort\"]?.(what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n what += \". Build with -sASSERTIONS for more info.\";\n if (runtimeInitialized) {\n ___trap()\n }\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e\n }\n var wasmBinaryFile;\n\n function findWasmBinary() {\n return locateFile(\"./duckdb-coi.wasm\")\n }\n\n function getBinarySync(file) {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary)\n }\n if (readBinary) {\n return readBinary(file)\n }\n throw \"both async and sync fetching of the wasm failed\"\n }\n async function getWasmBinary(binaryFile) {\n if (!wasmBinary) {\n try {\n var response = await readAsync(binaryFile);\n return new Uint8Array(response)\n } catch {}\n }\n return getBinarySync(binaryFile)\n }\n async function instantiateArrayBuffer(binaryFile, imports) {\n try {\n var binary = await getWasmBinary(binaryFile);\n var instance = await WebAssembly.instantiate(binary, imports);\n return instance\n } catch (reason) {\n err(`failed to asynchronously prepare wasm: ${reason}`);\n abort(reason)\n }\n }\n async function instantiateAsync(binary, binaryFile, imports) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !ENVIRONMENT_IS_NODE) {\n try {\n var response = fetch(binaryFile, {\n credentials: \"same-origin\"\n });\n var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);\n return instantiationResult\n } catch (reason) {\n err(`wasm streaming compile failed: ${reason}`);\n err(\"falling back to ArrayBuffer instantiation\")\n }\n }\n return instantiateArrayBuffer(binaryFile, imports)\n }\n\n function getWasmImports() {\n assignWasmImports();\n return {\n a: wasmImports\n }\n }\n async function createWasm() {\n function receiveInstance(instance, module) {\n wasmExports = instance.exports;\n wasmExports = applySignatureConversions(wasmExports);\n registerTLSInit(wasmExports[\"zb\"]);\n wasmTable = wasmExports[\"Ja\"];\n wasmModule = module;\n removeRunDependency(\"wasm-instantiate\");\n return wasmExports\n }\n addRunDependency(\"wasm-instantiate\");\n\n function receiveInstantiationResult(result) {\n return receiveInstance(result[\"instance\"], result[\"module\"])\n }\n var info = getWasmImports();\n if (Module[\"instantiateWasm\"]) {\n return new Promise((resolve, reject) => {\n Module[\"instantiateWasm\"](info, (mod, inst) => {\n receiveInstance(mod, inst);\n resolve(mod.exports)\n })\n })\n }\n if (ENVIRONMENT_IS_PTHREAD) {\n return new Promise(resolve => {\n wasmModuleReceived = module => {\n var instance = new WebAssembly.Instance(module, getWasmImports());\n resolve(receiveInstance(instance, module))\n }\n })\n }\n wasmBinaryFile ??= findWasmBinary();\n try {\n var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);\n var exports = receiveInstantiationResult(result);\n return exports\n } catch (e) {\n readyPromiseReject(e);\n return Promise.reject(e)\n }\n }\n var tempDouble;\n var tempI64;\n var ASM_CONSTS = {\n 10184256: ($0, $1, $2, $3) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") z = \"X-user-agent\";\n if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n xhr.send(null)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = xhr.response;\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 4);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 4] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n },\n 10185663: ($0, $1, $2, $3, $4, $5) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") z = \"X-user-agent\";\n if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n var post_payload = new Uint8Array($5);\n for (var iii = 0; iii < $5; iii++) {\n post_payload[iii] = Module.HEAPU8[iii + $4]\n }\n xhr.send(post_payload)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = Uint8Array.from(Array.from(xhr.getResponseHeader(\"Etag\")).map(letter => letter.charCodeAt(0)));\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 4);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 4] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n },\n 10187283: ($0, $1, $2, $3) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n console.log(\"HEAD\", UTF8ToString(ptr1), UTF8ToString(ptr2));\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") z = \"X-user-agent\";\n if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n xhr.send(null)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = xhr.response;\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 8);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 8] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap + 4);\n var headers = Uint8Array.from(Array.from(xhr.getAllResponseHeaders()).map(letter => letter.charCodeAt(0)));\n len = headers.byteLength;\n var headersOnWasmHeap = _malloc(len + 8);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + headersOnWasmHeap + 8] = headers[iii]\n }\n LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, headersOnWasmHeap + 4);\n len = headersOnWasmHeap;\n LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n },\n 10189628: ($0, $1, $2, $3) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") z = \"X-user-agent\";\n if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n xhr.send(null)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = xhr.response;\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 4);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 4] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n },\n 10191035: ($0, $1, $2, $3, $4, $5) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") z = \"X-user-agent\";\n if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n var post_payload = new Uint8Array($5);\n for (var iii = 0; iii < $5; iii++) {\n post_payload[iii] = Module.HEAPU8[iii + $4]\n }\n xhr.send(post_payload)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = xhr.response;\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 4);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 4] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n }\n };\n class ExitStatus {\n name = \"ExitStatus\";\n constructor(status) {\n this.message = `Program terminated with exit(${status})`;\n this.status = status\n }\n }\n var terminateWorker = worker => {\n worker.terminate();\n worker.onmessage = e => {}\n };\n var cleanupThread = pthread_ptr => {\n var worker = PThread.pthreads[pthread_ptr];\n PThread.returnWorkerToPool(worker)\n };\n var callRuntimeCallbacks = callbacks => {\n while (callbacks.length > 0) {\n callbacks.shift()(Module)\n }\n };\n var onPreRuns = [];\n var addOnPreRun = cb => onPreRuns.unshift(cb);\n var spawnThread = threadParams => {\n var worker = PThread.getNewWorker();\n if (!worker) {\n return 6\n }\n PThread.runningWorkers.push(worker);\n PThread.pthreads[threadParams.pthread_ptr] = worker;\n worker.pthread_ptr = threadParams.pthread_ptr;\n var msg = {\n cmd: \"run\",\n start_routine: threadParams.startRoutine,\n arg: threadParams.arg,\n pthread_ptr: threadParams.pthread_ptr\n };\n if (ENVIRONMENT_IS_NODE) {\n worker.unref()\n }\n worker.postMessage(msg, threadParams.transferList);\n return 0\n };\n var runtimeKeepaliveCounter = 0;\n var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;\n var stackSave = () => _emscripten_stack_get_current();\n var stackRestore = val => __emscripten_stack_restore(val);\n var stackAlloc = sz => __emscripten_stack_alloc(sz);\n Module[\"stackAlloc\"] = stackAlloc;\n var convertI32PairToI53Checked = (lo, hi) => hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n var proxyToMainThread = (funcIndex, emAsmAddr, sync, ...callArgs) => {\n var serializedNumCallArgs = callArgs.length;\n var sp = stackSave();\n var args = stackAlloc(serializedNumCallArgs * 8);\n var b = args >>> 3;\n for (var i = 0; i < callArgs.length; i++) {\n var arg = callArgs[i];\n GROWABLE_HEAP_F64()[b + i >>> 0] = arg\n }\n var rtn = __emscripten_run_on_main_thread_js(funcIndex, emAsmAddr, serializedNumCallArgs, args, sync);\n stackRestore(sp);\n return rtn\n };\n\n function _proc_exit(code) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(0, 0, 1, code);\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n PThread.terminateAllThreads();\n Module[\"onExit\"]?.(code);\n ABORT = true\n }\n quit_(code, new ExitStatus(code))\n }\n var handleException = e => {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS\n }\n quit_(1, e)\n };\n\n function exitOnMainThread(returnCode) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(1, 0, 0, returnCode);\n _exit(returnCode)\n }\n var exitJS = (status, implicit) => {\n EXITSTATUS = status;\n if (ENVIRONMENT_IS_PTHREAD) {\n exitOnMainThread(status);\n throw \"unwind\"\n }\n _proc_exit(status)\n };\n var _exit = exitJS;\n var PThread = {\n unusedWorkers: [],\n runningWorkers: [],\n tlsInitFunctions: [],\n pthreads: {},\n init() {\n if (!ENVIRONMENT_IS_PTHREAD) {\n PThread.initMainThread()\n }\n },\n initMainThread() {\n var pthreadPoolSize = 4;\n while (pthreadPoolSize--) {\n PThread.allocateUnusedWorker()\n }\n addOnPreRun(() => {\n addRunDependency(\"loading-workers\");\n PThread.loadWasmModuleToAllWorkers(() => removeRunDependency(\"loading-workers\"))\n })\n },\n terminateAllThreads: () => {\n for (var worker of PThread.runningWorkers) {\n terminateWorker(worker)\n }\n for (var worker of PThread.unusedWorkers) {\n terminateWorker(worker)\n }\n PThread.unusedWorkers = [];\n PThread.runningWorkers = [];\n PThread.pthreads = {}\n },\n returnWorkerToPool: worker => {\n var pthread_ptr = worker.pthread_ptr;\n delete PThread.pthreads[pthread_ptr];\n PThread.unusedWorkers.push(worker);\n PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1);\n worker.pthread_ptr = 0;\n __emscripten_thread_free_data(pthread_ptr)\n },\n receiveObjectTransfer(data) {},\n threadInitTLS() {\n PThread.tlsInitFunctions.forEach(f => f())\n },\n loadWasmModuleToWorker: worker => new Promise(onFinishedLoading => {\n worker.onmessage = e => {\n var d = e[\"data\"];\n var cmd = d.cmd;\n if (d.targetThread && d.targetThread != _pthread_self()) {\n var targetWorker = PThread.pthreads[d.targetThread];\n if (targetWorker) {\n targetWorker.postMessage(d, d.transferList)\n } else {\n err(`Internal error! Worker sent a message \"${cmd}\" to target pthread ${d.targetThread}, but that thread no longer exists!`)\n }\n return\n }\n if (cmd === \"checkMailbox\") {\n checkMailbox()\n } else if (cmd === \"spawnThread\") {\n spawnThread(d)\n } else if (cmd === \"cleanupThread\") {\n cleanupThread(d.thread)\n } else if (cmd === \"loaded\") {\n worker.loaded = true;\n if (ENVIRONMENT_IS_NODE && !worker.pthread_ptr) {\n worker.unref()\n }\n onFinishedLoading(worker)\n } else if (cmd === \"alert\") {\n alert(`Thread ${d.threadId}: ${d.text}`)\n } else if (d.target === \"setimmediate\") {\n worker.postMessage(d)\n } else if (cmd === \"callHandler\") {\n Module[d.handler](...d.args)\n } else if (cmd) {\n err(`worker sent an unknown command ${cmd}`)\n }\n };\n worker.onerror = e => {\n var message = \"worker sent an error!\";\n err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);\n throw e\n };\n if (ENVIRONMENT_IS_NODE) {\n worker.on(\"message\", data => worker.onmessage({\n data\n }));\n worker.on(\"error\", e => worker.onerror(e))\n }\n var handlers = [];\n var knownHandlers = [\"onExit\", \"onAbort\", \"print\", \"printErr\"];\n for (var handler of knownHandlers) {\n if (Module.propertyIsEnumerable(handler)) {\n handlers.push(handler)\n }\n }\n worker.postMessage({\n cmd: \"load\",\n handlers,\n wasmMemory,\n wasmModule\n })\n }),\n loadWasmModuleToAllWorkers(onMaybeReady) {\n if (ENVIRONMENT_IS_PTHREAD) {\n return onMaybeReady()\n }\n let pthreadPoolReady = Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker));\n pthreadPoolReady.then(onMaybeReady)\n },\n allocateUnusedWorker() {\n var worker;\n var workerOptions = {\n workerData: \"em-pthread\",\n name: \"em-pthread\"\n };\n var pthreadMainJs = _scriptName;\n if (Module[\"mainScriptUrlOrBlob\"]) {\n pthreadMainJs = Module[\"mainScriptUrlOrBlob\"];\n if (typeof pthreadMainJs != \"string\") {\n pthreadMainJs = URL.createObjectURL(pthreadMainJs)\n }\n }\n worker = new Worker(pthreadMainJs, workerOptions);\n PThread.unusedWorkers.push(worker)\n },\n getNewWorker() {\n if (PThread.unusedWorkers.length == 0) {\n PThread.allocateUnusedWorker();\n PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])\n }\n return PThread.unusedWorkers.pop()\n }\n };\n var onPostRuns = [];\n var addOnPostRun = cb => onPostRuns.unshift(cb);\n var establishStackSpace = pthread_ptr => {\n updateMemoryViews();\n var stackHigh = GROWABLE_HEAP_U32()[pthread_ptr + 52 >>> 2 >>> 0];\n var stackSize = GROWABLE_HEAP_U32()[pthread_ptr + 56 >>> 2 >>> 0];\n var stackLow = stackHigh - stackSize;\n _emscripten_stack_set_limits(stackHigh, stackLow);\n stackRestore(stackHigh)\n };\n var wasmTableMirror = [];\n var wasmTable;\n var getWasmTableEntry = funcPtr => {\n var func = wasmTableMirror[funcPtr];\n if (!func) {\n if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;\n wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr)\n }\n return func\n };\n var invokeEntryPoint = (ptr, arg) => {\n runtimeKeepaliveCounter = 0;\n noExitRuntime = 0;\n var result = getWasmTableEntry(ptr)(arg);\n\n function finish(result) {\n if (keepRuntimeAlive()) {\n EXITSTATUS = result\n } else {\n __emscripten_thread_exit(result)\n }\n }\n finish(result)\n };\n var noExitRuntime = Module[\"noExitRuntime\"] || true;\n var registerTLSInit = tlsInitFunc => PThread.tlsInitFunctions.push(tlsInitFunc);\n\n function ___call_sighandler(fp, sig) {\n fp >>>= 0;\n return getWasmTableEntry(fp)(sig)\n }\n\n function pthreadCreateProxied(pthread_ptr, attr, startRoutine, arg) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(2, 0, 1, pthread_ptr, attr, startRoutine, arg);\n return ___pthread_create_js(pthread_ptr, attr, startRoutine, arg)\n }\n var _emscripten_has_threading_support = () => typeof SharedArrayBuffer != \"undefined\";\n\n function ___pthread_create_js(pthread_ptr, attr, startRoutine, arg) {\n pthread_ptr >>>= 0;\n attr >>>= 0;\n startRoutine >>>= 0;\n arg >>>= 0;\n if (!_emscripten_has_threading_support()) {\n return 6\n }\n var transferList = [];\n var error = 0;\n if (ENVIRONMENT_IS_PTHREAD && (transferList.length === 0 || error)) {\n return pthreadCreateProxied(pthread_ptr, attr, startRoutine, arg)\n }\n if (error) return error;\n var threadParams = {\n startRoutine,\n pthread_ptr,\n arg,\n transferList\n };\n if (ENVIRONMENT_IS_PTHREAD) {\n threadParams.cmd = \"spawnThread\";\n postMessage(threadParams, transferList);\n return 0\n }\n return spawnThread(threadParams)\n }\n var __abort_js = () => abort(\"\");\n\n function __emscripten_init_main_thread_js(tb) {\n tb >>>= 0;\n __emscripten_thread_init(tb, !ENVIRONMENT_IS_WORKER, 1, !ENVIRONMENT_IS_WEB, 1048576, false);\n PThread.threadInitTLS()\n }\n var maybeExit = () => {\n if (!keepRuntimeAlive()) {\n try {\n if (ENVIRONMENT_IS_PTHREAD) __emscripten_thread_exit(EXITSTATUS);\n else _exit(EXITSTATUS)\n } catch (e) {\n handleException(e)\n }\n }\n };\n var callUserCallback = func => {\n if (ABORT) {\n return\n }\n try {\n func();\n maybeExit()\n } catch (e) {\n handleException(e)\n }\n };\n\n function __emscripten_thread_mailbox_await(pthread_ptr) {\n pthread_ptr >>>= 0;\n if (typeof Atomics.waitAsync === \"function\") {\n var wait = Atomics.waitAsync(GROWABLE_HEAP_I32(), pthread_ptr >>> 2, pthread_ptr);\n wait.value.then(checkMailbox);\n var waitingAsync = pthread_ptr + 128;\n Atomics.store(GROWABLE_HEAP_I32(), waitingAsync >>> 2, 1)\n }\n }\n var checkMailbox = () => {\n var pthread_ptr = _pthread_self();\n if (pthread_ptr) {\n __emscripten_thread_mailbox_await(pthread_ptr);\n callUserCallback(__emscripten_check_mailbox)\n }\n };\n\n function __emscripten_notify_mailbox_postmessage(targetThread, currThreadId) {\n targetThread >>>= 0;\n currThreadId >>>= 0;\n if (targetThread == currThreadId) {\n setTimeout(checkMailbox)\n } else if (ENVIRONMENT_IS_PTHREAD) {\n postMessage({\n targetThread,\n cmd: \"checkMailbox\"\n })\n } else {\n var worker = PThread.pthreads[targetThread];\n if (!worker) {\n return\n }\n worker.postMessage({\n cmd: \"checkMailbox\"\n })\n }\n }\n var proxiedJSCallArgs = [];\n\n function __emscripten_receive_on_main_thread_js(funcIndex, emAsmAddr, callingThread, numCallArgs, args) {\n emAsmAddr >>>= 0;\n callingThread >>>= 0;\n args >>>= 0;\n proxiedJSCallArgs.length = numCallArgs;\n var b = args >>> 3;\n for (var i = 0; i < numCallArgs; i++) {\n proxiedJSCallArgs[i] = GROWABLE_HEAP_F64()[b + i >>> 0]\n }\n var func = emAsmAddr ? ASM_CONSTS[emAsmAddr] : proxiedFunctionTable[funcIndex];\n PThread.currentProxiedOperationCallerThread = callingThread;\n var rtn = func(...proxiedJSCallArgs);\n PThread.currentProxiedOperationCallerThread = 0;\n return rtn\n }\n var __emscripten_runtime_keepalive_clear = () => {\n noExitRuntime = false;\n runtimeKeepaliveCounter = 0\n };\n var UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder : undefined;\n var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => {\n idx >>>= 0;\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.buffer instanceof ArrayBuffer ? heapOrArray.subarray(idx, endPtr) : heapOrArray.slice(idx, endPtr))\n }\n var str = \"\";\n while (idx < endPtr) {\n var u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue\n }\n var u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) == 192) {\n str += String.fromCharCode((u0 & 31) << 6 | u1);\n continue\n }\n var u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) == 224) {\n u0 = (u0 & 15) << 12 | u1 << 6 | u2\n } else {\n u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0)\n } else {\n var ch = u0 - 65536;\n str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023)\n }\n }\n return str\n };\n var UTF8ToString = (ptr, maxBytesToRead) => {\n ptr >>>= 0;\n return ptr ? UTF8ArrayToString(GROWABLE_HEAP_U8(), ptr, maxBytesToRead) : \"\"\n };\n\n function __emscripten_system(command) {\n command >>>= 0;\n if (ENVIRONMENT_IS_NODE) {\n if (!command) return 1;\n var cmdstr = UTF8ToString(command);\n if (!cmdstr.length) return 0;\n var cp = [\"child_process\"].map(require);\n var ret = cp.spawnSync(cmdstr, [], {\n shell: true,\n stdio: \"inherit\"\n });\n var _W_EXITCODE = (ret, sig) => ret << 8 | sig;\n if (ret.status === null) {\n var signalToNumber = sig => {\n switch (sig) {\n case \"SIGHUP\":\n return 1;\n case \"SIGQUIT\":\n return 3;\n case \"SIGFPE\":\n return 8;\n case \"SIGKILL\":\n return 9;\n case \"SIGALRM\":\n return 14;\n case \"SIGTERM\":\n return 15;\n default:\n return 2\n }\n };\n return _W_EXITCODE(0, signalToNumber(ret.signal))\n }\n return _W_EXITCODE(ret.status, 0)\n }\n if (!command) return 0;\n return -52\n }\n\n function __emscripten_thread_cleanup(thread) {\n thread >>>= 0;\n if (!ENVIRONMENT_IS_PTHREAD) cleanupThread(thread);\n else postMessage({\n cmd: \"cleanupThread\",\n thread\n })\n }\n\n function __emscripten_thread_set_strongref(thread) {\n thread >>>= 0;\n if (ENVIRONMENT_IS_NODE) {\n PThread.pthreads[thread].ref()\n }\n }\n\n function __emval_call_method() {\n abort(\"missing function: _emval_call_method\")\n }\n __emval_call_method.stub = true;\n\n function __emval_decref() {\n abort(\"missing function: _emval_decref\")\n }\n __emval_decref.stub = true;\n\n function __emval_get_global() {\n abort(\"missing function: _emval_get_global\")\n }\n __emval_get_global.stub = true;\n\n function __emval_get_method_caller() {\n abort(\"missing function: _emval_get_method_caller\")\n }\n __emval_get_method_caller.stub = true;\n\n function __emval_run_destructors() {\n abort(\"missing function: _emval_run_destructors\")\n }\n __emval_run_destructors.stub = true;\n\n function __gmtime_js(time_low, time_high, tmPtr) {\n var time = convertI32PairToI53Checked(time_low, time_high);\n tmPtr >>>= 0;\n var date = new Date(time * 1e3);\n GROWABLE_HEAP_I32()[tmPtr >>> 2 >>> 0] = date.getUTCSeconds();\n GROWABLE_HEAP_I32()[tmPtr + 4 >>> 2 >>> 0] = date.getUTCMinutes();\n GROWABLE_HEAP_I32()[tmPtr + 8 >>> 2 >>> 0] = date.getUTCHours();\n GROWABLE_HEAP_I32()[tmPtr + 12 >>> 2 >>> 0] = date.getUTCDate();\n GROWABLE_HEAP_I32()[tmPtr + 16 >>> 2 >>> 0] = date.getUTCMonth();\n GROWABLE_HEAP_I32()[tmPtr + 20 >>> 2 >>> 0] = date.getUTCFullYear() - 1900;\n GROWABLE_HEAP_I32()[tmPtr + 24 >>> 2 >>> 0] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;\n GROWABLE_HEAP_I32()[tmPtr + 28 >>> 2 >>> 0] = yday\n }\n var isLeapYear = year => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n var MONTH_DAYS_LEAP_CUMULATIVE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n var MONTH_DAYS_REGULAR_CUMULATIVE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\n var ydayFromDate = date => {\n var leap = isLeapYear(date.getFullYear());\n var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday\n };\n\n function __localtime_js(time_low, time_high, tmPtr) {\n var time = convertI32PairToI53Checked(time_low, time_high);\n tmPtr >>>= 0;\n var date = new Date(time * 1e3);\n GROWABLE_HEAP_I32()[tmPtr >>> 2 >>> 0] = date.getSeconds();\n GROWABLE_HEAP_I32()[tmPtr + 4 >>> 2 >>> 0] = date.getMinutes();\n GROWABLE_HEAP_I32()[tmPtr + 8 >>> 2 >>> 0] = date.getHours();\n GROWABLE_HEAP_I32()[tmPtr + 12 >>> 2 >>> 0] = date.getDate();\n GROWABLE_HEAP_I32()[tmPtr + 16 >>> 2 >>> 0] = date.getMonth();\n GROWABLE_HEAP_I32()[tmPtr + 20 >>> 2 >>> 0] = date.getFullYear() - 1900;\n GROWABLE_HEAP_I32()[tmPtr + 24 >>> 2 >>> 0] = date.getDay();\n var yday = ydayFromDate(date) | 0;\n GROWABLE_HEAP_I32()[tmPtr + 28 >>> 2 >>> 0] = yday;\n GROWABLE_HEAP_I32()[tmPtr + 36 >>> 2 >>> 0] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n GROWABLE_HEAP_I32()[tmPtr + 32 >>> 2 >>> 0] = dst\n }\n var setTempRet0 = val => __emscripten_tempret_set(val);\n var __mktime_js = function(tmPtr) {\n tmPtr >>>= 0;\n var ret = (() => {\n var date = new Date(GROWABLE_HEAP_I32()[tmPtr + 20 >>> 2 >>> 0] + 1900, GROWABLE_HEAP_I32()[tmPtr + 16 >>> 2 >>> 0], GROWABLE_HEAP_I32()[tmPtr + 12 >>> 2 >>> 0], GROWABLE_HEAP_I32()[tmPtr + 8 >>> 2 >>> 0], GROWABLE_HEAP_I32()[tmPtr + 4 >>> 2 >>> 0], GROWABLE_HEAP_I32()[tmPtr >>> 2 >>> 0], 0);\n var dst = GROWABLE_HEAP_I32()[tmPtr + 32 >>> 2 >>> 0];\n var guessedOffset = date.getTimezoneOffset();\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dstOffset = Math.min(winterOffset, summerOffset);\n if (dst < 0) {\n GROWABLE_HEAP_I32()[tmPtr + 32 >>> 2 >>> 0] = Number(summerOffset != winterOffset && dstOffset == guessedOffset)\n } else if (dst > 0 != (dstOffset == guessedOffset)) {\n var nonDstOffset = Math.max(winterOffset, summerOffset);\n var trueOffset = dst > 0 ? dstOffset : nonDstOffset;\n date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4)\n }\n GROWABLE_HEAP_I32()[tmPtr + 24 >>> 2 >>> 0] = date.getDay();\n var yday = ydayFromDate(date) | 0;\n GROWABLE_HEAP_I32()[tmPtr + 28 >>> 2 >>> 0] = yday;\n GROWABLE_HEAP_I32()[tmPtr >>> 2 >>> 0] = date.getSeconds();\n GROWABLE_HEAP_I32()[tmPtr + 4 >>> 2 >>> 0] = date.getMinutes();\n GROWABLE_HEAP_I32()[tmPtr + 8 >>> 2 >>> 0] = date.getHours();\n GROWABLE_HEAP_I32()[tmPtr + 12 >>> 2 >>> 0] = date.getDate();\n GROWABLE_HEAP_I32()[tmPtr + 16 >>> 2 >>> 0] = date.getMonth();\n GROWABLE_HEAP_I32()[tmPtr + 20 >>> 2 >>> 0] = date.getYear();\n var timeMs = date.getTime();\n if (isNaN(timeMs)) {\n return -1\n }\n return timeMs / 1e3\n })();\n return setTempRet0((tempDouble = ret, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)), ret >>> 0\n };\n var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {\n outIdx >>>= 0;\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++ >>> 0] = u\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++ >>> 0] = 192 | u >> 6;\n heap[outIdx++ >>> 0] = 128 | u & 63\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++ >>> 0] = 224 | u >> 12;\n heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;\n heap[outIdx++ >>> 0] = 128 | u & 63\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++ >>> 0] = 240 | u >> 18;\n heap[outIdx++ >>> 0] = 128 | u >> 12 & 63;\n heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;\n heap[outIdx++ >>> 0] = 128 | u & 63\n }\n }\n heap[outIdx >>> 0] = 0;\n return outIdx - startIdx\n };\n var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, GROWABLE_HEAP_U8(), outPtr, maxBytesToWrite);\n Module[\"stringToUTF8\"] = stringToUTF8;\n var __tzset_js = function(timezone, daylight, std_name, dst_name) {\n timezone >>>= 0;\n daylight >>>= 0;\n std_name >>>= 0;\n dst_name >>>= 0;\n var currentYear = (new Date).getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n GROWABLE_HEAP_U32()[timezone >>> 2 >>> 0] = stdTimezoneOffset * 60;\n GROWABLE_HEAP_I32()[daylight >>> 2 >>> 0] = Number(winterOffset != summerOffset);\n var extractZone = timezoneOffset => {\n var sign = timezoneOffset >= 0 ? \"-\" : \"+\";\n var absOffset = Math.abs(timezoneOffset);\n var hours = String(Math.floor(absOffset / 60)).padStart(2, \"0\");\n var minutes = String(absOffset % 60).padStart(2, \"0\");\n return `UTC${sign}${hours}${minutes}`\n };\n var winterName = extractZone(winterOffset);\n var summerName = extractZone(summerOffset);\n if (summerOffset < winterOffset) {\n stringToUTF8(winterName, std_name, 17);\n stringToUTF8(summerName, dst_name, 17)\n } else {\n stringToUTF8(winterName, dst_name, 17);\n stringToUTF8(summerName, std_name, 17)\n }\n };\n\n function __wasmfs_copy_preloaded_file_data(index, buffer) {\n buffer >>>= 0;\n return GROWABLE_HEAP_U8().set(wasmFSPreloadedFiles[index].fileData, buffer >>> 0)\n }\n var wasmFSPreloadedDirs = [];\n var __wasmfs_get_num_preloaded_dirs = () => wasmFSPreloadedDirs.length;\n var wasmFSPreloadedFiles = [];\n var wasmFSPreloadingFlushed = false;\n var __wasmfs_get_num_preloaded_files = () => {\n wasmFSPreloadingFlushed = true;\n return wasmFSPreloadedFiles.length\n };\n\n function __wasmfs_get_preloaded_child_path(index, childNameBuffer) {\n childNameBuffer >>>= 0;\n var s = wasmFSPreloadedDirs[index].childName;\n var len = lengthBytesUTF8(s) + 1;\n stringToUTF8(s, childNameBuffer, len)\n }\n var __wasmfs_get_preloaded_file_mode = index => wasmFSPreloadedFiles[index].mode;\n\n function __wasmfs_get_preloaded_file_size(index) {\n return wasmFSPreloadedFiles[index].fileData.length\n }\n\n function __wasmfs_get_preloaded_parent_path(index, parentPathBuffer) {\n parentPathBuffer >>>= 0;\n var s = wasmFSPreloadedDirs[index].parentPath;\n var len = lengthBytesUTF8(s) + 1;\n stringToUTF8(s, parentPathBuffer, len)\n }\n var lengthBytesUTF8 = str => {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++\n } else if (c <= 2047) {\n len += 2\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i\n } else {\n len += 3\n }\n }\n return len\n };\n Module[\"lengthBytesUTF8\"] = lengthBytesUTF8;\n\n function __wasmfs_get_preloaded_path_name(index, fileNameBuffer) {\n fileNameBuffer >>>= 0;\n var s = wasmFSPreloadedFiles[index].pathName;\n var len = lengthBytesUTF8(s) + 1;\n stringToUTF8(s, fileNameBuffer, len)\n }\n class HandleAllocator {\n allocated = [undefined];\n freelist = [];\n get(id) {\n return this.allocated[id]\n }\n has(id) {\n return this.allocated[id] !== undefined\n }\n allocate(handle) {\n var id = this.freelist.pop() || this.allocated.length;\n this.allocated[id] = handle;\n return id\n }\n free(id) {\n this.allocated[id] = undefined;\n this.freelist.push(id)\n }\n }\n var wasmfsOPFSAccessHandles = new HandleAllocator;\n var wasmfsOPFSProxyFinish = ctx => {\n _emscripten_proxy_finish(ctx)\n };\n async function __wasmfs_opfs_close_access(ctx, accessID, errPtr) {\n ctx >>>= 0;\n errPtr >>>= 0;\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n try {\n await accessHandle.close()\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSAccessHandles.free(accessID);\n wasmfsOPFSProxyFinish(ctx)\n }\n var wasmfsOPFSBlobs = new HandleAllocator;\n var __wasmfs_opfs_close_blob = blobID => {\n wasmfsOPFSBlobs.free(blobID)\n };\n async function __wasmfs_opfs_flush_access(ctx, accessID, errPtr) {\n ctx >>>= 0;\n errPtr >>>= 0;\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n try {\n await accessHandle.flush()\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n var wasmfsOPFSDirectoryHandles = new HandleAllocator;\n var __wasmfs_opfs_free_directory = dirID => {\n wasmfsOPFSDirectoryHandles.free(dirID)\n };\n var wasmfsOPFSFileHandles = new HandleAllocator;\n var __wasmfs_opfs_free_file = fileID => {\n wasmfsOPFSFileHandles.free(fileID)\n };\n async function wasmfsOPFSGetOrCreateFile(parent, name, create) {\n let parentHandle = wasmfsOPFSDirectoryHandles.get(parent);\n let fileHandle;\n try {\n fileHandle = await parentHandle.getFileHandle(name, {\n create\n })\n } catch (e) {\n if (e.name === \"NotFoundError\") {\n return -20\n }\n if (e.name === \"TypeMismatchError\") {\n return -31\n }\n return -29\n }\n return wasmfsOPFSFileHandles.allocate(fileHandle)\n }\n async function wasmfsOPFSGetOrCreateDir(parent, name, create) {\n let parentHandle = wasmfsOPFSDirectoryHandles.get(parent);\n let childHandle;\n try {\n childHandle = await parentHandle.getDirectoryHandle(name, {\n create\n })\n } catch (e) {\n if (e.name === \"NotFoundError\") {\n return -20\n }\n if (e.name === \"TypeMismatchError\") {\n return -54\n }\n return -29\n }\n return wasmfsOPFSDirectoryHandles.allocate(childHandle)\n }\n async function __wasmfs_opfs_get_child(ctx, parent, namePtr, childTypePtr, childIDPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n childTypePtr >>>= 0;\n childIDPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let childType = 1;\n let childID = await wasmfsOPFSGetOrCreateFile(parent, name, false);\n if (childID == -31) {\n childType = 2;\n childID = await wasmfsOPFSGetOrCreateDir(parent, name, false)\n }\n GROWABLE_HEAP_I32()[childTypePtr >>> 2 >>> 0] = childType;\n GROWABLE_HEAP_I32()[childIDPtr >>> 2 >>> 0] = childID;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_get_entries(ctx, dirID, entriesPtr, errPtr) {\n ctx >>>= 0;\n entriesPtr >>>= 0;\n errPtr >>>= 0;\n let dirHandle = wasmfsOPFSDirectoryHandles.get(dirID);\n try {\n let iter = dirHandle.entries();\n for (let entry; entry = await iter.next(), !entry.done;) {\n let [name, child] = entry.value;\n let sp = stackSave();\n let namePtr = stringToUTF8OnStack(name);\n let type = child.kind == \"file\" ? 1 : 2;\n __wasmfs_opfs_record_entry(entriesPtr, namePtr, type);\n stackRestore(sp)\n }\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_get_size_access(ctx, accessID, sizePtr) {\n ctx >>>= 0;\n sizePtr >>>= 0;\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n let size;\n try {\n size = await accessHandle.getSize()\n } catch {\n size = -29\n }\n tempI64 = [size >>> 0, (tempDouble = size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[sizePtr >>> 2 >>> 0] = tempI64[0], GROWABLE_HEAP_I32()[sizePtr + 4 >>> 2 >>> 0] = tempI64[1];\n wasmfsOPFSProxyFinish(ctx)\n }\n var __wasmfs_opfs_get_size_blob = function(blobID) {\n var ret = (() => wasmfsOPFSBlobs.get(blobID).size)();\n return setTempRet0((tempDouble = ret, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)), ret >>> 0\n };\n async function __wasmfs_opfs_get_size_file(ctx, fileID, sizePtr) {\n ctx >>>= 0;\n sizePtr >>>= 0;\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n let size;\n try {\n size = (await fileHandle.getFile()).size\n } catch {\n size = -29\n }\n tempI64 = [size >>> 0, (tempDouble = size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[sizePtr >>> 2 >>> 0] = tempI64[0], GROWABLE_HEAP_I32()[sizePtr + 4 >>> 2 >>> 0] = tempI64[1];\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_init_root_directory(ctx) {\n ctx >>>= 0;\n if (wasmfsOPFSDirectoryHandles.allocated.length == 1) {\n let root = await navigator.storage.getDirectory();\n wasmfsOPFSDirectoryHandles.allocated.push(root)\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_insert_directory(ctx, parent, namePtr, childIDPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n childIDPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let childID = await wasmfsOPFSGetOrCreateDir(parent, name, true);\n GROWABLE_HEAP_I32()[childIDPtr >>> 2 >>> 0] = childID;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_insert_file(ctx, parent, namePtr, childIDPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n childIDPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let childID = await wasmfsOPFSGetOrCreateFile(parent, name, true);\n GROWABLE_HEAP_I32()[childIDPtr >>> 2 >>> 0] = childID;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_move_file(ctx, fileID, newParentID, namePtr, errPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n errPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n let newDirHandle = wasmfsOPFSDirectoryHandles.get(newParentID);\n try {\n await fileHandle.move(newDirHandle, name)\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_open_access(ctx, fileID, accessIDPtr) {\n ctx >>>= 0;\n accessIDPtr >>>= 0;\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n let accessID;\n try {\n let accessHandle;\n var len = FileSystemFileHandle.prototype.createSyncAccessHandle.length;\n if (len == 0) {\n accessHandle = await fileHandle.createSyncAccessHandle()\n } else {\n accessHandle = await fileHandle.createSyncAccessHandle({\n mode: \"in-place\"\n })\n }\n accessID = wasmfsOPFSAccessHandles.allocate(accessHandle)\n } catch (e) {\n if (e.name === \"InvalidStateError\" || e.name === \"NoModificationAllowedError\") {\n accessID = -2\n } else {\n accessID = -29\n }\n }\n GROWABLE_HEAP_I32()[accessIDPtr >>> 2 >>> 0] = accessID;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_open_blob(ctx, fileID, blobIDPtr) {\n ctx >>>= 0;\n blobIDPtr >>>= 0;\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n let blobID;\n try {\n let blob = await fileHandle.getFile();\n blobID = wasmfsOPFSBlobs.allocate(blob)\n } catch (e) {\n if (e.name === \"NotAllowedError\") {\n blobID = -2\n } else {\n blobID = -29\n }\n }\n GROWABLE_HEAP_I32()[blobIDPtr >>> 2 >>> 0] = blobID;\n wasmfsOPFSProxyFinish(ctx)\n }\n\n function __wasmfs_opfs_read_access(accessID, bufPtr, len, pos_low, pos_high) {\n bufPtr >>>= 0;\n var pos = convertI32PairToI53Checked(pos_low, pos_high);\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n let data = GROWABLE_HEAP_U8().subarray(bufPtr >>> 0, bufPtr + len >>> 0);\n try {\n return accessHandle.read(data, {\n at: pos\n })\n } catch (e) {\n if (e.name == \"TypeError\") {\n return -28\n }\n return -29\n }\n }\n async function __wasmfs_opfs_read_blob(ctx, blobID, bufPtr, len, pos_low, pos_high, nreadPtr) {\n ctx >>>= 0;\n bufPtr >>>= 0;\n var pos = convertI32PairToI53Checked(pos_low, pos_high);\n nreadPtr >>>= 0;\n let blob = wasmfsOPFSBlobs.get(blobID);\n let slice = blob.slice(pos, pos + len);\n let nread = 0;\n try {\n let buf = await slice.arrayBuffer();\n let data = new Uint8Array(buf);\n GROWABLE_HEAP_U8().set(data, bufPtr >>> 0);\n nread += data.length\n } catch (e) {\n if (e instanceof RangeError) {\n nread = -21\n } else {\n nread = -29\n }\n }\n GROWABLE_HEAP_I32()[nreadPtr >>> 2 >>> 0] = nread;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_remove_child(ctx, dirID, namePtr, errPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n errPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let dirHandle = wasmfsOPFSDirectoryHandles.get(dirID);\n try {\n await dirHandle.removeEntry(name)\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_set_size_access(ctx, accessID, size_low, size_high, errPtr) {\n ctx >>>= 0;\n var size = convertI32PairToI53Checked(size_low, size_high);\n errPtr >>>= 0;\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n try {\n await accessHandle.truncate(size)\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_set_size_file(ctx, fileID, size_low, size_high, errPtr) {\n ctx >>>= 0;\n var size = convertI32PairToI53Checked(size_low, size_high);\n errPtr >>>= 0;\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n try {\n let writable = await fileHandle.createWritable({\n keepExistingData: true\n });\n await writable.truncate(size);\n await writable.close()\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n\n function __wasmfs_opfs_write_access(accessID, bufPtr, len, pos_low, pos_high) {\n bufPtr >>>= 0;\n var pos = convertI32PairToI53Checked(pos_low, pos_high);\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n let data = GROWABLE_HEAP_U8().subarray(bufPtr >>> 0, bufPtr + len >>> 0);\n try {\n return accessHandle.write(data, {\n at: pos\n })\n } catch (e) {\n if (e.name == \"TypeError\") {\n return -28\n }\n return -29\n }\n }\n var FS_stdin_getChar_buffer = [];\n var intArrayFromString = (stringy, dontAddNull, length) => {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array\n };\n var FS_stdin_getChar = () => {\n if (!FS_stdin_getChar_buffer.length) {\n var result = null;\n if (ENVIRONMENT_IS_NODE) {\n var BUFSIZE = 256;\n var buf = Buffer.alloc(BUFSIZE);\n var bytesRead = 0;\n var fd = process.stdin.fd;\n try {\n bytesRead = fs.readSync(fd, buf, 0, BUFSIZE)\n } catch (e) {\n if (e.toString().includes(\"EOF\")) bytesRead = 0;\n else throw e\n }\n if (bytesRead > 0) {\n result = buf.slice(0, bytesRead).toString(\"utf-8\")\n }\n } else if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\"\n }\n } else {}\n if (!result) {\n return null\n }\n FS_stdin_getChar_buffer = intArrayFromString(result, true)\n }\n return FS_stdin_getChar_buffer.shift()\n };\n var __wasmfs_stdin_get_char = () => {\n var c = FS_stdin_getChar();\n if (typeof c === \"number\") {\n return c\n }\n return -1\n };\n var __wasmfs_thread_utils_heartbeat = function(queue) {\n queue >>>= 0;\n var intervalID = setInterval(() => {\n if (ABORT) {\n clearInterval(intervalID)\n } else {\n _emscripten_proxy_execute_queue(queue)\n }\n }, 50)\n };\n var _emscripten_get_now = () => performance.timeOrigin + performance.now();\n var _emscripten_date_now = () => Date.now();\n var nowIsMonotonic = 1;\n var checkWasiClock = clock_id => clock_id >= 0 && clock_id <= 3;\n\n function _clock_time_get(clk_id, ignored_precision_low, ignored_precision_high, ptime) {\n var ignored_precision = convertI32PairToI53Checked(ignored_precision_low, ignored_precision_high);\n ptime >>>= 0;\n if (!checkWasiClock(clk_id)) {\n return 28\n }\n var now;\n if (clk_id === 0) {\n now = _emscripten_date_now()\n } else if (nowIsMonotonic) {\n now = _emscripten_get_now()\n } else {\n return 52\n }\n var nsec = Math.round(now * 1e3 * 1e3);\n tempI64 = [nsec >>> 0, (tempDouble = nsec, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[ptime >>> 2 >>> 0] = tempI64[0], GROWABLE_HEAP_I32()[ptime + 4 >>> 2 >>> 0] = tempI64[1];\n return 0\n }\n\n function _duckdb_web_fs_directory_create(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.createDirectory(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_directory_exists(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.checkDirectory(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_directory_list_files(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_directory_remove(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.removeDirectory(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_file_close(fileId) {\n return globalThis.DUCKDB_RUNTIME.closeFile(Module, fileId)\n }\n\n function _duckdb_web_fs_file_drop_file(fileName, fileNameLen) {\n fileName >>>= 0;\n return globalThis.DUCKDB_RUNTIME.dropFile(Module, fileName, fileNameLen)\n }\n\n function _duckdb_web_fs_file_exists(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.checkFile(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_file_move(from, fromLen, to, toLen) {\n from >>>= 0;\n to >>>= 0;\n return globalThis.DUCKDB_RUNTIME.moveFile(Module, from, fromLen, to, toLen)\n }\n\n function _duckdb_web_fs_file_open(fileId, flags) {\n return globalThis.DUCKDB_RUNTIME.openFile(Module, fileId, flags)\n }\n\n function _duckdb_web_fs_file_read(fileId, buf, size, location) {\n buf >>>= 0;\n return globalThis.DUCKDB_RUNTIME.readFile(Module, fileId, buf, size, location)\n }\n\n function _duckdb_web_fs_file_truncate(fileId, newSize) {\n return globalThis.DUCKDB_RUNTIME.truncateFile(Module, fileId, newSize)\n }\n\n function _duckdb_web_fs_file_write(fileId, buf, size, location) {\n buf >>>= 0;\n return globalThis.DUCKDB_RUNTIME.writeFile(Module, fileId, buf, size, location)\n }\n\n function _duckdb_web_fs_get_default_data_protocol(Module) {\n return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(Module)\n }\n\n function _duckdb_web_fs_glob(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.glob(Module, path, pathLen)\n }\n\n function _duckdb_web_test_platform_feature(feature) {\n return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module, feature)\n }\n\n function _duckdb_web_udf_scalar_call(funcId, descPtr, descSize, ptrsPtr, ptrsSize, response) {\n funcId >>>= 0;\n descSize >>>= 0;\n ptrsSize >>>= 0;\n return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module, funcId, descPtr, descSize, ptrsPtr, ptrsSize, response)\n }\n var readEmAsmArgsArray = [];\n var readEmAsmArgs = (sigPtr, buf) => {\n readEmAsmArgsArray.length = 0;\n var ch;\n while (ch = GROWABLE_HEAP_U8()[sigPtr++ >>> 0]) {\n var wide = ch != 105;\n wide &= ch != 112;\n buf += wide && buf % 8 ? 4 : 0;\n readEmAsmArgsArray.push(ch == 112 ? GROWABLE_HEAP_U32()[buf >>> 2 >>> 0] : ch == 105 ? GROWABLE_HEAP_I32()[buf >>> 2 >>> 0] : GROWABLE_HEAP_F64()[buf >>> 3 >>> 0]);\n buf += wide ? 8 : 4\n }\n return readEmAsmArgsArray\n };\n var runEmAsmFunction = (code, sigPtr, argbuf) => {\n var args = readEmAsmArgs(sigPtr, argbuf);\n return ASM_CONSTS[code](...args)\n };\n\n function _emscripten_asm_const_ptr(code, sigPtr, argbuf) {\n code >>>= 0;\n sigPtr >>>= 0;\n argbuf >>>= 0;\n return runEmAsmFunction(code, sigPtr, argbuf)\n }\n var warnOnce = text => {\n warnOnce.shown ||= {};\n if (!warnOnce.shown[text]) {\n warnOnce.shown[text] = 1;\n if (ENVIRONMENT_IS_NODE) text = \"warning: \" + text;\n err(text)\n }\n };\n var _emscripten_check_blocking_allowed = () => {};\n\n function _emscripten_err(str) {\n str >>>= 0;\n return err(UTF8ToString(str))\n }\n var runtimeKeepalivePush = () => {\n runtimeKeepaliveCounter += 1\n };\n var _emscripten_exit_with_live_runtime = () => {\n runtimeKeepalivePush();\n throw \"unwind\"\n };\n var getHeapMax = () => 4294901760;\n\n function _emscripten_get_heap_max() {\n return getHeapMax()\n }\n var _emscripten_num_logical_cores = () => ENVIRONMENT_IS_NODE ? require(\"os\").cpus().length : navigator[\"hardwareConcurrency\"];\n\n function _emscripten_out(str) {\n str >>>= 0;\n return out(UTF8ToString(str))\n }\n var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;\n var growMemory = size => {\n var b = wasmMemory.buffer;\n var pages = (size - b.byteLength + 65535) / 65536 | 0;\n try {\n wasmMemory.grow(pages);\n updateMemoryViews();\n return 1\n } catch (e) {}\n };\n\n function _emscripten_resize_heap(requestedSize) {\n requestedSize >>>= 0;\n var oldSize = GROWABLE_HEAP_U8().length;\n if (requestedSize <= oldSize) {\n return false\n }\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false\n }\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = growMemory(newSize);\n if (replacement) {\n return true\n }\n }\n return false\n }\n var _emscripten_unwind_to_js_event_loop = () => {\n throw \"unwind\"\n };\n var ENV = {};\n var getExecutableName = () => thisProgram || \"./this.program\";\n var getEnvStrings = () => {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n USER: \"web_user\",\n LOGNAME: \"web_user\",\n PATH: \"/\",\n PWD: \"/\",\n HOME: \"/home/web_user\",\n LANG: lang,\n _: getExecutableName()\n };\n for (var x in ENV) {\n if (ENV[x] === undefined) delete env[x];\n else env[x] = ENV[x]\n }\n var strings = [];\n for (var x in env) {\n strings.push(`${x}=${env[x]}`)\n }\n getEnvStrings.strings = strings\n }\n return getEnvStrings.strings\n };\n var stringToAscii = (str, buffer) => {\n for (var i = 0; i < str.length; ++i) {\n GROWABLE_HEAP_I8()[buffer++ >>> 0] = str.charCodeAt(i)\n }\n GROWABLE_HEAP_I8()[buffer >>> 0] = 0\n };\n var _environ_get = function(__environ, environ_buf) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(3, 0, 1, __environ, environ_buf);\n __environ >>>= 0;\n environ_buf >>>= 0;\n var bufSize = 0;\n getEnvStrings().forEach((string, i) => {\n var ptr = environ_buf + bufSize;\n GROWABLE_HEAP_U32()[__environ + i * 4 >>> 2 >>> 0] = ptr;\n stringToAscii(string, ptr);\n bufSize += string.length + 1\n });\n return 0\n };\n var _environ_sizes_get = function(penviron_count, penviron_buf_size) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(4, 0, 1, penviron_count, penviron_buf_size);\n penviron_count >>>= 0;\n penviron_buf_size >>>= 0;\n var strings = getEnvStrings();\n GROWABLE_HEAP_U32()[penviron_count >>> 2 >>> 0] = strings.length;\n var bufSize = 0;\n strings.forEach(string => bufSize += string.length + 1);\n GROWABLE_HEAP_U32()[penviron_buf_size >>> 2 >>> 0] = bufSize;\n return 0\n };\n var inetPton4 = str => {\n var b = str.split(\".\");\n for (var i = 0; i < 4; i++) {\n var tmp = Number(b[i]);\n if (isNaN(tmp)) return null;\n b[i] = tmp\n }\n return (b[0] | b[1] << 8 | b[2] << 16 | b[3] << 24) >>> 0\n };\n var jstoi_q = str => parseInt(str);\n var inetPton6 = str => {\n var words;\n var w, offset, z;\n var valid6regx = /^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;\n var parts = [];\n if (!valid6regx.test(str)) {\n return null\n }\n if (str === \"::\") {\n return [0, 0, 0, 0, 0, 0, 0, 0]\n }\n if (str.startsWith(\"::\")) {\n str = str.replace(\"::\", \"Z:\")\n } else {\n str = str.replace(\"::\", \":Z:\")\n }\n if (str.indexOf(\".\") > 0) {\n str = str.replace(new RegExp(\"[.]\", \"g\"), \":\");\n words = str.split(\":\");\n words[words.length - 4] = jstoi_q(words[words.length - 4]) + jstoi_q(words[words.length - 3]) * 256;\n words[words.length - 3] = jstoi_q(words[words.length - 2]) + jstoi_q(words[words.length - 1]) * 256;\n words = words.slice(0, words.length - 2)\n } else {\n words = str.split(\":\")\n }\n offset = 0;\n z = 0;\n for (w = 0; w < words.length; w++) {\n if (typeof words[w] == \"string\") {\n if (words[w] === \"Z\") {\n for (z = 0; z < 8 - words.length + 1; z++) {\n parts[w + z] = 0\n }\n offset = z - 1\n } else {\n parts[w + offset] = _htons(parseInt(words[w], 16))\n }\n } else {\n parts[w + offset] = words[w]\n }\n }\n return [parts[1] << 16 | parts[0], parts[3] << 16 | parts[2], parts[5] << 16 | parts[4], parts[7] << 16 | parts[6]]\n };\n var DNS = {\n address_map: {\n id: 1,\n addrs: {},\n names: {}\n },\n lookup_name(name) {\n var res = inetPton4(name);\n if (res !== null) {\n return name\n }\n res = inetPton6(name);\n if (res !== null) {\n return name\n }\n var addr;\n if (DNS.address_map.addrs[name]) {\n addr = DNS.address_map.addrs[name]\n } else {\n var id = DNS.address_map.id++;\n assert(id < 65535, \"exceeded max address mappings of 65535\");\n addr = \"172.29.\" + (id & 255) + \".\" + (id & 65280);\n DNS.address_map.names[addr] = name;\n DNS.address_map.addrs[name] = addr\n }\n return addr\n },\n lookup_addr(addr) {\n if (DNS.address_map.names[addr]) {\n return DNS.address_map.names[addr]\n }\n return null\n }\n };\n var inetNtop4 = addr => (addr & 255) + \".\" + (addr >> 8 & 255) + \".\" + (addr >> 16 & 255) + \".\" + (addr >> 24 & 255);\n var inetNtop6 = ints => {\n var str = \"\";\n var word = 0;\n var longest = 0;\n var lastzero = 0;\n var zstart = 0;\n var len = 0;\n var i = 0;\n var parts = [ints[0] & 65535, ints[0] >> 16, ints[1] & 65535, ints[1] >> 16, ints[2] & 65535, ints[2] >> 16, ints[3] & 65535, ints[3] >> 16];\n var hasipv4 = true;\n var v4part = \"\";\n for (i = 0; i < 5; i++) {\n if (parts[i] !== 0) {\n hasipv4 = false;\n break\n }\n }\n if (hasipv4) {\n v4part = inetNtop4(parts[6] | parts[7] << 16);\n if (parts[5] === -1) {\n str = \"::ffff:\";\n str += v4part;\n return str\n }\n if (parts[5] === 0) {\n str = \"::\";\n if (v4part === \"0.0.0.0\") v4part = \"\";\n if (v4part === \"0.0.0.1\") v4part = \"1\";\n str += v4part;\n return str\n }\n }\n for (word = 0; word < 8; word++) {\n if (parts[word] === 0) {\n if (word - lastzero > 1) {\n len = 0\n }\n lastzero = word;\n len++\n }\n if (len > longest) {\n longest = len;\n zstart = word - longest + 1\n }\n }\n for (word = 0; word < 8; word++) {\n if (longest > 1) {\n if (parts[word] === 0 && word >= zstart && word < zstart + longest) {\n if (word === zstart) {\n str += \":\";\n if (zstart === 0) str += \":\"\n }\n continue\n }\n }\n str += Number(_ntohs(parts[word] & 65535)).toString(16);\n str += word < 7 ? \":\" : \"\"\n }\n return str\n };\n var zeroMemory = (address, size) => {\n GROWABLE_HEAP_U8().fill(0, address, address + size)\n };\n var writeSockaddr = (sa, family, addr, port, addrlen) => {\n switch (family) {\n case 2:\n addr = inetPton4(addr);\n zeroMemory(sa, 16);\n if (addrlen) {\n GROWABLE_HEAP_I32()[addrlen >>> 2 >>> 0] = 16\n }\n GROWABLE_HEAP_I16()[sa >>> 1 >>> 0] = family;\n GROWABLE_HEAP_I32()[sa + 4 >>> 2 >>> 0] = addr;\n GROWABLE_HEAP_I16()[sa + 2 >>> 1 >>> 0] = _htons(port);\n break;\n case 10:\n addr = inetPton6(addr);\n zeroMemory(sa, 28);\n if (addrlen) {\n GROWABLE_HEAP_I32()[addrlen >>> 2 >>> 0] = 28\n }\n GROWABLE_HEAP_I32()[sa >>> 2 >>> 0] = family;\n GROWABLE_HEAP_I32()[sa + 8 >>> 2 >>> 0] = addr[0];\n GROWABLE_HEAP_I32()[sa + 12 >>> 2 >>> 0] = addr[1];\n GROWABLE_HEAP_I32()[sa + 16 >>> 2 >>> 0] = addr[2];\n GROWABLE_HEAP_I32()[sa + 20 >>> 2 >>> 0] = addr[3];\n GROWABLE_HEAP_I16()[sa + 2 >>> 1 >>> 0] = _htons(port);\n break;\n default:\n return 5\n }\n return 0\n };\n\n function _getaddrinfo(node, service, hint, out) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(5, 0, 1, node, service, hint, out);\n node >>>= 0;\n service >>>= 0;\n hint >>>= 0;\n out >>>= 0;\n var addr = 0;\n var port = 0;\n var flags = 0;\n var family = 0;\n var type = 0;\n var proto = 0;\n var ai;\n\n function allocaddrinfo(family, type, proto, canon, addr, port) {\n var sa, salen, ai;\n var errno;\n salen = family === 10 ? 28 : 16;\n addr = family === 10 ? inetNtop6(addr) : inetNtop4(addr);\n sa = _malloc(salen);\n errno = writeSockaddr(sa, family, addr, port);\n assert(!errno);\n ai = _malloc(32);\n GROWABLE_HEAP_I32()[ai + 4 >>> 2 >>> 0] = family;\n GROWABLE_HEAP_I32()[ai + 8 >>> 2 >>> 0] = type;\n GROWABLE_HEAP_I32()[ai + 12 >>> 2 >>> 0] = proto;\n GROWABLE_HEAP_U32()[ai + 24 >>> 2 >>> 0] = canon;\n GROWABLE_HEAP_U32()[ai + 20 >>> 2 >>> 0] = sa;\n if (family === 10) {\n GROWABLE_HEAP_I32()[ai + 16 >>> 2 >>> 0] = 28\n } else {\n GROWABLE_HEAP_I32()[ai + 16 >>> 2 >>> 0] = 16\n }\n GROWABLE_HEAP_I32()[ai + 28 >>> 2 >>> 0] = 0;\n return ai\n }\n if (hint) {\n flags = GROWABLE_HEAP_I32()[hint >>> 2 >>> 0];\n family = GROWABLE_HEAP_I32()[hint + 4 >>> 2 >>> 0];\n type = GROWABLE_HEAP_I32()[hint + 8 >>> 2 >>> 0];\n proto = GROWABLE_HEAP_I32()[hint + 12 >>> 2 >>> 0]\n }\n if (type && !proto) {\n proto = type === 2 ? 17 : 6\n }\n if (!type && proto) {\n type = proto === 17 ? 2 : 1\n }\n if (proto === 0) {\n proto = 6\n }\n if (type === 0) {\n type = 1\n }\n if (!node && !service) {\n return -2\n }\n if (flags & ~(1 | 2 | 4 | 1024 | 8 | 16 | 32)) {\n return -1\n }\n if (hint !== 0 && GROWABLE_HEAP_I32()[hint >>> 2 >>> 0] & 2 && !node) {\n return -1\n }\n if (flags & 32) {\n return -2\n }\n if (type !== 0 && type !== 1 && type !== 2) {\n return -7\n }\n if (family !== 0 && family !== 2 && family !== 10) {\n return -6\n }\n if (service) {\n service = UTF8ToString(service);\n port = parseInt(service, 10);\n if (isNaN(port)) {\n if (flags & 1024) {\n return -2\n }\n return -8\n }\n }\n if (!node) {\n if (family === 0) {\n family = 2\n }\n if ((flags & 1) === 0) {\n if (family === 2) {\n addr = _htonl(2130706433)\n } else {\n addr = [0, 0, 0, _htonl(1)]\n }\n }\n ai = allocaddrinfo(family, type, proto, null, addr, port);\n GROWABLE_HEAP_U32()[out >>> 2 >>> 0] = ai;\n return 0\n }\n node = UTF8ToString(node);\n addr = inetPton4(node);\n if (addr !== null) {\n if (family === 0 || family === 2) {\n family = 2\n } else if (family === 10 && flags & 8) {\n addr = [0, 0, _htonl(65535), addr];\n family = 10\n } else {\n return -2\n }\n } else {\n addr = inetPton6(node);\n if (addr !== null) {\n if (family === 0 || family === 10) {\n family = 10\n } else {\n return -2\n }\n }\n }\n if (addr != null) {\n ai = allocaddrinfo(family, type, proto, node, addr, port);\n GROWABLE_HEAP_U32()[out >>> 2 >>> 0] = ai;\n return 0\n }\n if (flags & 4) {\n return -2\n }\n node = DNS.lookup_name(node);\n addr = inetPton4(node);\n if (family === 0) {\n family = 2\n } else if (family === 10) {\n addr = [0, 0, _htonl(65535), addr]\n }\n ai = allocaddrinfo(family, type, proto, null, addr, port);\n GROWABLE_HEAP_U32()[out >>> 2 >>> 0] = ai;\n return 0\n }\n var initRandomFill = () => {\n if (ENVIRONMENT_IS_NODE) {\n var nodeCrypto = [\"crypto\"].map(require).pop();\n return view => nodeCrypto.randomFillSync(view)\n }\n return view => view.set(crypto.getRandomValues(new Uint8Array(view.byteLength)))\n };\n var randomFill = view => {\n (randomFill = initRandomFill())(view)\n };\n\n function _random_get(buffer, size) {\n buffer >>>= 0;\n size >>>= 0;\n randomFill(GROWABLE_HEAP_U8().subarray(buffer >>> 0, buffer + size >>> 0));\n return 0\n }\n var getCFunc = ident => {\n var func = Module[\"_\" + ident];\n return func\n };\n var writeArrayToMemory = (array, buffer) => {\n GROWABLE_HEAP_I8().set(array, buffer >>> 0)\n };\n var stringToUTF8OnStack = str => {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8(str, ret, size);\n return ret\n };\n var ccall = (ident, returnType, argTypes, args, opts) => {\n var toC = {\n string: str => {\n var ret = 0;\n if (str !== null && str !== undefined && str !== 0) {\n ret = stringToUTF8OnStack(str)\n }\n return ret\n },\n array: arr => {\n var ret = stackAlloc(arr.length);\n writeArrayToMemory(arr, ret);\n return ret\n }\n };\n\n function convertReturnValue(ret) {\n if (returnType === \"string\") {\n return UTF8ToString(ret)\n }\n if (returnType === \"boolean\") return Boolean(ret);\n return ret\n }\n var func = getCFunc(ident);\n var cArgs = [];\n var stack = 0;\n if (args) {\n for (var i = 0; i < args.length; i++) {\n var converter = toC[argTypes[i]];\n if (converter) {\n if (stack === 0) stack = stackSave();\n cArgs[i] = converter(args[i])\n } else {\n cArgs[i] = args[i]\n }\n }\n }\n var ret = func(...cArgs);\n\n function onDone(ret) {\n if (stack !== 0) stackRestore(stack);\n return convertReturnValue(ret)\n }\n ret = onDone(ret);\n return ret\n };\n var getTempRet0 = val => __emscripten_tempret_get();\n PThread.init();\n var proxiedFunctionTable = [_proc_exit, exitOnMainThread, pthreadCreateProxied, _environ_get, _environ_sizes_get, _getaddrinfo];\n var wasmImports;\n\n function assignWasmImports() {\n wasmImports = {\n ka: ___call_sighandler,\n pa: ___pthread_create_js,\n q: __abort_js,\n ha: __emscripten_init_main_thread_js,\n Ga: __emscripten_notify_mailbox_postmessage,\n oa: __emscripten_receive_on_main_thread_js,\n n: __emscripten_runtime_keepalive_clear,\n G: __emscripten_system,\n p: __emscripten_thread_cleanup,\n Z: __emscripten_thread_mailbox_await,\n Q: __emscripten_thread_set_strongref,\n D: __emval_call_method,\n i: __emval_decref,\n F: __emval_get_global,\n E: __emval_get_method_caller,\n C: __emval_run_destructors,\n y: __gmtime_js,\n z: __localtime_js,\n A: __mktime_js,\n qa: __tzset_js,\n za: __wasmfs_copy_preloaded_file_data,\n xa: __wasmfs_get_num_preloaded_dirs,\n ya: __wasmfs_get_num_preloaded_files,\n va: __wasmfs_get_preloaded_child_path,\n ta: __wasmfs_get_preloaded_file_mode,\n Aa: __wasmfs_get_preloaded_file_size,\n wa: __wasmfs_get_preloaded_parent_path,\n ua: __wasmfs_get_preloaded_path_name,\n P: __wasmfs_opfs_close_access,\n R: __wasmfs_opfs_close_blob,\n O: __wasmfs_opfs_flush_access,\n H: __wasmfs_opfs_free_directory,\n N: __wasmfs_opfs_free_file,\n V: __wasmfs_opfs_get_child,\n I: __wasmfs_opfs_get_entries,\n T: __wasmfs_opfs_get_size_access,\n w: __wasmfs_opfs_get_size_blob,\n U: __wasmfs_opfs_get_size_file,\n W: __wasmfs_opfs_init_root_directory,\n L: __wasmfs_opfs_insert_directory,\n M: __wasmfs_opfs_insert_file,\n K: __wasmfs_opfs_move_file,\n k: __wasmfs_opfs_open_access,\n S: __wasmfs_opfs_open_blob,\n v: __wasmfs_opfs_read_access,\n u: __wasmfs_opfs_read_blob,\n J: __wasmfs_opfs_remove_child,\n s: __wasmfs_opfs_set_size_access,\n r: __wasmfs_opfs_set_size_file,\n t: __wasmfs_opfs_write_access,\n Da: __wasmfs_stdin_get_char,\n X: __wasmfs_thread_utils_heartbeat,\n B: _clock_time_get,\n ca: _duckdb_web_fs_directory_create,\n da: _duckdb_web_fs_directory_exists,\n aa: _duckdb_web_fs_directory_list_files,\n ba: _duckdb_web_fs_directory_remove,\n m: _duckdb_web_fs_file_close,\n ga: _duckdb_web_fs_file_drop_file,\n _: _duckdb_web_fs_file_exists,\n $: _duckdb_web_fs_file_move,\n fa: _duckdb_web_fs_file_open,\n f: _duckdb_web_fs_file_read,\n ea: _duckdb_web_fs_file_truncate,\n g: _duckdb_web_fs_file_write,\n ia: _duckdb_web_fs_get_default_data_protocol,\n Y: _duckdb_web_fs_glob,\n l: _duckdb_web_test_platform_feature,\n ja: _duckdb_web_udf_scalar_call,\n e: _emscripten_asm_const_ptr,\n o: _emscripten_check_blocking_allowed,\n b: _emscripten_date_now,\n h: _emscripten_err,\n j: _emscripten_exit_with_live_runtime,\n Ea: _emscripten_get_heap_max,\n d: _emscripten_get_now,\n Fa: _emscripten_num_logical_cores,\n Ca: _emscripten_out,\n x: _emscripten_resize_heap,\n na: _emscripten_unwind_to_js_event_loop,\n ra: _environ_get,\n sa: _environ_sizes_get,\n c: _exit,\n ma: _getaddrinfo,\n a: wasmMemory,\n la: _proc_exit,\n Ba: _random_get\n }\n }\n var wasmExports = await createWasm();\n var _main = Module[\"_main\"] = (a0, a1) => (_main = Module[\"_main\"] = wasmExports[\"Ia\"])(a0, a1);\n var _duckdb_web_fs_glob_add_path = Module[\"_duckdb_web_fs_glob_add_path\"] = a0 => (_duckdb_web_fs_glob_add_path = Module[\"_duckdb_web_fs_glob_add_path\"] = wasmExports[\"Ka\"])(a0);\n var _duckdb_web_clear_response = Module[\"_duckdb_web_clear_response\"] = () => (_duckdb_web_clear_response = Module[\"_duckdb_web_clear_response\"] = wasmExports[\"La\"])();\n var _duckdb_web_fail_with = Module[\"_duckdb_web_fail_with\"] = a0 => (_duckdb_web_fail_with = Module[\"_duckdb_web_fail_with\"] = wasmExports[\"Ma\"])(a0);\n var _duckdb_web_reset = Module[\"_duckdb_web_reset\"] = a0 => (_duckdb_web_reset = Module[\"_duckdb_web_reset\"] = wasmExports[\"Na\"])(a0);\n var _duckdb_web_connect = Module[\"_duckdb_web_connect\"] = () => (_duckdb_web_connect = Module[\"_duckdb_web_connect\"] = wasmExports[\"Oa\"])();\n var _duckdb_web_disconnect = Module[\"_duckdb_web_disconnect\"] = a0 => (_duckdb_web_disconnect = Module[\"_duckdb_web_disconnect\"] = wasmExports[\"Pa\"])(a0);\n var _duckdb_web_flush_files = Module[\"_duckdb_web_flush_files\"] = () => (_duckdb_web_flush_files = Module[\"_duckdb_web_flush_files\"] = wasmExports[\"Qa\"])();\n var _duckdb_web_flush_file = Module[\"_duckdb_web_flush_file\"] = a0 => (_duckdb_web_flush_file = Module[\"_duckdb_web_flush_file\"] = wasmExports[\"Ra\"])(a0);\n var _duckdb_web_open = Module[\"_duckdb_web_open\"] = (a0, a1) => (_duckdb_web_open = Module[\"_duckdb_web_open\"] = wasmExports[\"Sa\"])(a0, a1);\n var _duckdb_web_get_global_file_info = Module[\"_duckdb_web_get_global_file_info\"] = (a0, a1) => (_duckdb_web_get_global_file_info = Module[\"_duckdb_web_get_global_file_info\"] = wasmExports[\"Ta\"])(a0, a1);\n var _duckdb_web_collect_file_stats = Module[\"_duckdb_web_collect_file_stats\"] = (a0, a1, a2) => (_duckdb_web_collect_file_stats = Module[\"_duckdb_web_collect_file_stats\"] = wasmExports[\"Ua\"])(a0, a1, a2);\n var _duckdb_web_export_file_stats = Module[\"_duckdb_web_export_file_stats\"] = (a0, a1) => (_duckdb_web_export_file_stats = Module[\"_duckdb_web_export_file_stats\"] = wasmExports[\"Va\"])(a0, a1);\n var _duckdb_web_fs_drop_file = Module[\"_duckdb_web_fs_drop_file\"] = (a0, a1) => (_duckdb_web_fs_drop_file = Module[\"_duckdb_web_fs_drop_file\"] = wasmExports[\"Wa\"])(a0, a1);\n var _duckdb_web_fs_drop_files = Module[\"_duckdb_web_fs_drop_files\"] = (a0, a1, a2) => (_duckdb_web_fs_drop_files = Module[\"_duckdb_web_fs_drop_files\"] = wasmExports[\"Xa\"])(a0, a1, a2);\n var _duckdb_web_fs_glob_file_infos = Module[\"_duckdb_web_fs_glob_file_infos\"] = (a0, a1) => (_duckdb_web_fs_glob_file_infos = Module[\"_duckdb_web_fs_glob_file_infos\"] = wasmExports[\"Ya\"])(a0, a1);\n var _duckdb_web_fs_get_file_info_by_id = Module[\"_duckdb_web_fs_get_file_info_by_id\"] = (a0, a1, a2) => (_duckdb_web_fs_get_file_info_by_id = Module[\"_duckdb_web_fs_get_file_info_by_id\"] = wasmExports[\"Za\"])(a0, a1, a2);\n var _duckdb_web_fs_get_file_info_by_name = Module[\"_duckdb_web_fs_get_file_info_by_name\"] = (a0, a1, a2) => (_duckdb_web_fs_get_file_info_by_name = Module[\"_duckdb_web_fs_get_file_info_by_name\"] = wasmExports[\"_a\"])(a0, a1, a2);\n var _duckdb_web_fs_register_file_url = Module[\"_duckdb_web_fs_register_file_url\"] = (a0, a1, a2, a3, a4) => (_duckdb_web_fs_register_file_url = Module[\"_duckdb_web_fs_register_file_url\"] = wasmExports[\"$a\"])(a0, a1, a2, a3, a4);\n var _duckdb_web_fs_register_file_buffer = Module[\"_duckdb_web_fs_register_file_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_fs_register_file_buffer = Module[\"_duckdb_web_fs_register_file_buffer\"] = wasmExports[\"ab\"])(a0, a1, a2, a3);\n var _duckdb_web_copy_file_to_buffer = Module[\"_duckdb_web_copy_file_to_buffer\"] = (a0, a1) => (_duckdb_web_copy_file_to_buffer = Module[\"_duckdb_web_copy_file_to_buffer\"] = wasmExports[\"bb\"])(a0, a1);\n var _duckdb_web_copy_file_to_path = Module[\"_duckdb_web_copy_file_to_path\"] = (a0, a1, a2) => (_duckdb_web_copy_file_to_path = Module[\"_duckdb_web_copy_file_to_path\"] = wasmExports[\"cb\"])(a0, a1, a2);\n var _duckdb_web_get_version = Module[\"_duckdb_web_get_version\"] = a0 => (_duckdb_web_get_version = Module[\"_duckdb_web_get_version\"] = wasmExports[\"db\"])(a0);\n var _duckdb_web_get_feature_flags = Module[\"_duckdb_web_get_feature_flags\"] = () => (_duckdb_web_get_feature_flags = Module[\"_duckdb_web_get_feature_flags\"] = wasmExports[\"eb\"])();\n var _duckdb_web_tokenize = Module[\"_duckdb_web_tokenize\"] = (a0, a1) => (_duckdb_web_tokenize = Module[\"_duckdb_web_tokenize\"] = wasmExports[\"fb\"])(a0, a1);\n var _duckdb_web_tokenize_buffer = Module[\"_duckdb_web_tokenize_buffer\"] = (a0, a1, a2) => (_duckdb_web_tokenize_buffer = Module[\"_duckdb_web_tokenize_buffer\"] = wasmExports[\"gb\"])(a0, a1, a2);\n var _duckdb_web_udf_scalar_create = Module[\"_duckdb_web_udf_scalar_create\"] = (a0, a1, a2) => (_duckdb_web_udf_scalar_create = Module[\"_duckdb_web_udf_scalar_create\"] = wasmExports[\"hb\"])(a0, a1, a2);\n var _duckdb_web_prepared_create = Module[\"_duckdb_web_prepared_create\"] = (a0, a1, a2) => (_duckdb_web_prepared_create = Module[\"_duckdb_web_prepared_create\"] = wasmExports[\"ib\"])(a0, a1, a2);\n var _duckdb_web_prepared_create_buffer = Module[\"_duckdb_web_prepared_create_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_create_buffer = Module[\"_duckdb_web_prepared_create_buffer\"] = wasmExports[\"jb\"])(a0, a1, a2, a3);\n var _duckdb_web_prepared_close = Module[\"_duckdb_web_prepared_close\"] = (a0, a1, a2) => (_duckdb_web_prepared_close = Module[\"_duckdb_web_prepared_close\"] = wasmExports[\"kb\"])(a0, a1, a2);\n var _duckdb_web_prepared_run = Module[\"_duckdb_web_prepared_run\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_run = Module[\"_duckdb_web_prepared_run\"] = wasmExports[\"lb\"])(a0, a1, a2, a3);\n var _duckdb_web_prepared_send = Module[\"_duckdb_web_prepared_send\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_send = Module[\"_duckdb_web_prepared_send\"] = wasmExports[\"mb\"])(a0, a1, a2, a3);\n var _duckdb_web_query_run = Module[\"_duckdb_web_query_run\"] = (a0, a1, a2) => (_duckdb_web_query_run = Module[\"_duckdb_web_query_run\"] = wasmExports[\"nb\"])(a0, a1, a2);\n var _duckdb_web_query_run_buffer = Module[\"_duckdb_web_query_run_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_query_run_buffer = Module[\"_duckdb_web_query_run_buffer\"] = wasmExports[\"ob\"])(a0, a1, a2, a3);\n var _duckdb_web_pending_query_start = Module[\"_duckdb_web_pending_query_start\"] = (a0, a1, a2, a3) => (_duckdb_web_pending_query_start = Module[\"_duckdb_web_pending_query_start\"] = wasmExports[\"pb\"])(a0, a1, a2, a3);\n var _duckdb_web_pending_query_start_buffer = Module[\"_duckdb_web_pending_query_start_buffer\"] = (a0, a1, a2, a3, a4) => (_duckdb_web_pending_query_start_buffer = Module[\"_duckdb_web_pending_query_start_buffer\"] = wasmExports[\"qb\"])(a0, a1, a2, a3, a4);\n var _duckdb_web_pending_query_poll = Module[\"_duckdb_web_pending_query_poll\"] = (a0, a1, a2) => (_duckdb_web_pending_query_poll = Module[\"_duckdb_web_pending_query_poll\"] = wasmExports[\"rb\"])(a0, a1, a2);\n var _duckdb_web_pending_query_cancel = Module[\"_duckdb_web_pending_query_cancel\"] = (a0, a1) => (_duckdb_web_pending_query_cancel = Module[\"_duckdb_web_pending_query_cancel\"] = wasmExports[\"sb\"])(a0, a1);\n var _duckdb_web_query_fetch_results = Module[\"_duckdb_web_query_fetch_results\"] = (a0, a1) => (_duckdb_web_query_fetch_results = Module[\"_duckdb_web_query_fetch_results\"] = wasmExports[\"tb\"])(a0, a1);\n var _duckdb_web_get_tablenames = Module[\"_duckdb_web_get_tablenames\"] = (a0, a1, a2) => (_duckdb_web_get_tablenames = Module[\"_duckdb_web_get_tablenames\"] = wasmExports[\"ub\"])(a0, a1, a2);\n var _duckdb_web_get_tablenames_buffer = Module[\"_duckdb_web_get_tablenames_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_get_tablenames_buffer = Module[\"_duckdb_web_get_tablenames_buffer\"] = wasmExports[\"vb\"])(a0, a1, a2, a3);\n var _duckdb_web_insert_arrow_from_ipc_stream = Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"] = (a0, a1, a2, a3, a4) => (_duckdb_web_insert_arrow_from_ipc_stream = Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"] = wasmExports[\"wb\"])(a0, a1, a2, a3, a4);\n var _duckdb_web_insert_csv_from_path = Module[\"_duckdb_web_insert_csv_from_path\"] = (a0, a1, a2, a3) => (_duckdb_web_insert_csv_from_path = Module[\"_duckdb_web_insert_csv_from_path\"] = wasmExports[\"xb\"])(a0, a1, a2, a3);\n var _duckdb_web_insert_json_from_path = Module[\"_duckdb_web_insert_json_from_path\"] = (a0, a1, a2, a3) => (_duckdb_web_insert_json_from_path = Module[\"_duckdb_web_insert_json_from_path\"] = wasmExports[\"yb\"])(a0, a1, a2, a3);\n var __emscripten_tls_init = () => (__emscripten_tls_init = wasmExports[\"zb\"])();\n var _pthread_self = () => (_pthread_self = wasmExports[\"Ab\"])();\n var __emscripten_thread_init = (a0, a1, a2, a3, a4, a5) => (__emscripten_thread_init = wasmExports[\"Bb\"])(a0, a1, a2, a3, a4, a5);\n var __emscripten_thread_crashed = () => (__emscripten_thread_crashed = wasmExports[\"Cb\"])();\n var _emscripten_proxy_execute_queue = a0 => (_emscripten_proxy_execute_queue = wasmExports[\"Gb\"])(a0);\n var _emscripten_proxy_finish = a0 => (_emscripten_proxy_finish = wasmExports[\"Hb\"])(a0);\n var __emscripten_run_on_main_thread_js = (a0, a1, a2, a3, a4) => (__emscripten_run_on_main_thread_js = wasmExports[\"Ib\"])(a0, a1, a2, a3, a4);\n var __emscripten_thread_free_data = a0 => (__emscripten_thread_free_data = wasmExports[\"Jb\"])(a0);\n var __emscripten_thread_exit = a0 => (__emscripten_thread_exit = wasmExports[\"Kb\"])(a0);\n var __emscripten_check_mailbox = () => (__emscripten_check_mailbox = wasmExports[\"Lb\"])();\n var _malloc = Module[\"_malloc\"] = a0 => (_malloc = Module[\"_malloc\"] = wasmExports[\"Mb\"])(a0);\n var _free = Module[\"_free\"] = a0 => (_free = Module[\"_free\"] = wasmExports[\"Nb\"])(a0);\n var _calloc = Module[\"_calloc\"] = (a0, a1) => (_calloc = Module[\"_calloc\"] = wasmExports[\"Ob\"])(a0, a1);\n var __emscripten_tempret_set = a0 => (__emscripten_tempret_set = wasmExports[\"Qb\"])(a0);\n var __emscripten_tempret_get = () => (__emscripten_tempret_get = wasmExports[\"Rb\"])();\n var _emscripten_stack_set_limits = (a0, a1) => (_emscripten_stack_set_limits = wasmExports[\"Sb\"])(a0, a1);\n var __emscripten_stack_restore = a0 => (__emscripten_stack_restore = wasmExports[\"Tb\"])(a0);\n var __emscripten_stack_alloc = a0 => (__emscripten_stack_alloc = wasmExports[\"Ub\"])(a0);\n var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports[\"Vb\"])();\n\n function applySignatureConversions(wasmExports) {\n wasmExports = Object.assign({}, wasmExports);\n var makeWrapper_p = f => () => f() >>> 0;\n var makeWrapper_pp = f => a0 => f(a0) >>> 0;\n var makeWrapper_ppp = f => (a0, a1) => f(a0, a1) >>> 0;\n wasmExports[\"Ab\"] = makeWrapper_p(wasmExports[\"Ab\"]);\n wasmExports[\"Mb\"] = makeWrapper_pp(wasmExports[\"Mb\"]);\n wasmExports[\"Ob\"] = makeWrapper_ppp(wasmExports[\"Ob\"]);\n wasmExports[\"Ub\"] = makeWrapper_pp(wasmExports[\"Ub\"]);\n wasmExports[\"Vb\"] = makeWrapper_p(wasmExports[\"Vb\"]);\n return wasmExports\n }\n Module[\"stackSave\"] = stackSave;\n Module[\"stackRestore\"] = stackRestore;\n Module[\"stackAlloc\"] = stackAlloc;\n Module[\"getTempRet0\"] = getTempRet0;\n Module[\"setTempRet0\"] = setTempRet0;\n Module[\"ccall\"] = ccall;\n\n function callMain() {\n var entryFunction = _main;\n var argc = 0;\n var argv = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret\n } catch (e) {\n return handleException(e)\n }\n }\n\n function run() {\n if (runDependencies > 0) {\n dependenciesFulfilled = run;\n return\n }\n if (ENVIRONMENT_IS_PTHREAD) {\n readyPromiseResolve(Module);\n initRuntime();\n return\n }\n preRun();\n if (runDependencies > 0) {\n dependenciesFulfilled = run;\n return\n }\n\n function doRun() {\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n Module[\"onRuntimeInitialized\"]?.();\n var noInitialRun = Module[\"noInitialRun\"];\n if (!noInitialRun) callMain();\n postRun()\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(() => {\n setTimeout(() => Module[\"setStatus\"](\"\"), 1);\n doRun()\n }, 1)\n } else {\n doRun()\n }\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [Module[\"preInit\"]];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()()\n }\n }\n run();\n moduleRtn = readyPromise;\n\n\n return moduleRtn;\n }\n );\n})();\nif (typeof exports === 'object' && typeof module === 'object') {\n module.exports = DuckDB;\n // This default export looks redundant, but it allows TS to import this\n // commonjs style module.\n module.exports.default = DuckDB;\n} else if (typeof define === 'function' && define['amd'])\n define([], () => DuckDB);\nvar isPthread = globalThis.self?.name?.startsWith('em-pthread');\nvar isNode = typeof globalThis.process?.versions?.node == 'string';\nif (isNode) isPthread = require('worker_threads').workerData === 'em-pthread'\n\n// When running as a pthread, construct a new instance on startup\nisPthread && DuckDB();\n", "/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.11.1\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2025\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA256_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node && process.type != 'renderer';\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (outputType, is224) {\n return function (message) {\n return new Sha256(is224, true).update(message)[outputType]();\n };\n };\n\n var createMethod = function (is224) {\n var method = createOutputMethod('hex', is224);\n if (NODE_JS) {\n method = nodeWrap(method, is224);\n }\n method.create = function () {\n return new Sha256(is224);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type, is224);\n }\n return method;\n };\n\n var nodeWrap = function (method, is224) {\n var crypto = require('crypto')\n var Buffer = require('buffer').Buffer;\n var algorithm = is224 ? 'sha224' : 'sha256';\n var bufferFrom;\n if (Buffer.from && !root.JS_SHA256_NO_BUFFER_FROM) {\n bufferFrom = Buffer.from;\n } else {\n bufferFrom = function (message) {\n return new Buffer(message);\n };\n }\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw new Error(ERROR);\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash(algorithm).update(bufferFrom(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n var createHmacOutputMethod = function (outputType, is224) {\n return function (key, message) {\n return new HmacSha256(key, is224, true).update(message)[outputType]();\n };\n };\n\n var createHmacMethod = function (is224) {\n var method = createHmacOutputMethod('hex', is224);\n method.create = function (key) {\n return new HmacSha256(key, is224);\n };\n method.update = function (key, message) {\n return method.create(key).update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createHmacOutputMethod(type, is224);\n }\n return method;\n };\n\n function Sha256(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (is224) {\n this.h0 = 0xc1059ed8;\n this.h1 = 0x367cd507;\n this.h2 = 0x3070dd17;\n this.h3 = 0xf70e5939;\n this.h4 = 0xffc00b31;\n this.h5 = 0x68581511;\n this.h6 = 0x64f98fa7;\n this.h7 = 0xbefa4fa4;\n } else { // 256\n this.h0 = 0x6a09e667;\n this.h1 = 0xbb67ae85;\n this.h2 = 0x3c6ef372;\n this.h3 = 0xa54ff53a;\n this.h4 = 0x510e527f;\n this.h5 = 0x9b05688c;\n this.h6 = 0x1f83d9ab;\n this.h7 = 0x5be0cd19;\n }\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n this.is224 = is224;\n }\n\n Sha256.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n this.block = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >>> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >>> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >>> 2] |= (0xc0 | (code >>> 6)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >>> 2] |= (0xe0 | (code >>> 12)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >>> 2] |= (0xf0 | (code >>> 18)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha256.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >>> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha256.prototype.hash = function () {\n var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,\n h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;\n\n for (j = 16; j < 64; ++j) {\n // rightrotate\n t1 = blocks[j - 15];\n s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);\n t1 = blocks[j - 2];\n s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n\n bc = b & c;\n for (j = 0; j < 64; j += 4) {\n if (this.first) {\n if (this.is224) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n } else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n this.first = false;\n } else {\n s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));\n s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));\n ab = a & b;\n maj = ab ^ (a & c) ^ bc;\n ch = (e & f) ^ (~e & g);\n t1 = h + s1 + ch + K[j] + blocks[j];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));\n s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));\n da = d & a;\n maj = da ^ (d & b) ^ ab;\n ch = (h & e) ^ (~h & f);\n t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));\n s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));\n cd = c & d;\n maj = cd ^ (c & a) ^ da;\n ch = (g & h) ^ (~g & e);\n t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));\n s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));\n bc = b & c;\n maj = bc ^ (b & d) ^ cd;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n this.chromeBugWorkAround = true;\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n this.h5 = this.h5 + f << 0;\n this.h6 = this.h6 + g << 0;\n this.h7 = this.h7 + h << 0;\n };\n\n Sha256.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var hex = HEX_CHARS[(h0 >>> 28) & 0x0F] + HEX_CHARS[(h0 >>> 24) & 0x0F] +\n HEX_CHARS[(h0 >>> 20) & 0x0F] + HEX_CHARS[(h0 >>> 16) & 0x0F] +\n HEX_CHARS[(h0 >>> 12) & 0x0F] + HEX_CHARS[(h0 >>> 8) & 0x0F] +\n HEX_CHARS[(h0 >>> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h1 >>> 28) & 0x0F] + HEX_CHARS[(h1 >>> 24) & 0x0F] +\n HEX_CHARS[(h1 >>> 20) & 0x0F] + HEX_CHARS[(h1 >>> 16) & 0x0F] +\n HEX_CHARS[(h1 >>> 12) & 0x0F] + HEX_CHARS[(h1 >>> 8) & 0x0F] +\n HEX_CHARS[(h1 >>> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h2 >>> 28) & 0x0F] + HEX_CHARS[(h2 >>> 24) & 0x0F] +\n HEX_CHARS[(h2 >>> 20) & 0x0F] + HEX_CHARS[(h2 >>> 16) & 0x0F] +\n HEX_CHARS[(h2 >>> 12) & 0x0F] + HEX_CHARS[(h2 >>> 8) & 0x0F] +\n HEX_CHARS[(h2 >>> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h3 >>> 28) & 0x0F] + HEX_CHARS[(h3 >>> 24) & 0x0F] +\n HEX_CHARS[(h3 >>> 20) & 0x0F] + HEX_CHARS[(h3 >>> 16) & 0x0F] +\n HEX_CHARS[(h3 >>> 12) & 0x0F] + HEX_CHARS[(h3 >>> 8) & 0x0F] +\n HEX_CHARS[(h3 >>> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h4 >>> 28) & 0x0F] + HEX_CHARS[(h4 >>> 24) & 0x0F] +\n HEX_CHARS[(h4 >>> 20) & 0x0F] + HEX_CHARS[(h4 >>> 16) & 0x0F] +\n HEX_CHARS[(h4 >>> 12) & 0x0F] + HEX_CHARS[(h4 >>> 8) & 0x0F] +\n HEX_CHARS[(h4 >>> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +\n HEX_CHARS[(h5 >>> 28) & 0x0F] + HEX_CHARS[(h5 >>> 24) & 0x0F] +\n HEX_CHARS[(h5 >>> 20) & 0x0F] + HEX_CHARS[(h5 >>> 16) & 0x0F] +\n HEX_CHARS[(h5 >>> 12) & 0x0F] + HEX_CHARS[(h5 >>> 8) & 0x0F] +\n HEX_CHARS[(h5 >>> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +\n HEX_CHARS[(h6 >>> 28) & 0x0F] + HEX_CHARS[(h6 >>> 24) & 0x0F] +\n HEX_CHARS[(h6 >>> 20) & 0x0F] + HEX_CHARS[(h6 >>> 16) & 0x0F] +\n HEX_CHARS[(h6 >>> 12) & 0x0F] + HEX_CHARS[(h6 >>> 8) & 0x0F] +\n HEX_CHARS[(h6 >>> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];\n if (!this.is224) {\n hex += HEX_CHARS[(h7 >>> 28) & 0x0F] + HEX_CHARS[(h7 >>> 24) & 0x0F] +\n HEX_CHARS[(h7 >>> 20) & 0x0F] + HEX_CHARS[(h7 >>> 16) & 0x0F] +\n HEX_CHARS[(h7 >>> 12) & 0x0F] + HEX_CHARS[(h7 >>> 8) & 0x0F] +\n HEX_CHARS[(h7 >>> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];\n }\n return hex;\n };\n\n Sha256.prototype.toString = Sha256.prototype.hex;\n\n Sha256.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var arr = [\n (h0 >>> 24) & 0xFF, (h0 >>> 16) & 0xFF, (h0 >>> 8) & 0xFF, h0 & 0xFF,\n (h1 >>> 24) & 0xFF, (h1 >>> 16) & 0xFF, (h1 >>> 8) & 0xFF, h1 & 0xFF,\n (h2 >>> 24) & 0xFF, (h2 >>> 16) & 0xFF, (h2 >>> 8) & 0xFF, h2 & 0xFF,\n (h3 >>> 24) & 0xFF, (h3 >>> 16) & 0xFF, (h3 >>> 8) & 0xFF, h3 & 0xFF,\n (h4 >>> 24) & 0xFF, (h4 >>> 16) & 0xFF, (h4 >>> 8) & 0xFF, h4 & 0xFF,\n (h5 >>> 24) & 0xFF, (h5 >>> 16) & 0xFF, (h5 >>> 8) & 0xFF, h5 & 0xFF,\n (h6 >>> 24) & 0xFF, (h6 >>> 16) & 0xFF, (h6 >>> 8) & 0xFF, h6 & 0xFF\n ];\n if (!this.is224) {\n arr.push((h7 >>> 24) & 0xFF, (h7 >>> 16) & 0xFF, (h7 >>> 8) & 0xFF, h7 & 0xFF);\n }\n return arr;\n };\n\n Sha256.prototype.array = Sha256.prototype.digest;\n\n Sha256.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(this.is224 ? 28 : 32);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n dataView.setUint32(20, this.h5);\n dataView.setUint32(24, this.h6);\n if (!this.is224) {\n dataView.setUint32(28, this.h7);\n }\n return buffer;\n };\n\n function HmacSha256(key, is224, sharedMemory) {\n var i, type = typeof key;\n if (type === 'string') {\n var bytes = [], length = key.length, index = 0, code;\n for (i = 0; i < length; ++i) {\n code = key.charCodeAt(i);\n if (code < 0x80) {\n bytes[index++] = code;\n } else if (code < 0x800) {\n bytes[index++] = (0xc0 | (code >>> 6));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes[index++] = (0xe0 | (code >>> 12));\n bytes[index++] = (0x80 | ((code >>> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));\n bytes[index++] = (0xf0 | (code >>> 18));\n bytes[index++] = (0x80 | ((code >>> 12) & 0x3f));\n bytes[index++] = (0x80 | ((code >>> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n }\n }\n key = bytes;\n } else {\n if (type === 'object') {\n if (key === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {\n key = new Uint8Array(key);\n } else if (!Array.isArray(key)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n }\n\n if (key.length > 64) {\n key = (new Sha256(is224, true)).update(key).array();\n }\n\n var oKeyPad = [], iKeyPad = [];\n for (i = 0; i < 64; ++i) {\n var b = key[i] || 0;\n oKeyPad[i] = 0x5c ^ b;\n iKeyPad[i] = 0x36 ^ b;\n }\n\n Sha256.call(this, is224, sharedMemory);\n\n this.update(iKeyPad);\n this.oKeyPad = oKeyPad;\n this.inner = true;\n this.sharedMemory = sharedMemory;\n }\n HmacSha256.prototype = new Sha256();\n\n HmacSha256.prototype.finalize = function () {\n Sha256.prototype.finalize.call(this);\n if (this.inner) {\n this.inner = false;\n var innerHash = this.array();\n Sha256.call(this, this.is224, this.sharedMemory);\n this.update(this.oKeyPad);\n this.update(innerHash);\n Sha256.prototype.finalize.call(this);\n }\n };\n\n var exports = createMethod();\n exports.sha256 = exports;\n exports.sha224 = createMethod(true);\n exports.sha256.hmac = createHmacMethod();\n exports.sha224.hmac = createHmacMethod(true);\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha256 = exports.sha256;\n root.sha224 = exports.sha224;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n", "import { AsyncDuckDBDispatcher, WorkerResponseVariant, WorkerRequestVariant } from '../parallel';\nimport { DuckDB } from '../bindings/bindings_browser_coi';\nimport { DuckDBBindings } from '../bindings';\nimport { BROWSER_RUNTIME } from '../bindings/runtime_browser';\nimport { InstantiationProgress } from '../bindings/progress';\n\n/** The duckdb worker API for web workers */\nclass WebWorker extends AsyncDuckDBDispatcher {\n /** Post a response back to the main thread */\n protected postMessage(response: WorkerResponseVariant, transfer: ArrayBuffer[]) {\n globalThis.postMessage(response, transfer);\n }\n\n /** Instantiate the wasm module */\n protected async instantiate(\n mainModuleURL: string,\n pthreadWorkerURL: string | null,\n progress: (p: InstantiationProgress) => void,\n ): Promise<DuckDBBindings> {\n const bindings = new DuckDB(this, BROWSER_RUNTIME, mainModuleURL, pthreadWorkerURL);\n return await bindings.instantiate(progress);\n }\n}\n\n/** Register the worker */\nexport function registerWorker(): void {\n const api = new WebWorker();\n globalThis.onmessage = async (event: MessageEvent<WorkerRequestVariant>) => {\n await api.onMessage(event.data);\n };\n}\n\nregisterWorker();\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", null, null, null, null, null, null, null, null, null, null, "export const int32 = new Int32Array(2);\nexport const float32 = new Float32Array(int32.buffer);\nexport const float64 = new Float64Array(int32.buffer);\nexport const isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n", "export var Encoding;\n(function (Encoding) {\n Encoding[Encoding[\"UTF8_BYTES\"] = 1] = \"UTF8_BYTES\";\n Encoding[Encoding[\"UTF16_STRING\"] = 2] = \"UTF16_STRING\";\n})(Encoding || (Encoding = {}));\n", "import { FILE_IDENTIFIER_LENGTH, SIZEOF_INT } from \"./constants.js\";\nimport { int32, isLittleEndian, float32, float64 } from \"./utils.js\";\nimport { Encoding } from \"./encoding.js\";\nexport class ByteBuffer {\n /**\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`)\n */\n constructor(bytes_) {\n this.bytes_ = bytes_;\n this.position_ = 0;\n this.text_decoder_ = new TextDecoder();\n }\n /**\n * Create and allocate a new ByteBuffer with a given size.\n */\n static allocate(byte_size) {\n return new ByteBuffer(new Uint8Array(byte_size));\n }\n clear() {\n this.position_ = 0;\n }\n /**\n * Get the underlying `Uint8Array`.\n */\n bytes() {\n return this.bytes_;\n }\n /**\n * Get the buffer's position.\n */\n position() {\n return this.position_;\n }\n /**\n * Set the buffer's position.\n */\n setPosition(position) {\n this.position_ = position;\n }\n /**\n * Get the buffer's capacity.\n */\n capacity() {\n return this.bytes_.length;\n }\n readInt8(offset) {\n return this.readUint8(offset) << 24 >> 24;\n }\n readUint8(offset) {\n return this.bytes_[offset];\n }\n readInt16(offset) {\n return this.readUint16(offset) << 16 >> 16;\n }\n readUint16(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\n }\n readInt32(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\n }\n readUint32(offset) {\n return this.readInt32(offset) >>> 0;\n }\n readInt64(offset) {\n return BigInt.asIntN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readUint64(offset) {\n return BigInt.asUintN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readFloat32(offset) {\n int32[0] = this.readInt32(offset);\n return float32[0];\n }\n readFloat64(offset) {\n int32[isLittleEndian ? 0 : 1] = this.readInt32(offset);\n int32[isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n return float64[0];\n }\n writeInt8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeUint8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeInt16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeUint16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeInt32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeUint32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeInt64(offset, value) {\n this.writeInt32(offset, Number(BigInt.asIntN(32, value)));\n this.writeInt32(offset + 4, Number(BigInt.asIntN(32, value >> BigInt(32))));\n }\n writeUint64(offset, value) {\n this.writeUint32(offset, Number(BigInt.asUintN(32, value)));\n this.writeUint32(offset + 4, Number(BigInt.asUintN(32, value >> BigInt(32))));\n }\n writeFloat32(offset, value) {\n float32[0] = value;\n this.writeInt32(offset, int32[0]);\n }\n writeFloat64(offset, value) {\n float64[0] = value;\n this.writeInt32(offset, int32[isLittleEndian ? 0 : 1]);\n this.writeInt32(offset + 4, int32[isLittleEndian ? 1 : 0]);\n }\n /**\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\n * schema does not include a file_identifier (likely points at padding or the\n * start of a the root vtable).\n */\n getBufferIdentifier() {\n if (this.bytes_.length < this.position_ + SIZEOF_INT +\n FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: ByteBuffer is too short to contain an identifier.');\n }\n let result = \"\";\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n result += String.fromCharCode(this.readInt8(this.position_ + SIZEOF_INT + i));\n }\n return result;\n }\n /**\n * Look up a field in the vtable, return an offset into the object, or 0 if the\n * field is not present.\n */\n __offset(bb_pos, vtable_offset) {\n const vtable = bb_pos - this.readInt32(bb_pos);\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\n }\n /**\n * Initialize any Table-derived type to point to the union at the given offset.\n */\n __union(t, offset) {\n t.bb_pos = offset + this.readInt32(offset);\n t.bb = this;\n return t;\n }\n /**\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n * This allocates a new string and converts to wide chars upon each access.\n *\n * To avoid the conversion to string, pass Encoding.UTF8_BYTES as the\n * \"optionalEncoding\" argument. This is useful for avoiding conversion when\n * the data will just be packaged back up in another FlatBuffer later on.\n *\n * @param offset\n * @param opt_encoding Defaults to UTF16_STRING\n */\n __string(offset, opt_encoding) {\n offset += this.readInt32(offset);\n const length = this.readInt32(offset);\n offset += SIZEOF_INT;\n const utf8bytes = this.bytes_.subarray(offset, offset + length);\n if (opt_encoding === Encoding.UTF8_BYTES)\n return utf8bytes;\n else\n return this.text_decoder_.decode(utf8bytes);\n }\n /**\n * Handle unions that can contain string as its member, if a Table-derived type then initialize it,\n * if a string then return a new one\n *\n * WARNING: strings are immutable in JS so we can't change the string that the user gave us, this\n * makes the behaviour of __union_with_string different compared to __union\n */\n __union_with_string(o, offset) {\n if (typeof o === 'string') {\n return this.__string(offset);\n }\n return this.__union(o, offset);\n }\n /**\n * Retrieve the relative offset stored at \"offset\"\n */\n __indirect(offset) {\n return offset + this.readInt32(offset);\n }\n /**\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector(offset) {\n return offset + this.readInt32(offset) + SIZEOF_INT; // data starts after the length\n }\n /**\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector_len(offset) {\n return this.readInt32(offset + this.readInt32(offset));\n }\n __has_identifier(ident) {\n if (ident.length != FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n FILE_IDENTIFIER_LENGTH);\n }\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n if (ident.charCodeAt(i) != this.readInt8(this.position() + SIZEOF_INT + i)) {\n return false;\n }\n }\n return true;\n }\n /**\n * A helper function for generating list for obj api\n */\n createScalarList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val);\n }\n }\n return ret;\n }\n /**\n * A helper function for generating list for obj api\n * @param listAccessor function that accepts an index and return data at that index\n * @param listLength listLength\n * @param res result list\n */\n createObjList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val.unpack());\n }\n }\n return ret;\n }\n}\n", "import { ByteBuffer } from \"./byte-buffer.js\";\nimport { SIZEOF_SHORT, SIZE_PREFIX_LENGTH, SIZEOF_INT, FILE_IDENTIFIER_LENGTH } from \"./constants.js\";\nexport class Builder {\n /**\n * Create a FlatBufferBuilder.\n */\n constructor(opt_initial_size) {\n /** Minimum alignment encountered so far. */\n this.minalign = 1;\n /** The vtable for the current table. */\n this.vtable = null;\n /** The amount of fields we're actually using. */\n this.vtable_in_use = 0;\n /** Whether we are currently serializing a table. */\n this.isNested = false;\n /** Starting offset of the current struct/table. */\n this.object_start = 0;\n /** List of offsets of all vtables. */\n this.vtables = [];\n /** For the current vector being built. */\n this.vector_num_elems = 0;\n /** False omits default values from the serialized data */\n this.force_defaults = false;\n this.string_maps = null;\n this.text_encoder = new TextEncoder();\n let initial_size;\n if (!opt_initial_size) {\n initial_size = 1024;\n }\n else {\n initial_size = opt_initial_size;\n }\n /**\n * @type {ByteBuffer}\n * @private\n */\n this.bb = ByteBuffer.allocate(initial_size);\n this.space = initial_size;\n }\n clear() {\n this.bb.clear();\n this.space = this.bb.capacity();\n this.minalign = 1;\n this.vtable = null;\n this.vtable_in_use = 0;\n this.isNested = false;\n this.object_start = 0;\n this.vtables = [];\n this.vector_num_elems = 0;\n this.force_defaults = false;\n this.string_maps = null;\n }\n /**\n * In order to save space, fields that are set to their default value\n * don't get serialized into the buffer. Forcing defaults provides a\n * way to manually disable this optimization.\n *\n * @param forceDefaults true always serializes default values\n */\n forceDefaults(forceDefaults) {\n this.force_defaults = forceDefaults;\n }\n /**\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n * called finish(). The actual data starts at the ByteBuffer's current position,\n * not necessarily at 0.\n */\n dataBuffer() {\n return this.bb;\n }\n /**\n * Get the bytes representing the FlatBuffer. Only call this after you've\n * called finish().\n */\n asUint8Array() {\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\n }\n /**\n * Prepare to write an element of `size` after `additional_bytes` have been\n * written, e.g. if you write a string, you need to align such the int length\n * field is aligned to 4 bytes, and the string data follows it directly. If all\n * you need to do is alignment, `additional_bytes` will be 0.\n *\n * @param size This is the of the new element to write\n * @param additional_bytes The padding size\n */\n prep(size, additional_bytes) {\n // Track the biggest thing we've ever aligned to.\n if (size > this.minalign) {\n this.minalign = size;\n }\n // Find the amount of alignment needed such that `size` is properly\n // aligned after `additional_bytes`\n const align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\n // Reallocate the buffer if needed.\n while (this.space < align_size + size + additional_bytes) {\n const old_buf_size = this.bb.capacity();\n this.bb = Builder.growByteBuffer(this.bb);\n this.space += this.bb.capacity() - old_buf_size;\n }\n this.pad(align_size);\n }\n pad(byte_size) {\n for (let i = 0; i < byte_size; i++) {\n this.bb.writeInt8(--this.space, 0);\n }\n }\n writeInt8(value) {\n this.bb.writeInt8(this.space -= 1, value);\n }\n writeInt16(value) {\n this.bb.writeInt16(this.space -= 2, value);\n }\n writeInt32(value) {\n this.bb.writeInt32(this.space -= 4, value);\n }\n writeInt64(value) {\n this.bb.writeInt64(this.space -= 8, value);\n }\n writeFloat32(value) {\n this.bb.writeFloat32(this.space -= 4, value);\n }\n writeFloat64(value) {\n this.bb.writeFloat64(this.space -= 8, value);\n }\n /**\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int8` to add the buffer.\n */\n addInt8(value) {\n this.prep(1, 0);\n this.writeInt8(value);\n }\n /**\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int16` to add the buffer.\n */\n addInt16(value) {\n this.prep(2, 0);\n this.writeInt16(value);\n }\n /**\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int32` to add the buffer.\n */\n addInt32(value) {\n this.prep(4, 0);\n this.writeInt32(value);\n }\n /**\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int64` to add the buffer.\n */\n addInt64(value) {\n this.prep(8, 0);\n this.writeInt64(value);\n }\n /**\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float32` to add the buffer.\n */\n addFloat32(value) {\n this.prep(4, 0);\n this.writeFloat32(value);\n }\n /**\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float64` to add the buffer.\n */\n addFloat64(value) {\n this.prep(8, 0);\n this.writeFloat64(value);\n }\n addFieldInt8(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt8(value);\n this.slot(voffset);\n }\n }\n addFieldInt16(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt16(value);\n this.slot(voffset);\n }\n }\n addFieldInt32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt32(value);\n this.slot(voffset);\n }\n }\n addFieldInt64(voffset, value, defaultValue) {\n if (this.force_defaults || value !== defaultValue) {\n this.addInt64(value);\n this.slot(voffset);\n }\n }\n addFieldFloat32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat32(value);\n this.slot(voffset);\n }\n }\n addFieldFloat64(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat64(value);\n this.slot(voffset);\n }\n }\n addFieldOffset(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addOffset(value);\n this.slot(voffset);\n }\n }\n /**\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n */\n addFieldStruct(voffset, value, defaultValue) {\n if (value != defaultValue) {\n this.nested(value);\n this.slot(voffset);\n }\n }\n /**\n * Structures are always stored inline, they need to be created right\n * where they're used. You'll get this assertion failure if you\n * created it elsewhere.\n */\n nested(obj) {\n if (obj != this.offset()) {\n throw new TypeError('FlatBuffers: struct must be serialized inline.');\n }\n }\n /**\n * Should not be creating any other object, string or vector\n * while an object is being constructed\n */\n notNested() {\n if (this.isNested) {\n throw new TypeError('FlatBuffers: object serialization must not be nested.');\n }\n }\n /**\n * Set the current vtable at `voffset` to the current location in the buffer.\n */\n slot(voffset) {\n if (this.vtable !== null)\n this.vtable[voffset] = this.offset();\n }\n /**\n * @returns Offset relative to the end of the buffer.\n */\n offset() {\n return this.bb.capacity() - this.space;\n }\n /**\n * Doubles the size of the backing ByteBuffer and copies the old data towards\n * the end of the new buffer (since we build the buffer backwards).\n *\n * @param bb The current buffer with the existing data\n * @returns A new byte buffer with the old data copied\n * to it. The data is located at the end of the buffer.\n *\n * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass\n * it a uint8Array we need to suppress the type check:\n * @suppress {checkTypes}\n */\n static growByteBuffer(bb) {\n const old_buf_size = bb.capacity();\n // Ensure we don't grow beyond what fits in an int.\n if (old_buf_size & 0xC0000000) {\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n }\n const new_buf_size = old_buf_size << 1;\n const nbb = ByteBuffer.allocate(new_buf_size);\n nbb.setPosition(new_buf_size - old_buf_size);\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n return nbb;\n }\n /**\n * Adds on offset, relative to where it will be written.\n *\n * @param offset The offset to add.\n */\n addOffset(offset) {\n this.prep(SIZEOF_INT, 0); // Ensure alignment is already done.\n this.writeInt32(this.offset() - offset + SIZEOF_INT);\n }\n /**\n * Start encoding a new object in the buffer. Users will not usually need to\n * call this directly. The FlatBuffers compiler will generate helper methods\n * that call this method internally.\n */\n startObject(numfields) {\n this.notNested();\n if (this.vtable == null) {\n this.vtable = [];\n }\n this.vtable_in_use = numfields;\n for (let i = 0; i < numfields; i++) {\n this.vtable[i] = 0; // This will push additional elements as needed\n }\n this.isNested = true;\n this.object_start = this.offset();\n }\n /**\n * Finish off writing the object that is under construction.\n *\n * @returns The offset to the object inside `dataBuffer`\n */\n endObject() {\n if (this.vtable == null || !this.isNested) {\n throw new Error('FlatBuffers: endObject called without startObject');\n }\n this.addInt32(0);\n const vtableloc = this.offset();\n // Trim trailing zeroes.\n let i = this.vtable_in_use - 1;\n // eslint-disable-next-line no-empty\n for (; i >= 0 && this.vtable[i] == 0; i--) { }\n const trimmed_size = i + 1;\n // Write out the current vtable.\n for (; i >= 0; i--) {\n // Offset relative to the start of the table.\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n }\n const standard_fields = 2; // The fields below:\n this.addInt16(vtableloc - this.object_start);\n const len = (trimmed_size + standard_fields) * SIZEOF_SHORT;\n this.addInt16(len);\n // Search for an existing vtable that matches the current one.\n let existing_vtable = 0;\n const vt1 = this.space;\n outer_loop: for (i = 0; i < this.vtables.length; i++) {\n const vt2 = this.bb.capacity() - this.vtables[i];\n if (len == this.bb.readInt16(vt2)) {\n for (let j = SIZEOF_SHORT; j < len; j += SIZEOF_SHORT) {\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n continue outer_loop;\n }\n }\n existing_vtable = this.vtables[i];\n break;\n }\n }\n if (existing_vtable) {\n // Found a match:\n // Remove the current vtable.\n this.space = this.bb.capacity() - vtableloc;\n // Point table to existing vtable.\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n }\n else {\n // No match:\n // Add the location of the current vtable to the list of vtables.\n this.vtables.push(this.offset());\n // Point table to current vtable.\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n }\n this.isNested = false;\n return vtableloc;\n }\n /**\n * Finalize a buffer, poiting to the given `root_table`.\n */\n finish(root_table, opt_file_identifier, opt_size_prefix) {\n const size_prefix = opt_size_prefix ? SIZE_PREFIX_LENGTH : 0;\n if (opt_file_identifier) {\n const file_identifier = opt_file_identifier;\n this.prep(this.minalign, SIZEOF_INT +\n FILE_IDENTIFIER_LENGTH + size_prefix);\n if (file_identifier.length != FILE_IDENTIFIER_LENGTH) {\n throw new TypeError('FlatBuffers: file identifier must be length ' +\n FILE_IDENTIFIER_LENGTH);\n }\n for (let i = FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n this.writeInt8(file_identifier.charCodeAt(i));\n }\n }\n this.prep(this.minalign, SIZEOF_INT + size_prefix);\n this.addOffset(root_table);\n if (size_prefix) {\n this.addInt32(this.bb.capacity() - this.space);\n }\n this.bb.setPosition(this.space);\n }\n /**\n * Finalize a size prefixed buffer, pointing to the given `root_table`.\n */\n finishSizePrefixed(root_table, opt_file_identifier) {\n this.finish(root_table, opt_file_identifier, true);\n }\n /**\n * This checks a required field has been set in a given table that has\n * just been constructed.\n */\n requiredField(table, field) {\n const table_start = this.bb.capacity() - table;\n const vtable_start = table_start - this.bb.readInt32(table_start);\n const ok = field < this.bb.readInt16(vtable_start) &&\n this.bb.readInt16(vtable_start + field) != 0;\n // If this fails, the caller will show what field needs to be set.\n if (!ok) {\n throw new TypeError('FlatBuffers: field ' + field + ' must be set');\n }\n }\n /**\n * Start a new array/vector of objects. Users usually will not call\n * this directly. The FlatBuffers compiler will create a start/end\n * method for vector types in generated code.\n *\n * @param elem_size The size of each element in the array\n * @param num_elems The number of elements in the array\n * @param alignment The alignment of the array\n */\n startVector(elem_size, num_elems, alignment) {\n this.notNested();\n this.vector_num_elems = num_elems;\n this.prep(SIZEOF_INT, elem_size * num_elems);\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n }\n /**\n * Finish off the creation of an array and all its elements. The array must be\n * created with `startVector`.\n *\n * @returns The offset at which the newly created array\n * starts.\n */\n endVector() {\n this.writeInt32(this.vector_num_elems);\n return this.offset();\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If the string passed has\n * already been seen, we return the offset of the already written string\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createSharedString(s) {\n if (!s) {\n return 0;\n }\n if (!this.string_maps) {\n this.string_maps = new Map();\n }\n if (this.string_maps.has(s)) {\n return this.string_maps.get(s);\n }\n const offset = this.createString(s);\n this.string_maps.set(s, offset);\n return offset;\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createString(s) {\n if (s === null || s === undefined) {\n return 0;\n }\n let utf8;\n if (s instanceof Uint8Array) {\n utf8 = s;\n }\n else {\n utf8 = this.text_encoder.encode(s);\n }\n this.addInt8(0);\n this.startVector(1, utf8.length, 1);\n this.bb.setPosition(this.space -= utf8.length);\n this.bb.bytes().set(utf8, this.space);\n return this.endVector();\n }\n /**\n * Create a byte vector.\n *\n * @param v The bytes to add\n * @returns The offset in the buffer where the byte vector starts\n */\n createByteVector(v) {\n if (v === null || v === undefined) {\n return 0;\n }\n this.startVector(1, v.length, 1);\n this.bb.setPosition(this.space -= v.length);\n this.bb.bytes().set(v, this.space);\n return this.endVector();\n }\n /**\n * A helper function to pack an object\n *\n * @returns offset of obj\n */\n createObjectOffset(obj) {\n if (obj === null) {\n return 0;\n }\n if (typeof obj === 'string') {\n return this.createString(obj);\n }\n else {\n return obj.pack(this);\n }\n }\n /**\n * A helper function to pack a list of object\n *\n * @returns list of offsets of each non null object\n */\n createObjectOffsetList(list) {\n const ret = [];\n for (let i = 0; i < list.length; ++i) {\n const val = list[i];\n if (val !== null) {\n ret.push(this.createObjectOffset(val));\n }\n else {\n throw new TypeError('FlatBuffers: Argument for createObjectOffsetList cannot contain null.');\n }\n }\n return ret;\n }\n createStructOffsetList(list, startFunc) {\n startFunc(this, list.length);\n this.createObjectOffsetList(list.slice().reverse());\n return this.endVector();\n }\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "import * as arrow from 'apache-arrow';\n\nexport interface SQLType {\n /// The sql type\n sqlType: string;\n /// Is nullable?\n nullable?: boolean;\n /// Decimal precision\n precision?: number;\n /// Decimal scaling\n scale?: number;\n /// Timezone\n timezone?: string;\n /// Byte width (FixedSizeBinary)\n byteWidth?: number;\n /// Key type\n keyType?: SQLType;\n /// Value type\n valueType?: SQLType;\n /// Fields\n fields?: SQLField[];\n}\n\nexport function arrowToSQLType(type: arrow.DataType): SQLType {\n switch (type.typeId) {\n case arrow.Type.Binary:\n return { sqlType: 'binary' };\n case arrow.Type.Bool:\n return { sqlType: 'bool' };\n case arrow.Type.Date:\n return { sqlType: 'date' };\n case arrow.Type.DateDay:\n return { sqlType: 'date32[d]' };\n case arrow.Type.DateMillisecond:\n return { sqlType: 'date64[ms]' };\n case arrow.Type.Decimal: {\n const dec = type as arrow.Decimal;\n return { sqlType: 'decimal', precision: dec.precision, scale: dec.scale };\n }\n case arrow.Type.Float:\n return { sqlType: 'float' };\n case arrow.Type.Float16:\n return { sqlType: 'float16' };\n case arrow.Type.Float32:\n return { sqlType: 'float32' };\n case arrow.Type.Float64:\n return { sqlType: 'float64' };\n case arrow.Type.Int:\n return { sqlType: 'int32' };\n case arrow.Type.Int16:\n return { sqlType: 'int16' };\n case arrow.Type.Int32:\n return { sqlType: 'int32' };\n case arrow.Type.Int64:\n return { sqlType: 'int64' };\n case arrow.Type.Uint16:\n return { sqlType: 'uint16' };\n case arrow.Type.Uint32:\n return { sqlType: 'uint32' };\n case arrow.Type.Uint64:\n return { sqlType: 'uint64' };\n case arrow.Type.Uint8:\n return { sqlType: 'uint8' };\n case arrow.Type.IntervalDayTime:\n return { sqlType: 'interval[dt]' };\n case arrow.Type.IntervalYearMonth:\n return { sqlType: 'interval[m]' };\n case arrow.Type.List: {\n const list = type as arrow.List;\n return {\n sqlType: 'list',\n valueType: arrowToSQLType(list.valueType),\n };\n }\n case arrow.Type.FixedSizeBinary: {\n const bin = type as arrow.FixedSizeBinary;\n return { sqlType: 'fixedsizebinary', byteWidth: bin.byteWidth };\n }\n case arrow.Type.Null:\n return { sqlType: 'null' };\n case arrow.Type.Utf8:\n return { sqlType: 'utf8' };\n case arrow.Type.Struct: {\n const struct_ = type as arrow.Struct;\n return {\n sqlType: 'struct',\n fields: struct_.children.map(c => arrowToSQLField(c.name, c.type)),\n };\n }\n case arrow.Type.Map: {\n const map_ = type as arrow.Map_;\n return {\n sqlType: 'map',\n keyType: arrowToSQLType(map_.keyType),\n valueType: arrowToSQLType(map_.valueType),\n };\n }\n case arrow.Type.Time:\n return { sqlType: 'time[s]' };\n case arrow.Type.TimeMicrosecond:\n return { sqlType: 'time[us]' };\n case arrow.Type.TimeMillisecond:\n return { sqlType: 'time[ms]' };\n case arrow.Type.TimeNanosecond:\n return { sqlType: 'time[ns]' };\n case arrow.Type.TimeSecond:\n return { sqlType: 'time[s]' };\n case arrow.Type.Timestamp: {\n const ts = type as arrow.Timestamp;\n return { sqlType: 'timestamp', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampSecond: {\n const ts = type as arrow.TimestampSecond;\n return { sqlType: 'timestamp[s]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMicrosecond: {\n const ts = type as arrow.TimestampMicrosecond;\n return { sqlType: 'timestamp[us]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampNanosecond: {\n const ts = type as arrow.TimestampNanosecond;\n return { sqlType: 'timestamp[ns]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMillisecond: {\n const ts = type as arrow.TimestampMillisecond;\n return { sqlType: 'timestamp[ms]', timezone: ts.timezone || undefined };\n }\n }\n throw new Error(`unsupported arrow type: ${type.toString()}`);\n}\n\nexport type SQLField = SQLType & { name: string };\n\nexport function arrowToSQLField(name: string, type: arrow.DataType): SQLField {\n const t = arrowToSQLType(type) as SQLField;\n t.name = name;\n return t;\n}\n", "import * as arrow from 'apache-arrow';\nimport { DuckDBBindings } from './bindings_interface';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\n\n/** A thin helper to bind the connection id and talk record batches */\nexport class DuckDBConnection {\n /** The bindings */\n protected _bindings: DuckDBBindings;\n /** The connection handle */\n protected _conn: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, conn: number) {\n this._bindings = bindings;\n this._conn = conn;\n }\n\n /** Close a connection */\n public close(): void {\n this._bindings.disconnect(this._conn);\n }\n\n /** Brave souls may use this function to consume the underlying connection id */\n public useUnsafe<R>(callback: (bindings: DuckDBBindings, conn: number) => R) {\n return callback(this._bindings, this._conn);\n }\n\n /** Run a query */\n public query<T extends { [key: string]: arrow.DataType } = any>(text: string): arrow.Table<T> {\n const buffer = this._bindings.runQuery(this._conn, text);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return new arrow.Table(reader);\n }\n\n /** Send a query */\n public async send<T extends { [key: string]: arrow.DataType } = any>(\n text: string,\n allowStreamResult: boolean = false,\n ): Promise<arrow.RecordBatchStreamReader<T>> {\n let header = this._bindings.startPendingQuery(this._conn, text, allowStreamResult);\n while (header == null) {\n header = await new Promise((resolve, reject) => {\n try {\n resolve(this._bindings.pollPendingQuery(this._conn));\n } catch (e: any) {\n console.log(e);\n // If the worker is not set, the worker has been terminated\n if (e.message.includes('worker is not set!')) {\n reject(new Error('Worker has been terminated'));\n } else {\n //Otherwise, reject with the error\n reject(e);\n }\n }\n });\n }\n const iter = new ResultStreamIterator(this._bindings, this._conn, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader;\n }\n\n /** Cancel a query that was sent earlier */\n public cancelSent(): boolean {\n return this._bindings.cancelPendingQuery(this._conn);\n }\n\n /** Get table names */\n public getTableNames(query: string): string[] {\n return this._bindings.getTableNames(this._conn, query);\n }\n\n /** Create a prepared statement */\n public prepare<T extends { [key: string]: arrow.DataType } = any>(text: string): PreparedStatement {\n const stmt = this._bindings.createPrepared(this._conn, text);\n return new PreparedStatement<T>(this._bindings, this._conn, stmt);\n }\n\n /** Create a scalar function */\n public createScalarFunction(name: string, returns: arrow.DataType, func: (...args: any[]) => void): void {\n this._bindings.createScalarFunction(this._conn, name, returns, func);\n }\n\n /** Insert an arrow table */\n public insertArrowTable(table: arrow.Table, options: ArrowInsertOptions): void {\n const buffer = arrow.tableToIPC(table, 'stream');\n this.insertArrowFromIPCStream(buffer, options);\n }\n /** Insert an arrow table from an ipc stream */\n public insertArrowFromIPCStream(buffer: Uint8Array, options: ArrowInsertOptions): void {\n this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);\n }\n\n /** Inesrt csv file from path */\n public insertCSVFromPath(path: string, options: CSVInsertOptions): void {\n this._bindings.insertCSVFromPath(this._conn, path, options);\n }\n /** Insert json file from path */\n public insertJSONFromPath(path: string, options: JSONInsertOptions): void {\n this._bindings.insertJSONFromPath(this._conn, path, options);\n }\n}\n\n/** A result stream iterator */\nexport class ResultStreamIterator implements Iterable<Uint8Array> {\n /** First chunk? */\n _first: boolean;\n /** Reached end of stream? */\n _depleted: boolean;\n\n constructor(\n protected bindings: DuckDBBindings,\n protected conn: number,\n protected header: Uint8Array,\n ) {\n this._first = true;\n this._depleted = false;\n }\n\n next(): IteratorResult<Uint8Array> {\n if (this._first) {\n this._first = false;\n return { done: false, value: this.header };\n }\n if (this._depleted) {\n return { done: true, value: null };\n }\n let bufferI8 = null;\n do {\n bufferI8 = this.bindings.fetchQueryResults(this.conn);\n } while (bufferI8 == null);\n this._depleted = bufferI8.length == 0;\n return {\n done: this._depleted,\n value: bufferI8,\n };\n }\n\n [Symbol.iterator]() {\n return this;\n }\n}\n\n/** A thin helper to bind the prepared statement id*/\nexport class PreparedStatement<T extends { [key: string]: arrow.DataType } = any> {\n /** The bindings */\n protected readonly bindings: DuckDBBindings;\n /** The connection id */\n protected readonly connectionId: number;\n /** The statement id */\n protected readonly statementId: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, connectionId: number, statementId: number) {\n this.bindings = bindings;\n this.connectionId = connectionId;\n this.statementId = statementId;\n }\n\n /** Close a prepared statement */\n public close() {\n this.bindings.closePrepared(this.connectionId, this.statementId);\n }\n\n /** Run a prepared statement */\n public query(...params: any[]): arrow.Table<T> {\n const buffer = this.bindings.runPrepared(this.connectionId, this.statementId, params);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return new arrow.Table(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a prepared statement */\n public send(...params: any[]): arrow.RecordBatchStreamReader<T> {\n const header = this.bindings.sendPrepared(this.connectionId, this.statementId, params);\n const iter = new ResultStreamIterator(this.bindings, this.connectionId, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader as arrow.RecordBatchStreamReader;\n }\n}\n", "export enum StatusCode {\n SUCCESS = 0,\n MAX_ARROW_ERROR = 255,\n DUCKDB_WASM_RETRY = 256,\n}\n\nexport function IsArrowBuffer(status: StatusCode): boolean {\n return status <= StatusCode.MAX_ARROW_ERROR;\n}\n\nexport function IsDuckDBWasmRetry(status: StatusCode): boolean {\n return status === StatusCode.DUCKDB_WASM_RETRY;\n}\n", "import { DuckDBRuntime } from './runtime';\nimport { DuckDBModule } from './duckdb_module';\n\nconst TEXT_ENCODER = new TextEncoder();\nconst TEXT_DECODER = new TextDecoder('utf-8');\n\nfunction storeError(mod: DuckDBModule, response: number, message: string) {\n const msgBuffer = TEXT_ENCODER.encode(message);\n const heapAddr = mod._malloc(msgBuffer.byteLength);\n const heapArray = mod.HEAPU8.subarray(heapAddr, heapAddr + msgBuffer.byteLength);\n heapArray.set(msgBuffer);\n mod.HEAPF64[(response >> 3) + 0] = 1;\n mod.HEAPF64[(response >> 3) + 1] = heapAddr;\n mod.HEAPF64[(response >> 3) + 2] = heapArray.byteLength;\n}\n\nfunction getTypeSize(ptype: string) {\n switch (ptype) {\n case 'UINT8':\n case 'INT8':\n return 1;\n case 'INT32':\n case 'FLOAT':\n return 4;\n case 'INT64':\n case 'UINT64':\n case 'DOUBLE':\n case 'VARCHAR':\n return 8;\n default:\n return 0;\n }\n}\n\nfunction ptrToArray(mod: DuckDBModule, ptr: number, ptype: string, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n * getTypeSize(ptype));\n switch (ptype) {\n case 'UINT8':\n return new Uint8Array(heap.buffer, heap.byteOffset, n);\n case 'INT8':\n return new Int8Array(heap.buffer, heap.byteOffset, n);\n case 'INT32':\n return new Int32Array(heap.buffer, heap.byteOffset, n);\n case 'FLOAT':\n return new Float32Array(heap.buffer, heap.byteOffset, n);\n case 'DOUBLE':\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n case 'VARCHAR':\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n default:\n return new Array<string | undefined | null>(0); // cough\n }\n}\n\nfunction ptrToUint8Array(mod: DuckDBModule, ptr: number, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n);\n return new Uint8Array(heap.buffer, heap.byteOffset, n);\n}\nfunction ptrToFloat64Array(mod: DuckDBModule, ptr: number, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n * 8);\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n}\n\ninterface ArgumentTypeDescription {\n name?: string;\n sqlType: string;\n physicalType: string;\n validityBuffer?: number;\n dataBuffer?: number;\n lengthBuffer?: number;\n children?: ArgumentTypeDescription[];\n}\n\ninterface ReturnTypeDescription {\n sqlType: string;\n physicalType: string;\n}\n\ninterface SchemaDescription {\n rows: number;\n args: ArgumentTypeDescription[];\n ret: ReturnTypeDescription;\n}\n\ntype ArgumentResolver = (row: number) => any | null;\n\n// this is called from webdb.cc/CallScalarUDFFunction, changes here need to be matched there\nexport function callScalarUDF(\n runtime: DuckDBRuntime,\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n) {\n try {\n const udf = runtime._udfFunctions.get(funcId);\n if (!udf) {\n storeError(mod, response, 'Unknown UDF with id: ' + funcId);\n return;\n }\n const rawDesc = TEXT_DECODER.decode(mod.HEAPU8.subarray(descPtr, descPtr + descSize));\n const desc = JSON.parse(rawDesc) as SchemaDescription;\n const ptrs = ptrToFloat64Array(mod, ptrsPtr, ptrsSize / 8);\n\n const buildResolver = (arg: ArgumentTypeDescription): ArgumentResolver => {\n let validity: Uint8Array | null = null;\n if (arg.validityBuffer !== undefined) {\n validity = ptrToUint8Array(mod, ptrs[arg.validityBuffer] as number, desc.rows);\n }\n switch (arg.physicalType) {\n case 'VARCHAR': {\n if (arg.dataBuffer === null || arg.dataBuffer === undefined) {\n throw new Error('malformed data view, expected data buffer for VARCHAR argument');\n }\n if (arg.lengthBuffer === null || arg.lengthBuffer === undefined) {\n throw new Error('malformed data view, expected data length buffer for VARCHAR argument');\n }\n const raw = ptrToArray(mod, ptrs[arg.dataBuffer] as number, arg.physicalType, desc.rows);\n const strings: (string | null)[] = [];\n const stringLengths = ptrToFloat64Array(mod, ptrs[arg.lengthBuffer] as number, desc.rows);\n for (let j = 0; j < desc.rows; ++j) {\n if (validity != null && !validity[j]) {\n strings.push(null);\n continue;\n }\n const subarray = mod.HEAPU8.subarray(\n raw[j] as number,\n (raw[j] as number) + (stringLengths[j] as number),\n );\n const str = TEXT_DECODER.decode(subarray);\n strings.push(str);\n }\n return (row: number) => strings[row];\n }\n case 'STRUCT': {\n const tmp: any = {};\n const children: ArgumentResolver[] = [];\n for (let j = 0; j < (arg.children?.length || 0); ++j) {\n const attr = arg.children![j];\n const child = buildResolver(attr);\n children.push((row: number) => {\n tmp[attr.name!] = child(row);\n });\n }\n if (validity != null) {\n return (row: number) => {\n if (!validity![row]) {\n return null;\n }\n for (const resolver of children) {\n resolver(row);\n }\n return tmp;\n };\n } else {\n return (row: number) => {\n for (const resolver of children) {\n resolver(row);\n }\n return tmp;\n };\n }\n }\n default: {\n if (arg.dataBuffer === undefined) {\n throw new Error(\n 'malformed data view, expected data buffer for argument of type: ' + arg.physicalType,\n );\n }\n const data = ptrToArray(mod, ptrs[arg.dataBuffer] as number, arg.physicalType, desc.rows);\n if (validity != null) {\n return (row: number) => (!validity![row] ? null : data[row]);\n } else {\n return (row: number) => data[row];\n }\n }\n }\n };\n\n // Translate argument data\n const argResolvers = [];\n for (let i = 0; i < desc.args.length; ++i) {\n argResolvers.push(buildResolver(desc.args[i]));\n }\n\n // Prepare result buffers\n // TODO: we probably do not want to recreate those every time\n const resultDataLen = desc.rows * getTypeSize(desc.ret.physicalType);\n const resultDataPtr = mod._malloc(resultDataLen);\n const resultData = ptrToArray(mod, resultDataPtr, desc.ret.physicalType, desc.rows);\n const resultValidityPtr = mod._malloc(desc.rows);\n const resultValidity = ptrToUint8Array(mod, resultValidityPtr, desc.rows);\n if (resultData.length == 0 || resultValidity.length == 0) {\n storeError(mod, response, \"Can't create physical arrays for result\");\n return;\n }\n let rawResultData = resultData;\n if (desc.ret.physicalType == 'VARCHAR') {\n rawResultData = new Array<string | undefined | null>(desc.rows);\n }\n\n // Call the function\n const args = [];\n for (let i = 0; i < desc.args.length; ++i) {\n args.push(null);\n }\n for (let i = 0; i < desc.rows; ++i) {\n for (let j = 0; j < desc.args.length; ++j) {\n args[j] = argResolvers[j](i);\n }\n const res = udf.func(...args);\n rawResultData[i] = res;\n resultValidity[i] = res === undefined || res === null ? 0 : 1;\n }\n\n // Encode return values\n let resultLengthsPtr = 0;\n switch (desc.ret.physicalType) {\n case 'VARCHAR': {\n // Allocate result buffers\n const resultDataUTF8 = new Array<Uint8Array>(0); // cough\n resultLengthsPtr = mod._malloc(desc.rows * getTypeSize('DOUBLE'));\n const resultLengths = ptrToFloat64Array(mod, resultLengthsPtr, desc.rows);\n\n // TODO: We need two loops to figure out the total length but maybe we can avoid the double allocation\n let totalLength = 0;\n for (let row = 0; row < desc.rows; ++row) {\n const utf8 = TEXT_ENCODER.encode((rawResultData as (string | null | undefined)[])[row] || '');\n resultDataUTF8.push(utf8);\n resultLengths[row] = utf8.length;\n totalLength += utf8.length;\n }\n\n // We malloc a buffer for the strings to live in for now\n const resultStringPtr = mod._malloc(totalLength);\n const resultStringBuf = mod.HEAPU8.subarray(resultStringPtr, resultStringPtr + totalLength);\n\n // Now copy all the strings to the new buffer back to back\n let writerOffset = 0;\n for (let row = 0; row < desc.rows; ++row) {\n resultData[row] = writerOffset;\n const resultUTF8 = resultDataUTF8[row];\n const writer = resultStringBuf.subarray(writerOffset, writerOffset + resultUTF8.length);\n writer.set(resultUTF8);\n writerOffset += resultUTF8.length;\n }\n }\n }\n\n // Need to store three pointers, data, validity and length\n const retLen = 3 * 8;\n const retPtr = mod._malloc(retLen);\n const retBuffer = ptrToFloat64Array(mod, retPtr, 3);\n retBuffer[0] = resultDataPtr;\n retBuffer[1] = resultValidityPtr;\n retBuffer[2] = resultLengthsPtr;\n\n // Pack response\n mod.HEAPF64[(response >> 3) + 0] = 0;\n mod.HEAPF64[(response >> 3) + 1] = retPtr;\n mod.HEAPF64[(response >> 3) + 2] = 0;\n } catch (e: any) {\n storeError(mod, response, e.toString());\n }\n}\n", "import { DuckDBModule } from './duckdb_module';\nimport { UDFFunction } from './udf_function';\nimport * as udf_rt from './udf_runtime';\n\n/** Wrapper for TextDecoder to support shared array buffers */\nfunction TextDecoderWrapper(): (input?: BufferSource) => string {\n const decoder = new TextDecoder();\n return (data: any) => {\n if (typeof SharedArrayBuffer !== 'undefined' && data.buffer instanceof SharedArrayBuffer) {\n data = new Uint8Array(data);\n }\n return decoder.decode(data);\n };\n}\n/** Helper to decode text */\nexport const decodeText = TextDecoderWrapper();\n\n/** Copy a buffer */\nexport function failWith(mod: DuckDBModule, msg: string): void {\n console.error(`FAIL WITH: ${msg}`);\n mod.ccall('duckdb_web_fail_with', null, ['string'], [msg]);\n}\n\n/** Copy a buffer */\nexport function copyBuffer(mod: DuckDBModule, begin: number, length: number): Uint8Array {\n const buffer = new Uint8Array(mod.HEAPU8.buffer, begin >>> 0, length);\n const copy = new Uint8Array(new ArrayBuffer(buffer.byteLength));\n copy.set(buffer);\n return copy;\n}\n\n/** Decode a string */\nexport function readString(mod: DuckDBModule, begin: number, length: number): string {\n return decodeText(new Uint8Array(mod.HEAPU8.buffer, begin >>> 0, length));\n}\n\n/** The data protocol */\nexport enum DuckDBDataProtocol {\n BUFFER = 0,\n NODE_FS = 1,\n BROWSER_FILEREADER = 2,\n BROWSER_FSACCESS = 3,\n HTTP = 4,\n S3 = 5,\n}\n\n/** File flags for opening files*/\nexport enum FileFlags {\n //! Open file with read access\n FILE_FLAGS_READ = 1 << 0,\n //! Open file with write access\n FILE_FLAGS_WRITE = 1 << 1,\n //! Use direct IO when reading/writing to the file\n FILE_FLAGS_DIRECT_IO = 1 << 2,\n //! Create file if not exists, can only be used together with WRITE\n FILE_FLAGS_FILE_CREATE = 1 << 3,\n //! Always create a new file. If a file exists, the file is truncated. Cannot be used together with CREATE.\n FILE_FLAGS_FILE_CREATE_NEW = 1 << 4,\n //! Open file in append mode\n FILE_FLAGS_APPEND = 1 << 5,\n FILE_FLAGS_PRIVATE = 1 << 6,\n FILE_FLAGS_NULL_IF_NOT_EXISTS = 1 << 7,\n FILE_FLAGS_PARALLEL_ACCESS = 1 << 8,\n FILE_FLAGS_EXCLUSIVE_CREATE = 1 << 9,\n FILE_FLAGS_NULL_IF_EXISTS = 1 << 10\n}\n\n/** Configuration for the AWS S3 Filesystem */\nexport interface S3Config {\n region?: string;\n endpoint?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n sessionToken?: string;\n}\n\n/** An info for a file registered with DuckDB */\nexport interface DuckDBFileInfo {\n cacheEpoch: number;\n fileId: number;\n fileName: string;\n dataProtocol: DuckDBDataProtocol;\n dataUrl: string | null;\n reliableHeadRequests?: boolean;\n allowFullHttpReads?: boolean;\n forceFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Global info for all files registered with DuckDB */\nexport interface DuckDBGlobalFileInfo {\n cacheEpoch: number;\n reliableHeadRequests?: boolean;\n allowFullHttpReads?: boolean;\n forceFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\nexport interface PreparedDBFileHandle {\n path: string;\n handle: any;\n fromCached: boolean;\n}\n\n/** Call a function with packed response buffer */\nexport function callSRet(\n mod: DuckDBModule,\n funcName: string,\n argTypes: Array<Emscripten.JSType>,\n args: Array<any>,\n): [number, number, number] {\n const stackPointer = mod.stackSave();\n\n // Allocate the packed response buffer\n const response = mod.stackAlloc(3 * 8);\n argTypes.unshift('number');\n args.unshift(response);\n\n // Do the call\n mod.ccall(funcName, null, argTypes, args);\n\n // Read the response\n const status = mod.HEAPF64[(response >> 3) + 0];\n const data = mod.HEAPF64[(response >> 3) + 1];\n const dataSize = mod.HEAPF64[(response >> 3) + 2];\n\n // Restore the stack\n mod.stackRestore(stackPointer);\n return [status, data, dataSize];\n}\n\n/** Drop response buffers */\nexport function dropResponseBuffers(mod: DuckDBModule): void {\n mod.ccall('duckdb_web_clear_response', null, [], []);\n}\n\n/** The duckdb runtime */\nexport interface DuckDBRuntime {\n _files?: Map<string, any>;\n _udfFunctions: Map<number, UDFFunction>;\n\n // Test a platform feature\n testPlatformFeature(mod: DuckDBModule, feature: number): boolean;\n\n // File APIs with dedicated file identifier\n getDefaultDataProtocol(mod: DuckDBModule): number;\n openFile(mod: DuckDBModule, fileId: number, flags: FileFlags): void;\n syncFile(mod: DuckDBModule, fileId: number): void;\n closeFile(mod: DuckDBModule, fileId: number): void;\n dropFile(mod: DuckDBModule, fileNamePtr: number, fileNameLen: number): void;\n getLastFileModificationTime(mod: DuckDBModule, fileId: number): number;\n truncateFile(mod: DuckDBModule, fileId: number, newSize: number): void;\n readFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n writeFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n\n // File APIs with path parameter\n removeDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n checkDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n createDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n listDirectoryEntries(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n glob(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n moveFile(mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number): void;\n checkFile(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n removeFile(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n\n // Prepare a file handle that could only be acquired aschronously\n prepareFileHandle?: (path: string, protocol: DuckDBDataProtocol) => Promise<PreparedDBFileHandle[]>;\n prepareFileHandles?: (path: string[], protocol: DuckDBDataProtocol) => Promise<PreparedDBFileHandle[]>;\n prepareDBFileHandle?: (path: string, protocol: DuckDBDataProtocol) => Promise<PreparedDBFileHandle[]>;\n\n // Internal API - experimental\n progressUpdate(final: number, percentage: number, iteration: number): void;\n\n // Call a scalar UDF function\n callScalarUDF(\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void;\n}\n\nexport const DEFAULT_RUNTIME: DuckDBRuntime = {\n _udfFunctions: new Map(),\n\n testPlatformFeature: (_mod: DuckDBModule, _feature: number): boolean => false,\n getDefaultDataProtocol: (_mod: DuckDBModule): number => DuckDBDataProtocol.BUFFER,\n openFile: (_mod: DuckDBModule, _fileId: number, flags: FileFlags): void => {},\n syncFile: (_mod: DuckDBModule, _fileId: number): void => {},\n closeFile: (_mod: DuckDBModule, _fileId: number): void => {},\n dropFile: (_mod: DuckDBModule, _fileNamePtr: number, _fileNameLen: number): void => {},\n getLastFileModificationTime: (_mod: DuckDBModule, _fileId: number): number => {\n return 0;\n },\n progressUpdate: (_final: number, _percentage: number, _iteration: number): void => {\n return;\n },\n truncateFile: (_mod: DuckDBModule, _fileId: number, _newSize: number): void => {},\n readFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n writeFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n\n removeDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n checkDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n createDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n listDirectoryEntries: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n glob: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n moveFile: (_mod: DuckDBModule, _fromPtr: number, _fromLen: number, _toPtr: number, _toLen: number): void => {},\n checkFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf_rt.callScalarUDF(DEFAULT_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n", "export interface FileBlockStatistics {\n /** The file reads cold */\n file_reads_cold: number;\n /** The file reads aheads */\n file_reads_ahead: number;\n /** The file reads cached */\n file_reads_cached: number;\n /** The file writes */\n file_writes: number;\n /** The page accesses */\n page_accesses: number;\n /** The page loads */\n page_loads: number;\n}\n\n/** The file block statistics */\nexport class FileStatistics {\n /** The cold file reads */\n public totalFileReadsCold: number;\n /** The file readaheads */\n public totalFileReadsAhead: number;\n /** The cached file reads */\n public totalFileReadsCached: number;\n /** The file writes */\n public totalFileWrites: number;\n /** The page accesses */\n public totalPageAccesses: number;\n /** The page loads */\n public totalPageLoads: number;\n /** The blocks */\n public blockSize: number;\n /** The blocks */\n public blockStats: Uint8Array;\n\n constructor(u8array: Uint8Array) {\n const f64 = new Float64Array(u8array.buffer, u8array.byteOffset, u8array.byteLength / 8);\n const blocks = new Uint8Array(new ArrayBuffer(u8array.byteLength));\n blocks.set(u8array.subarray(7 * 8));\n this.totalFileReadsCold = f64[0];\n this.totalFileReadsAhead = f64[1];\n this.totalFileReadsCached = f64[2];\n this.totalFileWrites = f64[3];\n this.totalPageAccesses = f64[4];\n this.totalPageLoads = f64[5];\n this.blockSize = f64[6];\n this.blockStats = blocks;\n }\n\n /** The block stats */\n public getBlockStats(index: number, out?: FileBlockStatistics): FileBlockStatistics {\n out = out || {\n file_reads_cold: 0,\n file_reads_ahead: 0,\n file_reads_cached: 0,\n file_writes: 0,\n page_accesses: 0,\n page_loads: 0,\n };\n out.file_writes = this.blockStats[index * 3 + 0] & 0b1111;\n out.file_reads_cold = this.blockStats[index * 3 + 0] >> 4;\n out.file_reads_ahead = this.blockStats[index * 3 + 1] & 0b1111;\n out.file_reads_cached = this.blockStats[index * 3 + 1] >> 4;\n out.page_accesses = this.blockStats[index * 3 + 1] & 0b1111;\n out.page_loads = this.blockStats[index * 3 + 1] >> 4;\n return out;\n }\n}\n", "import { DuckDBModule, PThread } from './duckdb_module';\nimport { DuckDBConfig } from './config';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from './progress';\nimport { DuckDBBindings } from './bindings_interface';\nimport { DuckDBConnection } from './connection';\nimport { StatusCode, IsArrowBuffer, IsDuckDBWasmRetry } from '../status';\nimport { dropResponseBuffers, DuckDBRuntime, readString, callSRet, copyBuffer, DuckDBDataProtocol } from './runtime';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\nimport { ScriptTokens } from './tokens';\nimport { FileStatistics } from './file_stats';\nimport { arrowToSQLField, arrowToSQLType } from '../json_typedef';\nimport { WebFile } from './web_file';\nimport { UDFFunction, UDFFunctionDeclaration } from './udf_function';\nimport * as arrow from 'apache-arrow';\n\nconst TEXT_ENCODER = new TextEncoder();\n\ndeclare global {\n // eslint-disable-next-line no-var\n var DUCKDB_RUNTIME: any;\n}\n\n/** A DuckDB Feature */\nexport enum DuckDBFeature {\n WASM_EXCEPTIONS = 1 << 0,\n WASM_THREADS = 1 << 1,\n WASM_SIMD = 1 << 2,\n WASM_BULK_MEMORY = 1 << 3,\n EMIT_BIGINT = 1 << 4,\n WASMFS = 1 << 5,\n}\n\n/** The proxy for either the browser- order node-based DuckDB API */\nexport abstract class DuckDBBindingsBase implements DuckDBBindings {\n /** The logger */\n protected readonly _logger: Logger;\n /** Backend-dependent native-glue code for DuckDB */\n protected readonly _runtime: DuckDBRuntime;\n /** The instance */\n protected _instance: DuckDBModule | null = null;\n /** The loading promise */\n protected _initPromise: Promise<void> | null = null;\n /** The resolver for the open promise (called by onRuntimeInitialized) */\n protected _initPromiseResolver: () => void = () => {};\n /** The next UDF id */\n protected _nextUDFId: number;\n\n constructor(logger: Logger, runtime: DuckDBRuntime) {\n this._logger = logger;\n this._runtime = runtime;\n this._nextUDFId = 1;\n }\n\n /** Get the logger */\n public get logger(): Logger {\n return this._logger;\n }\n /** Get the instance */\n public get mod(): DuckDBModule {\n return this._instance!;\n }\n /** Get the instance */\n public get pthread(): PThread | null {\n return this.mod.PThread || null;\n }\n\n /** Instantiate the module */\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n /** Instantiate the module */\n protected onInstantiationProgress: ((p: InstantiationProgress) => void)[] = [];\n /** Instantiate the database */\n public async instantiate(onProgress: (progress: InstantiationProgress) => void = _ => {}): Promise<this> {\n // Already opened?\n if (this._instance != null) {\n return this;\n }\n // Open in progress?\n if (this._initPromise != null) {\n this.onInstantiationProgress.push(onProgress);\n await this._initPromise;\n }\n // Create a promise that we can await\n this._initPromise = new Promise(resolve => {\n this._initPromiseResolver = resolve;\n });\n // Register progress handler\n this.onInstantiationProgress = [onProgress];\n // Initialize duckdb\n this._instance = await this.instantiateImpl({\n print: console.log.bind(console),\n printErr: console.log.bind(console),\n onRuntimeInitialized: this._initPromiseResolver,\n });\n // Wait for onRuntimeInitialized\n await this._initPromise;\n this._initPromise = null;\n // Remove own progress callback\n this.onInstantiationProgress = this.onInstantiationProgress.filter(x => x != onProgress);\n (globalThis as any).DUCKDB_BINDINGS = this;\n return this;\n }\n /** Open a database with a config */\n public open(config: DuckDBConfig): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_open', ['string'], [JSON.stringify(config)]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Reset the database */\n public reset(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_reset', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Get the version */\n public getVersion(): string {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_version', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const version = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return version;\n }\n /** Get the feature flags */\n public getFeatureFlags(): number {\n return this.mod.ccall('duckdb_web_get_feature_flags', 'number', [], []);\n }\n\n /** Tokenize a script */\n public tokenize(text: string): ScriptTokens {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_tokenize_buffer',\n ['number', 'number'],\n [bufferPtr, BUF.length],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as ScriptTokens;\n }\n\n /** Connect to database */\n public connect(): DuckDBConnection {\n const conn = this.mod.ccall('duckdb_web_connect', 'number', [], []);\n return new DuckDBConnection(this, conn);\n }\n /** Disconnect from database */\n public disconnect(conn: number): void {\n this.mod.ccall('duckdb_web_disconnect', null, ['number'], [conn]);\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'dropUDFFunctions',\n connectionId: conn,\n });\n }\n }\n }\n\n /** Send a query and return the full result */\n public runQuery(conn: number, text: string): Uint8Array {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_query_run_buffer',\n ['number', 'number', 'number'],\n [conn, bufferPtr, BUF.length],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /**\n * Start a pending query asynchronously.\n * This method returns either the arrow ipc schema or null.\n * On null, the query has to be executed using `pollPendingQuery` until that returns != null.\n * Results can then be fetched using `fetchQueryResults`\n */\n public startPendingQuery(conn: number, text: string, allowStreamResult: boolean = false): Uint8Array | null {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_pending_query_start_buffer',\n ['number', 'number', 'number', 'boolean'],\n [conn, bufferPtr, BUF.length, allowStreamResult],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n if (d == 0) {\n return null;\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Poll a pending query */\n public pollPendingQuery(conn: number): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_pending_query_poll', ['number'], [conn]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n if (d == 0) {\n return null;\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Cancel a pending query */\n public cancelPendingQuery(conn: number): boolean {\n return this.mod.ccall('duckdb_web_pending_query_cancel', 'boolean', ['number'], [conn]);\n }\n /** Fetch query results */\n public fetchQueryResults(conn: number): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_fetch_results', ['number'], [conn]);\n if (IsDuckDBWasmRetry(s)) {\n dropResponseBuffers(this.mod);\n return null; // Retry\n }\n\n if (!IsArrowBuffer(s)) {\n throw new Error(\n 'Unexpected StatusCode from duckdb_web_query_fetch_results (' +\n s +\n ') and with self reported error as' +\n readString(this.mod, d, n),\n );\n }\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Get table names */\n public getTableNames(conn: number, text: string): string[] {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_get_tablenames_buffer',\n ['number', 'number', 'number'],\n [conn, bufferPtr, BUF.length],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as string[];\n }\n\n /** Create a scalar function */\n public createScalarFunction(\n conn: number,\n name: string,\n returns: arrow.DataType,\n func: (...args: any[]) => void,\n ): void {\n const decl: UDFFunctionDeclaration = {\n functionId: this._nextUDFId,\n name: name,\n returnType: arrowToSQLType(returns),\n };\n const def: UDFFunction = {\n functionId: decl.functionId,\n connectionId: conn,\n name: name,\n returnType: returns,\n func,\n };\n this._nextUDFId += 1;\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_udf_scalar_create',\n ['number', 'string'],\n [conn, JSON.stringify(decl)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._udfFunctions = (globalThis.DUCKDB_RUNTIME._udfFunctions || new Map()).set(\n def.functionId,\n def,\n );\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'registerUDFFunction',\n udf: def,\n });\n }\n }\n }\n\n /** Prepare a statement and return its identifier */\n public createPrepared(conn: number, text: string): number {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_create_buffer',\n ['number', 'number', 'number'],\n [conn, bufferPtr, BUF.length],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n return d;\n }\n\n /** Close a prepared statement */\n public closePrepared(conn: number, statement: number): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_close', ['number', 'number'], [conn, statement]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Execute a prepared statement and return the full result */\n public runPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_run',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Execute a prepared statement and stream the result */\n public sendPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_send',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Insert record batches from an arrow ipc stream */\n public insertArrowFromIPCStream(conn: number, buffer: Uint8Array, options?: ArrowInsertOptions): void {\n if (buffer.length == 0) return;\n // Store buffer\n const bufferPtr = this.mod._malloc(buffer.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, buffer.length);\n bufferOfs.set(buffer);\n const optJSON = options ? JSON.stringify(options) : '';\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_arrow_from_ipc_stream',\n ['number', 'number', 'number', 'string'],\n [conn, bufferPtr, buffer.length, optJSON],\n );\n\n this.mod._free(bufferPtr);\n\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n\n /** Insert csv from path */\n public insertCSVFromPath(conn: number, path: string, options: CSVInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(arrowToSQLField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_csv_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Insert json from path */\n public insertJSONFromPath(conn: number, path: string, options: JSONInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(arrowToSQLField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_json_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Glob file infos */\n public globFiles(path: string): WebFile[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_glob_file_infos', ['string'], [path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const infoStr = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n const info = JSON.parse(infoStr) as WebFile[];\n if (info == null) {\n return [];\n }\n return info;\n }\n /** Register a file object URL */\n public registerFileURL(name: string, url: string, proto: DuckDBDataProtocol, directIO = false): void {\n if (url === undefined) {\n url = name;\n }\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string'],\n [name, url, proto, directIO],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register file text */\n public registerFileText(name: string, text: string): void {\n const buffer = TEXT_ENCODER.encode(text);\n this.registerFileBuffer(name, buffer);\n }\n /** Register a file buffer */\n public registerFileBuffer(name: string, buffer: Uint8Array): void {\n const ptr = this.mod._malloc(buffer.length) >>> 0;\n const dst = new Uint8Array(this.mod.HEAPU8.buffer, ptr, buffer.length);\n dst.set(buffer);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_buffer',\n ['string', 'number', 'number'],\n [name, ptr, buffer.length],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n public async prepareFileHandle(fileName: string, protocol: DuckDBDataProtocol): Promise<void> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS && this._runtime.prepareFileHandles) {\n const list = await this._runtime.prepareFileHandles([fileName], DuckDBDataProtocol.BROWSER_FSACCESS);\n for (const item of list) {\n const { handle, path: filePath, fromCached } = item;\n if (!fromCached && handle.getSize()) {\n await this.registerFileHandleAsync(filePath, handle, DuckDBDataProtocol.BROWSER_FSACCESS, true);\n }\n }\n return;\n }\n throw new Error(`prepareFileHandle: unsupported protocol ${protocol}`);\n }\n /** Prepare a file handle that could only be acquired aschronously */\n public async prepareDBFileHandle(path: string, protocol: DuckDBDataProtocol): Promise<void> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS && this._runtime.prepareDBFileHandle) {\n const list = await this._runtime.prepareDBFileHandle(path, DuckDBDataProtocol.BROWSER_FSACCESS);\n for (const item of list) {\n const { handle, path: filePath, fromCached } = item;\n if (!fromCached && handle.getSize()) {\n await this.registerFileHandleAsync(filePath, handle, DuckDBDataProtocol.BROWSER_FSACCESS, true);\n }\n }\n return;\n }\n throw new Error(`prepareDBFileHandle: unsupported protocol ${protocol}`);\n }\n /** Prepare a file object URL */\n public async prepareFileHandleAsync<HandleType>(\n name: string,\n handle: HandleType,\n protocol: DuckDBDataProtocol,\n directIO: boolean,\n ): Promise<HandleType> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS) {\n if (handle instanceof FileSystemSyncAccessHandle) {\n // already a handle is sync handle.\n } else if (handle instanceof FileSystemFileHandle) {\n // handle is an async handle, should convert to sync handle\n const fileHandle: FileSystemFileHandle = handle as any;\n try {\n handle = (await fileHandle.createSyncAccessHandle()) as any;\n } catch (e: any) {\n throw new Error(e.message + ':' + name);\n }\n } else if (name != null) {\n // should get sync handle from the file name.\n try {\n const opfsRoot = await navigator.storage.getDirectory();\n const fileHandle = await opfsRoot.getFileHandle(name);\n handle = (await fileHandle.createSyncAccessHandle()) as any;\n } catch (e: any) {\n throw new Error(e.message + ':' + name);\n }\n }\n }\n return handle;\n }\n /** Register a file object URL async */\n public async registerFileHandleAsync<HandleType>(\n name: string,\n handle: HandleType,\n protocol: DuckDBDataProtocol,\n directIO: boolean,\n ): Promise<void> {\n const handle_inner = await this.prepareFileHandleAsync(name, handle, protocol, directIO);\n this.registerFileHandle(name, handle_inner, protocol, directIO);\n }\n /** Register a file object URL */\n public registerFileHandle<HandleType>(\n name: string,\n handle: HandleType,\n protocol: DuckDBDataProtocol,\n directIO: boolean,\n ): void {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string', 'number', 'boolean'],\n [name, name, protocol, directIO],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._files = (globalThis.DUCKDB_RUNTIME._files || new Map()).set(name, handle);\n if (globalThis.DUCKDB_RUNTIME._preparedHandles?.[name]) {\n delete globalThis.DUCKDB_RUNTIME._preparedHandles[name];\n }\n if (this.pthread) {\n for (const worker of this.pthread.runningWorkers) {\n worker.postMessage({\n cmd: 'registerFileHandle',\n fileName: name,\n fileHandle: handle,\n });\n }\n for (const worker of this.pthread.unusedWorkers) {\n worker.postMessage({\n cmd: 'dropFileHandle',\n fileName: name,\n });\n }\n }\n }\n /** Drop file */\n public dropFile(name: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_file', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Drop files */\n public dropFiles(names?:string[]): void {\n const pointers:number[] = [];\n let pointerOfArray:number = -1;\n try {\n for (const str of (names ?? [])) {\n if (str !== null && str !== undefined && str.length > 0) {\n const size = this.mod.lengthBytesUTF8(str) + 1;\n const ret = this.mod._malloc(size);\n if (!ret) {\n throw new Error(`Failed to allocate memory for string: ${str}`);\n }\n this.mod.stringToUTF8(str, ret, size);\n pointers.push(ret);\n }\n }\n pointerOfArray = this.mod._malloc(pointers.length * 4);\n if (!pointerOfArray) {\n throw new Error(`Failed to allocate memory for pointers array`);\n }\n for (let i = 0; i < pointers.length; i++) {\n this.mod.HEAP32[(pointerOfArray >> 2) + i] = pointers[i];\n }\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_drop_files',\n [\n 'number',\n 'number'\n ],\n [\n pointerOfArray,\n pointers.length\n ]\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n } finally {\n for (const pointer of pointers) {\n this.mod._free(pointer);\n }\n if( pointerOfArray > 0 ){\n this.mod._free(pointerOfArray);\n }\n }\n }\n /** Flush all files */\n public flushFiles(): void {\n this.mod.ccall('duckdb_web_flush_files', null, [], []);\n }\n /** Write a file to a path */\n public copyFileToPath(name: string, path: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_path', ['string', 'string'], [name, path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Write a file to a buffer */\n public copyFileToBuffer(name: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_buffer', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const buffer = new Uint8Array(this.mod.HEAPU8.buffer, d >>> 0, n);\n const copy = new Uint8Array(buffer.length);\n copy.set(buffer);\n dropResponseBuffers(this.mod);\n return copy;\n }\n /** Enable tracking of file statistics */\n public async registerOPFSFileName(file: string): Promise<void> {\n if (file.startsWith('opfs://')) {\n return this.prepareFileHandle(file, DuckDBDataProtocol.BROWSER_FSACCESS);\n } else {\n throw new Error('Not an OPFS file name: ' + file);\n }\n }\n public collectFileStatistics(file: string, enable: boolean): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_collect_file_stats', ['string', 'boolean'], [file, enable]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Export file statistics */\n public exportFileStatistics(file: string): FileStatistics {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_export_file_stats', ['string'], [file]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n return new FileStatistics(new Uint8Array(this.mod.HEAPU8.buffer, d >>> 0, n));\n }\n}\n", "import { DuckDBBindings, DuckDBDataProtocol, DuckDBFeature } from '../bindings';\nimport { WorkerResponseVariant, WorkerRequestVariant, WorkerRequestType, WorkerResponseType } from './worker_request';\nimport { Logger, LogEntryVariant } from '../log';\nimport { InstantiationProgress } from '../bindings/progress';\n\nexport abstract class AsyncDuckDBDispatcher implements Logger {\n /** The bindings */\n protected _bindings: DuckDBBindings | null = null;\n /** The next message id */\n protected _nextMessageId = 0;\n\n /** Instantiate the wasm module */\n protected abstract instantiate(\n mainModule: string,\n pthreadWorker: string | null,\n progress: (p: InstantiationProgress) => void,\n ): Promise<DuckDBBindings>;\n /** Post a response to the main thread */\n protected abstract postMessage(response: WorkerResponseVariant, transfer: ArrayBuffer[]): void;\n\n /** Send log entry to the main thread */\n public log(entry: LogEntryVariant): void {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: 0,\n type: WorkerResponseType.LOG,\n data: entry,\n },\n [],\n );\n }\n\n /** Send plain OK without further data */\n protected sendOK(request: WorkerRequestVariant): void {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.OK,\n data: null,\n },\n [],\n );\n }\n\n /** Fail with an error */\n protected failWith(request: WorkerRequestVariant, e: Error): void {\n // Workaround for Firefox not being able to perform structured-clone on Native Errors\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n const obj: any = {\n name: e.name,\n message: e.message,\n stack: e.stack || undefined,\n };\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.ERROR,\n data: obj,\n },\n [],\n );\n return;\n }\n\n /** Process a request from the main thread */\n public async onMessage(request: WorkerRequestVariant): Promise<void> {\n // First process those requests that don't need bindings\n switch (request.type) {\n case WorkerRequestType.PING:\n this.sendOK(request);\n return;\n case WorkerRequestType.INSTANTIATE:\n if (this._bindings != null) {\n this.failWith(request, new Error('duckdb already initialized'));\n }\n try {\n this._bindings = await this.instantiate(request.data[0], request.data[1], p => {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.INSTANTIATE_PROGRESS,\n data: p,\n },\n [],\n );\n });\n this.sendOK(request);\n } catch (e: any) {\n console.log(e);\n this._bindings = null;\n this.failWith(request, e);\n }\n return;\n default:\n break;\n }\n\n // Bindings not initialized?\n if (!this._bindings) {\n return this.failWith(request, new Error('duckdb is not initialized'));\n }\n\n // Catch every exception and forward it as error message to the main thread\n try {\n switch (request.type) {\n case WorkerRequestType.GET_VERSION:\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.VERSION_STRING,\n data: this._bindings.getVersion(),\n },\n [],\n );\n break;\n case WorkerRequestType.GET_FEATURE_FLAGS:\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FEATURE_FLAGS,\n data: this._bindings.getFeatureFlags(),\n },\n [],\n );\n break;\n case WorkerRequestType.RESET:\n this._bindings.reset();\n this.sendOK(request);\n break;\n\n case WorkerRequestType.OPEN: {\n const path = request.data.path;\n const hasWasmFS = !!(this._bindings!.getFeatureFlags() & DuckDBFeature.WASMFS);\n if (path?.startsWith('opfs://') && !hasWasmFS) {\n await this._bindings.prepareDBFileHandle(path, DuckDBDataProtocol.BROWSER_FSACCESS);\n request.data.useDirectIO = true;\n }\n this._bindings.open(request.data);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.DROP_FILE:\n this._bindings.dropFile(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.DROP_FILES:\n this._bindings.dropFiles(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.FLUSH_FILES:\n this._bindings.flushFiles();\n this.sendOK(request);\n break;\n case WorkerRequestType.CONNECT: {\n const conn = this._bindings.connect();\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.CONNECTION_INFO,\n data: conn.useUnsafe((_, c) => c),\n },\n [],\n );\n break;\n }\n case WorkerRequestType.DISCONNECT:\n this._bindings.disconnect(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.CREATE_PREPARED: {\n const result = this._bindings.createPrepared(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.PREPARED_STATEMENT_ID,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.CLOSE_PREPARED: {\n this._bindings.closePrepared(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.RUN_PREPARED: {\n const result = this._bindings.runPrepared(request.data[0], request.data[1], request.data[2]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.RUN_QUERY: {\n const result = this._bindings.runQuery(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.SEND_PREPARED: {\n const result = this._bindings.sendPrepared(request.data[0], request.data[1], request.data[2]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.START_PENDING_QUERY: {\n const result = this._bindings.startPendingQuery(request.data[0], request.data[1], request.data[2]);\n const transfer = [];\n if (result) {\n transfer.push(result.buffer);\n }\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.POLL_PENDING_QUERY: {\n const result = this._bindings.pollPendingQuery(request.data);\n const transfer = [];\n if (result) {\n transfer.push(result.buffer);\n }\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.CANCEL_PENDING_QUERY: {\n const result = this._bindings.cancelPendingQuery(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.SUCCESS,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.FETCH_QUERY_RESULTS: {\n const result = this._bindings.fetchQueryResults(request.data);\n const transfer = result ? [result.buffer] : [];\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_CHUNK,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.GET_TABLE_NAMES: {\n const result = this._bindings.getTableNames(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.TABLE_NAMES,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.GLOB_FILE_INFOS: {\n const infos = this._bindings.globFiles(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_INFOS,\n data: infos,\n },\n [],\n );\n break;\n }\n\n case WorkerRequestType.REGISTER_FILE_URL:\n this._bindings.registerFileURL(request.data[0], request.data[1], request.data[2], request.data[3]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_FILE_BUFFER:\n this._bindings.registerFileBuffer(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_FILE_HANDLE:\n await this._bindings.registerFileHandleAsync(\n request.data[0],\n request.data[1],\n request.data[2],\n request.data[3],\n );\n this.sendOK(request);\n break;\n\n case WorkerRequestType.COPY_FILE_TO_PATH:\n this._bindings.copyFileToPath(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.COPY_FILE_TO_BUFFER: {\n const buffer = this._bindings.copyFileToBuffer(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_BUFFER,\n data: buffer,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.COLLECT_FILE_STATISTICS:\n this._bindings.collectFileStatistics(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_OPFS_FILE_NAME: {\n const hasWasmFS = !!(this._bindings!.getFeatureFlags() & DuckDBFeature.WASMFS);\n if (!hasWasmFS) {\n await this._bindings.registerOPFSFileName(request.data[0]);\n }\n this.sendOK(request);\n break;\n }\n\n case WorkerRequestType.EXPORT_FILE_STATISTICS: {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_STATISTICS,\n data: this._bindings.exportFileStatistics(request.data),\n },\n [],\n );\n break;\n }\n case WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM: {\n this._bindings.insertArrowFromIPCStream(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.INSERT_CSV_FROM_PATH: {\n this._bindings.insertCSVFromPath(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.INSERT_JSON_FROM_PATH: {\n this._bindings.insertJSONFromPath(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.TOKENIZE: {\n const result = this._bindings.tokenize(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.SCRIPT_TOKENS,\n data: result,\n },\n [],\n );\n break;\n }\n }\n } catch (e: any) {\n console.log(e);\n return this.failWith(request, e);\n }\n }\n}\n", "import DuckDBWasm from './duckdb-coi.js';\nimport { DuckDBBrowserBindings } from './bindings_browser_base';\nimport { DuckDBModule } from './duckdb_module';\nimport { DuckDBRuntime } from './runtime';\nimport { Logger } from '../log';\n\n/** DuckDB bindings for the browser */\nexport class DuckDB extends DuckDBBrowserBindings {\n /** Constructor */\n public constructor(\n logger: Logger,\n runtime: DuckDBRuntime,\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n ) {\n super(logger, runtime, mainModuleURL, pthreadWorkerURL);\n }\n\n /** Instantiate the bindings */\n protected instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule> {\n const opts: any = {\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n };\n // Emscripten 4.0.3 uses mainScriptUrlOrBlob (not locateFile) for pthread workers\n if (this.pthreadWorkerURL) {\n opts.mainScriptUrlOrBlob = this.pthreadWorkerURL;\n }\n return DuckDBWasm(opts);\n }\n}\n\nexport default DuckDB;\n", "import { DuckDBModule } from './duckdb_module';\nimport { DuckDBBindingsBase } from './bindings_base';\nimport { DuckDBRuntime } from './runtime';\nimport { LogLevel, LogTopic, LogOrigin, LogEvent } from '../log';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from '.';\n\n/** DuckDB bindings for the browser */\nexport abstract class DuckDBBrowserBindings extends DuckDBBindingsBase {\n /** The path of the wasm module */\n protected readonly mainModuleURL: string;\n /** The path of the pthread worker script */\n protected readonly pthreadWorkerURL: string | null;\n\n /** Constructor */\n public constructor(logger: Logger, runtime: DuckDBRuntime, mainModuleURL: string, pthreadWorkerURL: string | null) {\n super(logger, runtime);\n this.mainModuleURL = mainModuleURL;\n this.pthreadWorkerURL = pthreadWorkerURL;\n }\n\n /** Locate a file */\n protected locateFile(path: string, prefix: string): string {\n if (path.endsWith('.wasm')) {\n return this.mainModuleURL;\n }\n if (path.endsWith('.worker.js')) {\n if (!this.pthreadWorkerURL) {\n throw new Error('Missing DuckDB worker URL!');\n }\n return this.pthreadWorkerURL!;\n }\n throw new Error(`WASM instantiation requested unexpected file: prefix=${prefix} path=${path}`);\n }\n\n /** Instantiate the wasm module */\n protected instantiateWasm(\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n imports: any,\n success: (instance: WebAssembly.Instance, module: WebAssembly.Module) => void,\n ): Emscripten.WebAssemblyExports {\n // We rely on the following here:\n //\n // ...when a Request object is created using the Request.Request constructor,\n // the value of the mode property for that Request is set to cors.\n // [ref: MDN]\n //\n // Cloudflare throws when mode: 'cors' is set\n //\n globalThis.DUCKDB_RUNTIME = this._runtime;\n const handlers = this.onInstantiationProgress;\n\n // Does the browser support streaming instantiation?\n if (WebAssembly.instantiateStreaming) {\n // Does the browser support transform streams?\n if (typeof TransformStream === 'function') {\n const fetchWithProgress = async () => {\n // Try to determine file size\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const contentLengthHdr = response.headers.get('content-length');\n const contentLength = contentLengthHdr ? parseInt(contentLengthHdr, 10) || 0 : 0;\n\n // Transform the stream\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: contentLength || 0,\n bytesLoaded: 0,\n };\n const tracker = {\n transform(chunk: any, ctrl: TransformStreamDefaultController) {\n progress.bytesLoaded += chunk.byteLength;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n ctrl.enqueue(chunk);\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n ctrl.enqueue(chunk);\n },\n };\n const ts = new TransformStream(tracker);\n return new Response(response.body?.pipeThrough(ts), response);\n };\n // Instantiate streaming\n const response = fetchWithProgress();\n WebAssembly.instantiateStreaming(response, imports).then(output => {\n success(output.instance, output.module);\n });\n } else {\n console.warn('instantiating without progress handler since transform streams are unavailable');\n const request = new Request(this.mainModuleURL);\n WebAssembly.instantiateStreaming(fetch(request), imports).then(output => {\n success(output.instance, output.module);\n });\n }\n } else if (typeof XMLHttpRequest == 'function') {\n // Otherwise we fall back to XHRs\n const xhr = new XMLHttpRequest();\n const url = this.mainModuleURL;\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: 0,\n bytesLoaded: 0,\n };\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.onerror = error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to load WASM: ' + error,\n });\n throw new Error(error.toString());\n };\n xhr.onprogress = e => {\n progress.bytesTotal = e.total;\n progress.bytesLoaded = e.loaded;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n };\n xhr.onload = () => {\n WebAssembly.instantiate(xhr.response, imports)\n .then(output => {\n success(output.instance, output.module);\n })\n .catch(error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to instantiate WASM: ' + error,\n });\n throw new Error(error);\n });\n };\n xhr.send();\n } else {\n console.warn('instantiating with manual fetch since streaming instantiation and xhrs are unavailable');\n const run = async () => {\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const buffer = await response.arrayBuffer();\n WebAssembly.instantiate(buffer, imports).then(output => {\n success(output.instance, output.module);\n });\n };\n run();\n }\n return [];\n }\n\n /// Instantiation must be done by the browser variants\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n}\n", "import { S3Config } from '../bindings';\nimport { sha256 } from 'js-sha256';\n\nexport interface S3Params {\n url: string;\n query: string;\n host: string;\n region: string;\n service: string;\n method: string;\n accessKeyId: string;\n secretAccessKey: string;\n sessionToken: string;\n dateNow: string;\n datetimeNow: string;\n}\n\nexport interface S3PayloadParams {\n contentHash: string | null;\n contentType: string | null;\n}\n\nconst getHTTPHost = function (config: S3Config | undefined, url: string, bucket: string): string {\n if (config?.endpoint?.startsWith('http')) {\n // Endpoint is a full url, extract just the host (no path)\n const endpointUrl = new URL(config.endpoint);\n return endpointUrl.host;\n } else if (config?.endpoint) {\n // Endpoint is not a full url and the https://{bucket}.{domain} format will be used\n return `${bucket}.${config?.endpoint}`;\n } else {\n // Default aws s3 url\n return `${bucket}.s3.amazonaws.com`;\n }\n};\n\nexport function getS3Params(config: S3Config | undefined, url: string, method: string): S3Params {\n const parsedS3Url = parseS3Url(url);\n\n // when using S3 path-style access, the signed URL should also include the endpoint's path + bucket name,\n // as they will both be present in the HTTP URL path.\n // See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html#path-style-url-ex\n let path = parsedS3Url.path;\n if (isPathStyleAccess(config)) {\n // Extract endpoint path if present (e.g., \"/some/path\" from \"https://host/some/path\")\n let endpointPath = '';\n if (config?.endpoint) {\n const endpointUrl = new URL(config.endpoint);\n if (endpointUrl.pathname !== '/') {\n endpointPath = endpointUrl.pathname;\n }\n }\n path = `${endpointPath}/${parsedS3Url.bucket}${path}`;\n }\n return {\n url: path,\n query: '',\n host: getHTTPHost(config, url, parsedS3Url.bucket),\n region: config?.region ?? '',\n service: 's3',\n method: method,\n accessKeyId: config?.accessKeyId ?? '',\n secretAccessKey: config?.secretAccessKey ?? '',\n sessionToken: config?.sessionToken ?? '',\n dateNow: new Date().toISOString().replace(/-/g, '').split('T')[0],\n datetimeNow: new Date().toISOString().replace(/-/g, '').replace(/:/g, '').split('.')[0] + 'Z',\n };\n}\n\nexport function uriEncode(input: string, encode_slash = false) {\n // https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html\n\n const hexDigit = '0123456789ABCDEF';\n let result = '';\n\n for (let i = 0; i < input.length; i++) {\n const ch: string = input[i];\n\n if (\n (ch >= 'A' && ch <= 'Z') ||\n (ch >= 'a' && ch <= 'z') ||\n (ch >= '0' && ch <= '9') ||\n ch == '_' ||\n ch == '-' ||\n ch == '~' ||\n ch == '.'\n ) {\n result += ch;\n } else if (ch == '/') {\n if (encode_slash) {\n result += '%2F';\n } else {\n result += ch;\n }\n } else {\n result += '%';\n result += hexDigit[ch.charCodeAt(0) >> 4];\n result += hexDigit[ch.charCodeAt(0) & 15];\n }\n }\n return result;\n}\n\nexport function createS3Headers(params: S3Params, payloadParams: S3PayloadParams | null = null): Map<string, string> {\n // this is the sha256 of the empty string, its useful since we have no payload for GET requests\n const payloadHash =\n payloadParams?.contentHash ?? 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';\n\n const res = new Map<string, string>();\n // res.set(\"host\", params.host)\n res.set('x-amz-date', params.datetimeNow);\n res.set('x-amz-content-sha256', payloadHash);\n\n if (params.sessionToken) {\n res.set('x-amz-security-token', params.sessionToken);\n }\n\n // construct string to sign\n let signedHeaders = '';\n if (payloadParams?.contentType) {\n signedHeaders += 'content-type;';\n }\n signedHeaders += 'host;x-amz-content-sha256;x-amz-date';\n if (params.sessionToken) {\n signedHeaders += ';x-amz-security-token';\n }\n\n let canonicalRequest = params.method + '\\n' + uriEncode(params.url) + '\\n' + params.query;\n if (payloadParams?.contentType) {\n canonicalRequest += '\\ncontent-type:' + payloadParams?.contentType;\n }\n canonicalRequest +=\n '\\nhost:' + params.host + '\\nx-amz-content-sha256:' + payloadHash + '\\nx-amz-date:' + params.datetimeNow;\n if (params.sessionToken && params.sessionToken.length > 0) {\n canonicalRequest += '\\nx-amz-security-token:' + params.sessionToken;\n }\n\n canonicalRequest += '\\n\\n' + signedHeaders + '\\n' + payloadHash;\n const canonicalRequestHashStr = sha256(canonicalRequest);\n\n const stringToSign =\n 'AWS4-HMAC-SHA256\\n' +\n params.datetimeNow +\n '\\n' +\n params.dateNow +\n '/' +\n params.region +\n '/' +\n params.service +\n '/aws4_request\\n' +\n canonicalRequestHashStr;\n\n const signKey = 'AWS4' + params.secretAccessKey;\n const kDate = sha256.hmac.arrayBuffer(signKey, params.dateNow);\n\n const kRegion = sha256.hmac.arrayBuffer(kDate, params.region);\n const kService = sha256.hmac.arrayBuffer(kRegion, params.service);\n const signingKey = sha256.hmac.arrayBuffer(kService, 'aws4_request');\n const signature = sha256.hmac(signingKey, stringToSign);\n\n res.set(\n 'Authorization',\n 'AWS4-HMAC-SHA256 Credential=' +\n params.accessKeyId +\n '/' +\n params.dateNow +\n '/' +\n params.region +\n '/' +\n params.service +\n '/aws4_request, SignedHeaders=' +\n signedHeaders +\n ', Signature=' +\n signature,\n );\n\n return res;\n}\n\nconst createS3HeadersFromS3Config = function (\n config: S3Config | undefined,\n url: string,\n method: string,\n contentType: string | null = null,\n payload: Uint8Array | null = null,\n): Map<string, string> {\n const params = getS3Params(config, url, method);\n const payloadParams = {\n contentType: contentType,\n contentHash: payload ? sha256.hex(payload!) : null,\n } as S3PayloadParams;\n return createS3Headers(params, payloadParams);\n};\n\nexport function addS3Headers(\n xhr: XMLHttpRequest,\n config: S3Config | undefined,\n url: string,\n method: string,\n contentType: string | null = null,\n payload: Uint8Array | null = null,\n) {\n if (config?.accessKeyId || config?.sessionToken) {\n const headers = createS3HeadersFromS3Config(config, url, method, contentType, payload);\n headers.forEach((value: string, header: string) => {\n xhr.setRequestHeader(header, value);\n });\n\n if (contentType) {\n xhr.setRequestHeader('content-type', contentType);\n }\n }\n}\n\nexport function parseS3Url(url: string): { bucket: string; path: string } {\n if (url.indexOf('s3://') != 0) {\n throw new Error('URL needs to start with s3://');\n }\n const slashPos = url.indexOf('/', 5);\n\n if (slashPos == -1) {\n throw new Error(\"URL needs to contain a '/' after the host\");\n }\n\n const bucket = url.substring(5, slashPos);\n if (!bucket) {\n throw new Error('URL needs to contain a bucket name');\n }\n const path = url.substring(slashPos);\n if (!path) {\n throw new Error('URL needs to contain key');\n }\n\n return { bucket: bucket, path: path };\n}\n\nfunction isPathStyleAccess(config: S3Config | undefined): boolean {\n if (config?.endpoint?.startsWith('http')) {\n return true;\n }\n return false;\n}\n\nexport function getHTTPUrl(config: S3Config | undefined, url: string): string {\n const parsedUrl = parseS3Url(url);\n if (isPathStyleAccess(config)) {\n // Endpoint is a full url, we append the bucket\n return `${config?.endpoint}/${parsedUrl.bucket}` + parsedUrl.path;\n }\n return 'https://' + getHTTPHost(config, url, parsedUrl.bucket) + parsedUrl.path;\n}\n", "import { StatusCode } from '../status';\nimport { WorkerResponseType } from '../parallel/worker_request';\nimport { addS3Headers, getHTTPUrl } from '../utils';\n\nimport {\n callSRet,\n dropResponseBuffers,\n DuckDBDataProtocol,\n DuckDBFileInfo,\n DuckDBGlobalFileInfo,\n DuckDBRuntime,\n failWith,\n FileFlags,\n readString,\n PreparedDBFileHandle,\n} from './runtime';\nimport { DuckDBModule } from './duckdb_module';\nimport * as udf from './udf_runtime';\n\nconst OPFS_PREFIX_LEN = 'opfs://'.length;\nconst PATH_SEP_REGEX = /\\/|\\\\/;\n\nexport const BROWSER_RUNTIME: DuckDBRuntime & {\n _files: Map<string, any>;\n _fileInfoCache: Map<number, DuckDBFileInfo>;\n _globalFileInfo: DuckDBGlobalFileInfo | null;\n _preparedHandles: Record<string, FileSystemSyncAccessHandle>;\n _opfsRoot: FileSystemDirectoryHandle | null;\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null;\n assignOPFSRoot(): Promise<void>;\n} = {\n _files: new Map<string, any>(),\n _fileInfoCache: new Map<number, DuckDBFileInfo>(),\n _udfFunctions: new Map(),\n _globalFileInfo: null,\n _preparedHandles: {} as any,\n _opfsRoot: null,\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null {\n try {\n const cached = BROWSER_RUNTIME._fileInfoCache.get(fileId);\n const [s, d, n] = callSRet(\n mod,\n 'duckdb_web_fs_get_file_info_by_id',\n ['number', 'number'],\n [fileId, cached?.cacheEpoch || 0],\n );\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return cached!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n try {\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n const file = { ...info, blob: null } as DuckDBFileInfo;\n BROWSER_RUNTIME._fileInfoCache.set(fileId, file);\n if (!BROWSER_RUNTIME._files.has(file.fileName) && BROWSER_RUNTIME._preparedHandles[file.fileName]) {\n BROWSER_RUNTIME._files.set(file.fileName, BROWSER_RUNTIME._preparedHandles[file.fileName]);\n delete BROWSER_RUNTIME._preparedHandles[file.fileName];\n }\n return file;\n } catch (error) {\n console.warn(error);\n return null;\n }\n } catch (e: any) {\n console.log(e);\n return null;\n }\n },\n\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null {\n try {\n const [s, d, n] = callSRet(\n mod,\n 'duckdb_web_get_global_file_info',\n ['number'],\n [BROWSER_RUNTIME._globalFileInfo?.cacheEpoch || 0],\n );\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return BROWSER_RUNTIME._globalFileInfo!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n BROWSER_RUNTIME._globalFileInfo = { ...info, blob: null } as DuckDBGlobalFileInfo;\n\n return BROWSER_RUNTIME._globalFileInfo;\n } catch (e: any) {\n console.log(e);\n return null;\n }\n },\n async assignOPFSRoot(): Promise<void> {\n if (!BROWSER_RUNTIME._opfsRoot) {\n BROWSER_RUNTIME._opfsRoot = await navigator.storage.getDirectory();\n }\n },\n /** Prepare a file handle that could only be acquired aschronously */\n async prepareFileHandles(filePaths: string[], protocol: DuckDBDataProtocol): Promise<PreparedDBFileHandle[]> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS) {\n await BROWSER_RUNTIME.assignOPFSRoot();\n const prepare = async (path: string): Promise<PreparedDBFileHandle> => {\n if (BROWSER_RUNTIME._files.has(path)) {\n return {\n path,\n handle: BROWSER_RUNTIME._files.get(path),\n fromCached: true,\n };\n }\n const opfsRoot = BROWSER_RUNTIME._opfsRoot!;\n let dirHandle: FileSystemDirectoryHandle = opfsRoot;\n // check if mkdir -p is needed\n const opfsPath = path.slice(OPFS_PREFIX_LEN);\n let fileName = opfsPath;\n if (PATH_SEP_REGEX.test(opfsPath)) {\n const folders = opfsPath.split(PATH_SEP_REGEX);\n if (folders.length === 0) {\n throw new Error(`Invalid path ${opfsPath}`);\n }\n fileName = folders[folders.length - 1];\n if (!fileName) {\n throw new Error(`Invalid path ${opfsPath}. File Not Found.`);\n }\n folders.pop();\n for (const folder of folders) {\n dirHandle = await dirHandle.getDirectoryHandle(folder, { create: true });\n }\n }\n const fileHandle = await dirHandle.getFileHandle(fileName, { create: false }).catch(e => {\n if (e?.name === 'NotFoundError') {\n console.debug(`File ${path} does not exists yet, creating...`);\n return dirHandle.getFileHandle(fileName, { create: true });\n }\n throw e;\n });\n try {\n const handle = await fileHandle.createSyncAccessHandle();\n BROWSER_RUNTIME._preparedHandles[path] = handle;\n return {\n path,\n handle,\n fromCached: false,\n };\n } catch (e: any) {\n throw new Error(e.message + ':' + name);\n }\n };\n const result: PreparedDBFileHandle[] = [];\n for (const filePath of filePaths) {\n const res = await prepare(filePath);\n result.push(res);\n }\n return result;\n }\n throw new Error(`Unsupported protocol ${protocol} for paths ${filePaths} with protocol ${protocol}`);\n },\n /** Prepare a file handle that could only be acquired aschronously */\n async prepareDBFileHandle(dbPath: string, protocol: DuckDBDataProtocol): Promise<PreparedDBFileHandle[]> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS && this.prepareFileHandles) {\n const filePaths = [dbPath, `${dbPath}.wal`];\n return this.prepareFileHandles(filePaths, protocol);\n }\n throw new Error(`Unsupported protocol ${protocol} for path ${dbPath} with protocol ${protocol}`);\n },\n\n testPlatformFeature: (_mod: DuckDBModule, feature: number): boolean => {\n switch (feature) {\n case 1:\n return typeof BigInt64Array !== 'undefined';\n default:\n console.warn(`test for unknown feature: ${feature}`);\n return false;\n }\n },\n\n getDefaultDataProtocol(mod: DuckDBModule): number {\n return DuckDBDataProtocol.BROWSER_FILEREADER;\n },\n\n openFile: (mod: DuckDBModule, fileId: number, flags: FileFlags): number => {\n try {\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (flags & FileFlags.FILE_FLAGS_READ && flags & FileFlags.FILE_FLAGS_WRITE) {\n throw new Error(\n `Opening file ${file.fileName} failed: cannot open file with both read and write flags set`,\n );\n } else if (flags & FileFlags.FILE_FLAGS_APPEND) {\n throw new Error(\n `Opening file ${file.fileName} failed: appending to HTTP/S3 files is not supported`,\n );\n } else if (flags & FileFlags.FILE_FLAGS_WRITE) {\n // We send a HEAD request to try to determine if we can write to data_url\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.send(null);\n\n // Expect 200 for existing files that we will overwrite or 404 for non-existent files can be created\n if (xhr.status != 200 && xhr.status != 404) {\n throw new Error(\n `Opening file ${file.fileName} failed: Unexpected return status from server (${xhr.status})`,\n );\n } else if (\n xhr.status == 404 &&\n !(flags & FileFlags.FILE_FLAGS_FILE_CREATE || flags & FileFlags.FILE_FLAGS_FILE_CREATE_NEW)\n ) {\n throw new Error(\n `Opening file ${file.fileName} failed: Cannot write to non-existent file without FILE_FLAGS_FILE_CREATE or FILE_FLAGS_FILE_CREATE_NEW flag.`,\n );\n }\n // Return an empty buffer that can be used to buffer the writes to this s3/http file\n const data = mod._malloc(1);\n const src = new Uint8Array();\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = data;\n mod.HEAPF64[(result >> 3) + 2] = new Date().getTime() / 1000;\n return result;\n } else if ((flags & FileFlags.FILE_FLAGS_READ) == 0) {\n throw new Error(`Opening file ${file.fileName} failed: unsupported file flags: ${flags}`);\n }\n\n // Supports ranges?\n let contentLength = null;\n let error: any | null = null;\n if (!file.forceFullHttpReads && (file.reliableHeadRequests || !file.allowFullHttpReads)) {\n try {\n // Send a dummy HEAD request with range protocol\n // -> good IFF status is 206 and contentLenght is present\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.setRequestHeader('Range', `bytes=0-`);\n xhr.send(null);\n\n // Supports range requests\n contentLength = null;\n try { contentLength = xhr.getResponseHeader('Content-Length'); } catch (e: any) {console.warn(`Failed to get Content-Length on request`);}\n if (contentLength !== null && xhr.status == 206) {\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n let modification_time = 0;\n try { modification_time = new Date(xhr.getResponseHeader('Last-Modified')??\"\").getTime() / 1000; } catch (e: any) {console.warn(`Failed to get Last-Modified on request`);}\n mod.HEAPF64[(result >> 3) + 2] = +modification_time;\n return result;\n }\n } catch (e: any) {\n error = e;\n console.warn(`HEAD request with range header failed: ${e}`);\n }\n }\n\n // Try to fallback to full read?\n if (file.allowFullHttpReads) {\n if (!file.forceFullHttpReads) {\n // 2. Send a dummy GET range request querying the first byte of the file\n // -> good IFF status is 206 and contentLenght2 is 1\n // -> otherwise, iff 200 and contentLenght2 == contentLenght\n // we just downloaded the file, save it and move further\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.setRequestHeader('Range', `bytes=0-0`);\n xhr.send(null);\n let actualContentLength = null;\n try { actualContentLength = xhr.getResponseHeader('Content-Length'); } catch (e: any) {console.warn(`Failed to get Content-Length on request`);}\n const contentRange = actualContentLength?.split('/')[1];\n const contentLength2 = actualContentLength;\n\n let presumedLength = null;\n if (contentRange !== undefined) {\n presumedLength = contentRange;\n } else if (!file.reliableHeadRequests) {\n // Send a dummy HEAD request with range protocol\n // -> good IFF status is 206 and contentLenght is present\n const head = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n head.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(head, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n head.open('HEAD', file.dataUrl!, false);\n }\n head.setRequestHeader('Range', `bytes=0-`);\n head.send(null);\n\n // Supports range requests\n contentLength = null;\n try { contentLength = head.getResponseHeader('Content-Length'); } catch (e: any) {console.warn(`Failed to get Content-Length on request`);}\n if (contentLength !== null && +contentLength > 1) {\n presumedLength = contentLength;\n }\n }\n\n if (\n xhr.status == 206 &&\n contentLength2 !== null &&\n +contentLength2 == 1 &&\n presumedLength !== null\n ) {\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +presumedLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n let modification_time = 0;\n try { modification_time = new Date(xhr.getResponseHeader('Last-Modified')??\"\").getTime() / 1000; } catch (e: any) {console.warn(`Failed to get Last-Modified on request`);}\n mod.HEAPF64[(result >> 3) + 2] = +modification_time;\n return result;\n }\n if (\n xhr.status == 200 &&\n contentLength2 !== null &&\n contentLength !== null &&\n +contentLength2 == +contentLength\n ) {\n console.warn(`fall back to full HTTP read for: ${file.dataUrl}`);\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n let modification_time = 0;\n try { modification_time = new Date(xhr.getResponseHeader('Last-Modified')??\"\").getTime() / 1000; } catch (e: any) {console.warn(`Failed to get Last-Modified on request`);}\n mod.HEAPF64[(result >> 3) + 2] = +modification_time;\n return result;\n }\n console.warn(`falling back to full HTTP read for: ${file.dataUrl}`);\n }\n // 3. Send non-range request\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.send(null);\n\n // Return buffer\n if (xhr.status == 200) {\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n let modification_time = 0;\n try { modification_time = new Date(xhr.getResponseHeader('Last-Modified')??\"\").getTime() / 1000; } catch (e: any) {console.warn(`Failed to get Last-Modified on request`);}\n mod.HEAPF64[(result >> 3) + 2] = +modification_time;\n return result;\n }\n }\n\n // Raise error?\n if (error != null) {\n throw new Error(`Reading file ${file.fileName} failed with error: ${error}`);\n }\n return 0;\n }\n // File reader File\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (handle) {\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = handle.size;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n mod.HEAPF64[(result >> 3) + 2] = 0;\n return result;\n }\n\n // Depending on file flags, return nullptr\n if (flags & FileFlags.FILE_FLAGS_NULL_IF_NOT_EXISTS) {\n return 0;\n }\n\n // Fall back to empty buffered file in the browser\n console.warn(`Buffering missing file: ${file.fileName}`);\n const result = mod._malloc(3 * 8);\n const buffer = mod._malloc(1); // malloc(0) is allowed to return a nullptr\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = buffer;\n mod.HEAPF64[(result >> 3) + 2] = 0;\n return result;\n }\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n if (flags & FileFlags.FILE_FLAGS_FILE_CREATE_NEW) {\n handle.truncate(0);\n }\n const result = mod._malloc(3 * 8);\n const fileSize = handle.getSize();\n mod.HEAPF64[(result >> 3) + 0] = fileSize;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n mod.HEAPF64[(result >> 3) + 2] = 0;\n return result;\n }\n }\n } catch (e: any) {\n // TODO (samansmink): this path causes the WASM code to hang\n console.error(e.toString());\n failWith(mod, e.toString());\n }\n return 0;\n },\n glob: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n if (xhr.status != 200 && xhr.status !== 206) {\n // Pre-signed resources on S3 in common configurations fail on any HEAD request\n // https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/s3-example-presigned-urls.html\n // so we need (if enabled) to bump to a ranged GET\n if (!BROWSER_RUNTIME.getGlobalFileInfo(mod)?.allowFullHttpReads) {\n console.log(`HEAD request failed: ${path}, with full http reads are disabled`);\n return 0;\n }\n const xhr2 = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr2.open('GET', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr2, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr2.open('GET', path!, false);\n }\n xhr2.setRequestHeader('Range', `bytes=0-0`);\n xhr2.send(null);\n if (xhr2.status != 200 && xhr2.status !== 206) {\n console.log(`HEAD and GET requests failed: ${path}`);\n return 0;\n }\n let contentLength = null;\n try { contentLength = xhr2.getResponseHeader('Content-Length'); } catch (e: any) {console.warn(`Failed to get Content-Length on request`);}\n if (contentLength && +contentLength > 1) {\n console.warn(\n `Range request for ${path} did not return a partial response: ${xhr2.status} \"${xhr2.statusText}\"`,\n );\n }\n }\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [path]);\n } else {\n for (const [filePath] of BROWSER_RUNTIME._files!.entries() || []) {\n if (filePath.startsWith(path)) {\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [filePath]);\n }\n }\n }\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n return 0;\n }\n },\n checkFile: (mod: DuckDBModule, pathPtr: number, pathLen: number): boolean => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http or S3?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n return xhr.status == 206 || xhr.status == 200;\n } else {\n return BROWSER_RUNTIME._files.has(path);\n }\n } catch (e: any) {\n console.log(e);\n return false;\n }\n return false;\n },\n syncFile: (_mod: DuckDBModule, _fileId: number) => {},\n closeFile: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n try {\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.BUFFER:\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n break;\n case DuckDBDataProtocol.NODE_FS:\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n // XXX Remove from registry\n return;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n return handle.flush();\n }\n }\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n }\n },\n dropFile: (mod: DuckDBModule, fileNamePtr: number, fileNameLen: number) => {\n const fileName = readString(mod, fileNamePtr, fileNameLen);\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files?.get(fileName);\n if (handle) {\n BROWSER_RUNTIME._files.delete(fileName);\n if (handle instanceof FileSystemSyncAccessHandle) {\n try {\n handle.flush();\n handle.close();\n } catch (e: any) {\n throw new Error(`Cannot drop file with name: ${fileName}`);\n }\n }\n if (handle instanceof Blob) {\n // nothing\n }\n }\n },\n truncateFile: (mod: DuckDBModule, fileId: number, newSize: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, `Cannot truncate a http file`);\n return;\n case DuckDBDataProtocol.S3:\n failWith(mod, `Cannot truncate an s3 file`);\n return;\n case DuckDBDataProtocol.BUFFER:\n case DuckDBDataProtocol.NODE_FS:\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n failWith(mod, `truncateFile not implemented`);\n return;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n return handle.truncate(newSize);\n }\n }\n return 0;\n },\n readFile(mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) {\n if (bytes == 0) {\n // Be robust to empty reads\n return 0;\n }\n try {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n // File reading from BLOB or HTTP MUST be done with range requests.\n // We have to check in OPEN if such file supports range requests and upgrade to BUFFER if not.\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (!file.dataUrl) {\n throw new Error(`Missing data URL for file ${fileId}`);\n }\n try {\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.setRequestHeader('Range', `bytes=${location}-${location + bytes - 1}`);\n xhr.send(null);\n if (\n xhr.status == 206 /* Partial content */ ||\n (xhr.status == 200 && bytes == xhr.response.byteLength && location == 0)\n ) {\n const src = new Uint8Array(xhr.response, 0, Math.min(xhr.response.byteLength, bytes));\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else if (xhr.status == 200) {\n // TODO: here we are actually throwing away all non-relevant bytes, but this is still better than failing\n // proper solution would require notifying duckdb-wasm cache, while we are piggybackign on browser cache\n console.warn(\n `Range request for ${file.dataUrl} did not return a partial response: ${xhr.status} \"${xhr.statusText}\"`,\n );\n const src = new Uint8Array(\n xhr.response,\n location,\n Math.min(xhr.response.byteLength - location, bytes),\n );\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else {\n throw new Error(\n `Range request for ${file.dataUrl} did returned non-success status: ${xhr.status} \"${xhr.statusText}\"`,\n );\n }\n } catch (e) {\n console.log(e);\n throw new Error(`Range request for ${file.dataUrl} failed with error: ${e}\"`);\n }\n }\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No HTML5 file registered with name: ${file.fileName}`);\n }\n const sliced = handle!.slice(location, location + bytes);\n const data = new Uint8Array(new FileReaderSync().readAsArrayBuffer(sliced));\n mod.HEAPU8.set(data, buf);\n return data.byteLength;\n }\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n const out = mod.HEAPU8.subarray(buf, buf + bytes);\n return handle.read(out, { at: location });\n }\n }\n return 0;\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n return 0;\n }\n },\n writeFile: (mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, 'Cannot write to HTTP file');\n return 0;\n case DuckDBDataProtocol.S3: {\n const buffer = mod.HEAPU8.subarray(buf, buf + bytes);\n const xhr = new XMLHttpRequest();\n xhr.open('PUT', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'PUT', '', buffer);\n xhr.send(buffer);\n if (xhr.status !== 200) {\n failWith(mod, 'Failed writing file: HTTP ' + xhr.status);\n return 0;\n }\n return bytes;\n }\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n failWith(mod, 'cannot write using the html5 file reader api');\n return 0;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n const input = mod.HEAPU8.subarray(buf, buf + bytes);\n return handle.write(input, { at: location });\n }\n }\n return 0;\n },\n getLastFileModificationTime: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw Error(`No handle available for file: ${file.fileName}`);\n }\n return 0;\n }\n\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n // getTime() returns milliseconds, we need seconds\n return new Date().getTime() / 1000;\n }\n return 0;\n },\n progressUpdate: (done: number, percentage: number, repeat: number): void => {\n if (postMessage) {\n postMessage({\n requestId: 0,\n type: WorkerResponseType.PROGRESS_UPDATE,\n data: { status: done ? 'completed' : 'in-progress', percentage: percentage, repetitions: repeat },\n });\n }\n },\n checkDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`checkDirectory: ${path}`);\n return false;\n },\n createDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`createDirectory: ${path}`);\n },\n removeDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`removeDirectory: ${path}`);\n },\n listDirectoryEntries: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`listDirectoryEntries: ${path}`);\n return false;\n },\n moveFile: (mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number) => {\n const from = readString(mod, fromPtr, fromLen);\n const to = readString(mod, toPtr, toLen);\n const handle = BROWSER_RUNTIME._files?.get(from);\n if (handle !== undefined) {\n BROWSER_RUNTIME._files!.delete(handle);\n BROWSER_RUNTIME._files!.set(to, handle);\n }\n for (const [key, value] of BROWSER_RUNTIME._fileInfoCache?.entries() || []) {\n if (value.dataUrl == from) {\n BROWSER_RUNTIME._fileInfoCache.delete(key);\n break;\n }\n }\n return true;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number) => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf.callScalarUDF(BROWSER_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n\nexport default BROWSER_RUNTIME;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["require_duckdb_coi", "__commonJSMin", "exports", "module", "DuckDB", "_a", "_scriptName", "moduleArg", "moduleRtn", "Module", "readyPromiseResolve", "readyPromiseReject", "readyPromise", "resolve", "reject", "ENVIRONMENT_IS_WEB", "ENVIRONMENT_IS_WORKER", "ENVIRONMENT_IS_NODE", "ENVIRONMENT_IS_PTHREAD", "worker_threads", "moduleOverrides", "arguments_", "thisProgram", "quit_", "status", "toThrow", "scriptDirectory", "locateFile", "path", "readAsync", "readBinary", "fs", "nodePath", "filename", "isFileURI", "ret", "binary", "url", "xhr", "response", "defaultPrint", "defaultPrintErr", "args", "out", "err", "wasmBinary", "wasmMemory", "wasmModule", "ABORT", "EXITSTATUS", "assert", "condition", "text", "abort", "HEAP8", "HEAPU8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAPF32", "HEAPF64", "runtimeInitialized", "GROWABLE_HEAP_I8", "updateMemoryViews", "GROWABLE_HEAP_U8", "GROWABLE_HEAP_I16", "GROWABLE_HEAP_I32", "GROWABLE_HEAP_U32", "GROWABLE_HEAP_F64", "threadPrintErr", "threadAlert", "_pthread_self", "handleMessage", "e", "msgData", "cmd", "messageQueue", "instance", "msg", "handler", "wasmModuleReceived", "establishStackSpace", "__emscripten_thread_init", "PThread", "__emscripten_thread_mailbox_await", "initializedJS", "invokeEntryPoint", "ex", "checkMailbox", "__emscripten_thread_crashed", "parentPort", "b", "INITIAL_MEMORY", "preRun", "addOnPreRun", "callRuntimeCallbacks", "onPreRuns", "initRuntime", "wasmExports", "preMain", "postRun", "addOnPostRun", "onPostRuns", "runDependencies", "dependenciesFulfilled", "addRunDependency", "id", "removeRunDependency", "callback", "what", "wasmBinaryFile", "findWasmBinary", "getBinarySync", "file", "getWasmBinary", "binaryFile", "instantiateArrayBuffer", "imports", "reason", "instantiateAsync", "instantiationResult", "getWasmImports", "assignWasmImports", "wasmImports", "createWasm", "receiveInstance", "applySignatureConversions", "registerTLSInit", "wasmTable", "receiveInstantiationResult", "result", "info", "mod", "inst", "tempDouble", "tempI64", "ASM_CONSTS", "$0", "$1", "$2", "$3", "UTF8ToString", "i", "len", "ptr1", "ptr2", "z", "error", "uInt8Array", "fileOnWasmHeap", "_malloc", "properArray", "iii", "LEN123", "$4", "$5", "post_payload", "letter", "headers", "headersOnWasmHeap", "ExitStatus", "__publicField", "terminateWorker", "worker", "cleanupThread", "pthread_ptr", "callbacks", "cb", "spawnThread", "threadParams", "runtimeKeepaliveCounter", "keepRuntimeAlive", "noExitRuntime", "stackSave", "_emscripten_stack_get_current", "stackRestore", "val", "__emscripten_stack_restore", "stackAlloc", "sz", "__emscripten_stack_alloc", "convertI32PairToI53Checked", "lo", "hi", "proxyToMainThread", "funcIndex", "emAsmAddr", "sync", "callArgs", "serializedNumCallArgs", "sp", "arg", "rtn", "__emscripten_run_on_main_thread_js", "_proc_exit", "code", "handleException", "exitOnMainThread", "returnCode", "_exit", "exitJS", "implicit", "pthreadPoolSize", "__emscripten_thread_free_data", "data", "f", "onFinishedLoading", "d", "targetWorker", "message", "handlers", "knownHandlers", "onMaybeReady", "workerOptions", "pthreadMainJs", "stackHigh", "stackSize", "stackLow", "_emscripten_stack_set_limits", "wasmTableMirror", "getWasmTableEntry", "funcPtr", "func", "ptr", "finish", "__emscripten_thread_exit", "tlsInitFunc", "___call_sighandler", "fp", "sig", "pthreadCreateProxied", "attr", "startRoutine", "___pthread_create_js", "_emscripten_has_threading_support", "transferList", "__abort_js", "__emscripten_init_main_thread_js", "tb", "maybeExit", "callUserCallback", "wait", "waitingAsync", "__emscripten_check_mailbox", "__emscripten_notify_mailbox_postmessage", "targetThread", "currThreadId", "proxiedJSCallArgs", "__emscripten_receive_on_main_thread_js", "callingThread", "numCallArgs", "proxiedFunctionTable", "__emscripten_runtime_keepalive_clear", "UTF8Decoder", "UTF8ArrayToString", "heapOrArray", "idx", "maxBytesToRead", "endIdx", "endPtr", "str", "u0", "u1", "u2", "ch", "__emscripten_system", "command", "cmdstr", "cp", "__require", "_W_EXITCODE", "signalToNumber", "__emscripten_thread_cleanup", "thread", "__emscripten_thread_set_strongref", "__emval_call_method", "__emval_decref", "__emval_get_global", "__emval_get_method_caller", "__emval_run_destructors", "__gmtime_js", "time_low", "time_high", "tmPtr", "time", "date", "start", "yday", "isLeapYear", "year", "MONTH_DAYS_LEAP_CUMULATIVE", "MONTH_DAYS_REGULAR_CUMULATIVE", "ydayFromDate", "leap", "monthDaysCumulative", "__localtime_js", "summerOffset", "winterOffset", "dst", "setTempRet0", "__emscripten_tempret_set", "__mktime_js", "guessedOffset", "dstOffset", "nonDstOffset", "trueOffset", "timeMs", "stringToUTF8Array", "heap", "outIdx", "maxBytesToWrite", "startIdx", "u", "stringToUTF8", "outPtr", "__tzset_js", "timezone", "daylight", "std_name", "dst_name", "currentYear", "winter", "summer", "stdTimezoneOffset", "extractZone", "timezoneOffset", "sign", "absOffset", "hours", "minutes", "winterName", "summerName", "__wasmfs_copy_preloaded_file_data", "index", "buffer", "wasmFSPreloadedFiles", "wasmFSPreloadedDirs", "__wasmfs_get_num_preloaded_dirs", "wasmFSPreloadingFlushed", "__wasmfs_get_num_preloaded_files", "__wasmfs_get_preloaded_child_path", "childNameBuffer", "s", "lengthBytesUTF8", "__wasmfs_get_preloaded_file_mode", "__wasmfs_get_preloaded_file_size", "__wasmfs_get_preloaded_parent_path", "parentPathBuffer", "c", "__wasmfs_get_preloaded_path_name", "fileNameBuffer", "HandleAllocator", "handle", "wasmfsOPFSAccessHandles", "wasmfsOPFSProxyFinish", "ctx", "_emscripten_proxy_finish", "__wasmfs_opfs_close_access", "accessID", "errPtr", "accessHandle", "wasmfsOPFSBlobs", "__wasmfs_opfs_close_blob", "blobID", "__wasmfs_opfs_flush_access", "wasmfsOPFSDirectoryHandles", "__wasmfs_opfs_free_directory", "dirID", "wasmfsOPFSFileHandles", "__wasmfs_opfs_free_file", "fileID", "wasmfsOPFSGetOrCreateFile", "parent", "name", "create", "parentHandle", "fileHandle", "wasmfsOPFSGetOrCreateDir", "childHandle", "__wasmfs_opfs_get_child", "namePtr", "childTypePtr", "childIDPtr", "childType", "childID", "__wasmfs_opfs_get_entries", "entriesPtr", "dirHandle", "iter", "entry", "child", "stringToUTF8OnStack", "type", "__wasmfs_opfs_get_size_access", "sizePtr", "size", "__wasmfs_opfs_get_size_blob", "__wasmfs_opfs_get_size_file", "__wasmfs_opfs_init_root_directory", "root", "__wasmfs_opfs_insert_directory", "__wasmfs_opfs_insert_file", "__wasmfs_opfs_move_file", "newParentID", "newDirHandle", "__wasmfs_opfs_open_access", "accessIDPtr", "__wasmfs_opfs_open_blob", "blobIDPtr", "blob", "__wasmfs_opfs_read_access", "bufPtr", "pos_low", "pos_high", "pos", "__wasmfs_opfs_read_blob", "nreadPtr", "slice", "nread", "buf", "__wasmfs_opfs_remove_child", "__wasmfs_opfs_set_size_access", "size_low", "size_high", "__wasmfs_opfs_set_size_file", "writable", "__wasmfs_opfs_write_access", "FS_stdin_getChar_buffer", "intArrayFromString", "stringy", "dontAddNull", "length", "u8array", "numBytesWritten", "FS_stdin_getChar", "BUFSIZE", "bytesRead", "fd", "__wasmfs_stdin_get_char", "__wasmfs_thread_utils_heartbeat", "queue", "intervalID", "_emscripten_proxy_execute_queue", "_emscripten_get_now", "_emscripten_date_now", "nowIsMonotonic", "checkWasiClock", "clock_id", "_clock_time_get", "clk_id", "ignored_precision_low", "ignored_precision_high", "ptime", "ignored_precision", "now", "nsec", "_duckdb_web_fs_directory_create", "pathLen", "_duckdb_web_fs_directory_exists", "_duckdb_web_fs_directory_list_files", "_duckdb_web_fs_directory_remove", "_duckdb_web_fs_file_close", "fileId", "_duckdb_web_fs_file_drop_file", "fileName", "fileNameLen", "_duckdb_web_fs_file_exists", "_duckdb_web_fs_file_move", "from", "fromLen", "to", "toLen", "_duckdb_web_fs_file_open", "flags", "_duckdb_web_fs_file_read", "location", "_duckdb_web_fs_file_truncate", "newSize", "_duckdb_web_fs_file_write", "_duckdb_web_fs_get_default_data_protocol", "_duckdb_web_fs_glob", "_duckdb_web_test_platform_feature", "feature", "_duckdb_web_udf_scalar_call", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "readEmAsmArgsArray", "readEmAsmArgs", "sigPtr", "wide", "runEmAsmFunction", "argbuf", "_emscripten_asm_const_ptr", "warnOnce", "_emscripten_check_blocking_allowed", "_emscripten_err", "runtimeKeepalivePush", "_emscripten_exit_with_live_runtime", "getHeapMax", "_emscripten_get_heap_max", "_emscripten_num_logical_cores", "_emscripten_out", "alignMemory", "alignment", "growMemory", "pages", "_emscripten_resize_heap", "requestedSize", "oldSize", "maxHeapSize", "cutDown", "overGrownHeapSize", "replacement", "_emscripten_unwind_to_js_event_loop", "ENV", "getExecutableName", "getEnvStrings", "lang", "env", "x", "strings", "stringToAscii", "_environ_get", "__environ", "environ_buf", "bufSize", "string", "_environ_sizes_get", "penviron_count", "penviron_buf_size", "inetPton4", "tmp", "jstoi_q", "inetPton6", "words", "w", "offset", "valid6regx", "parts", "DNS", "res", "addr", "inetNtop4", "inetNtop6", "ints", "word", "longest", "lastzero", "zstart", "hasipv4", "v4part", "zeroMemory", "address", "writeSockaddr", "sa", "family", "port", "addrlen", "_getaddrinfo", "node", "service", "hint", "proto", "ai", "allocaddrinfo", "canon", "salen", "errno", "initRandomFill", "nodeCrypto", "view", "randomFill", "_random_get", "getCFunc", "ident", "writeArrayToMemory", "array", "ccall", "returnType", "argTypes", "opts", "toC", "arr", "convertReturnValue", "cArgs", "stack", "converter", "onDone", "getTempRet0", "__emscripten_tempret_get", "_main", "a0", "a1", "_duckdb_web_fs_glob_add_path", "_duckdb_web_clear_response", "_duckdb_web_fail_with", "_duckdb_web_reset", "_duckdb_web_connect", "_duckdb_web_disconnect", "_duckdb_web_flush_files", "_duckdb_web_flush_file", "_duckdb_web_open", "_duckdb_web_get_global_file_info", "_duckdb_web_collect_file_stats", "a2", "_duckdb_web_export_file_stats", "_duckdb_web_fs_drop_file", "_duckdb_web_fs_drop_files", "_duckdb_web_fs_glob_file_infos", "_duckdb_web_fs_get_file_info_by_id", "_duckdb_web_fs_get_file_info_by_name", "_duckdb_web_fs_register_file_url", "a3", "a4", "_duckdb_web_fs_register_file_buffer", "_duckdb_web_copy_file_to_buffer", "_duckdb_web_copy_file_to_path", "_duckdb_web_get_version", "_duckdb_web_get_feature_flags", "_duckdb_web_tokenize", "_duckdb_web_tokenize_buffer", "_duckdb_web_udf_scalar_create", "_duckdb_web_prepared_create", "_duckdb_web_prepared_create_buffer", "_duckdb_web_prepared_close", "_duckdb_web_prepared_run", "_duckdb_web_prepared_send", "_duckdb_web_query_run", "_duckdb_web_query_run_buffer", "_duckdb_web_pending_query_start", "_duckdb_web_pending_query_start_buffer", "_duckdb_web_pending_query_poll", "_duckdb_web_pending_query_cancel", "_duckdb_web_query_fetch_results", "_duckdb_web_get_tablenames", "_duckdb_web_get_tablenames_buffer", "_duckdb_web_insert_arrow_from_ipc_stream", "_duckdb_web_insert_csv_from_path", "_duckdb_web_insert_json_from_path", "__emscripten_tls_init", "a5", "_free", "_calloc", "makeWrapper_p", "makeWrapper_pp", "makeWrapper_ppp", "callMain", "entryFunction", "argc", "argv", "run", "doRun", "noInitialRun", "_b", "isPthread", "isNode", "require_sha256", "__commonJSMin", "exports", "module", "ERROR", "WINDOW", "root", "WEB_WORKER", "NODE_JS", "COMMON_JS", "AMD", "ARRAY_BUFFER", "HEX_CHARS", "EXTRA", "SHIFT", "K", "OUTPUT_TYPES", "blocks", "obj", "createOutputMethod", "outputType", "is224", "message", "Sha256", "createMethod", "method", "nodeWrap", "i", "type", "crypto", "Buffer", "algorithm", "bufferFrom", "nodeMethod", "createHmacOutputMethod", "key", "HmacSha256", "createHmacMethod", "sharedMemory", "notString", "code", "index", "length", "a", "b", "c", "d", "e", "f", "g", "h", "j", "s0", "s1", "maj", "t1", "t2", "ch", "ab", "da", "cd", "bc", "h0", "h1", "h2", "h3", "h4", "h5", "h6", "h7", "hex", "arr", "buffer", "dataView", "bytes", "oKeyPad", "iKeyPad", "innerHash", "duckdb_browser_coi_worker_exports", "__export", "registerWorker", "__rest", "s", "e", "t", "p", "__awaiter", "thisArg", "_arguments", "P", "generator", "adopt", "value", "resolve", "reject", "fulfilled", "step", "e", "rejected", "result", "__values", "o", "s", "m", "i", "__await", "v", "__asyncGenerator", "thisArg", "_arguments", "generator", "g", "q", "verb", "n", "a", "b", "resume", "step", "e", "settle", "r", "fulfill", "reject", "value", "f", "__asyncDelegator", "o", "i", "p", "__asyncValues", "m", "__values", "resolve", "d", "buffer_exports", "__export", "compareArrayLike", "joinUint8Arrays", "memcpy", "rebaseValueOffsets", "toArrayBufferView", "toArrayBufferViewAsyncIterator", "toArrayBufferViewIterator", "toBigInt64Array", "toBigUint64Array", "toFloat32Array", "toFloat32ArrayAsyncIterator", "toFloat32ArrayIterator", "toFloat64Array", "toFloat64ArrayAsyncIterator", "toFloat64ArrayIterator", "toInt16Array", "toInt16ArrayAsyncIterator", "toInt16ArrayIterator", "toInt32Array", "toInt32ArrayAsyncIterator", "toInt32ArrayIterator", "toInt8Array", "toInt8ArrayAsyncIterator", "toInt8ArrayIterator", "toUint16Array", "toUint16ArrayAsyncIterator", "toUint16ArrayIterator", "toUint32Array", "toUint32ArrayAsyncIterator", "toUint32ArrayIterator", "toUint8Array", "toUint8ArrayAsyncIterator", "toUint8ArrayIterator", "toUint8ClampedArray", "toUint8ClampedArrayAsyncIterator", "toUint8ClampedArrayIterator", "decoder", "decodeUtf8", "buffer", "encoder", "encodeUtf8", "value", "isNumber", "x", "isBoolean", "isFunction", "isObject", "isPromise", "isIterable", "x", "isObject", "isFunction", "isAsyncIterable", "isArrowJSON", "isIteratorResult", "x", "isObject", "isFileHandle", "x", "isObject", "isFunction", "isNumber", "isFetchResponse", "x", "isObject", "isReadableDOMStream", "isReadableInterop", "isWritableDOMStream", "isFunction", "isWritableNodeStream", "isBoolean", "isReadableNodeStream", "isFlatbuffersByteBuffer", "SharedArrayBuf", "collapseContiguousByteRanges", "chunks", "result", "xOffset", "yOffset", "xLen", "yLen", "x", "y", "i", "j", "n", "memcpy", "target", "source", "targetByteOffset", "sourceByteLength", "targetByteLength", "dst", "src", "joinUint8Arrays", "size", "byteLength", "b", "sliced", "buffer", "offset", "index", "length", "toArrayBufferView", "ArrayBufferViewCtor", "input", "value", "isIteratorResult", "encodeUtf8", "isFlatbuffersByteBuffer", "toInt8Array", "toInt16Array", "toInt32Array", "toBigInt64Array", "toUint8Array", "toUint16Array", "toUint32Array", "toBigUint64Array", "toFloat32Array", "toFloat64Array", "toUint8ClampedArray", "pump", "iterator", "toArrayBufferViewIterator", "ArrayCtor", "wrap", "buffers", "isIterable", "__yieldStar", "it", "r", "toInt8ArrayIterator", "toInt16ArrayIterator", "toInt32ArrayIterator", "toUint8ArrayIterator", "toUint16ArrayIterator", "toUint32ArrayIterator", "toFloat32ArrayIterator", "toFloat64ArrayIterator", "toUint8ClampedArrayIterator", "toArrayBufferViewAsyncIterator", "isPromise", "__await", "__asyncDelegator", "__asyncValues", "__asyncGenerator", "emit", "isAsyncIterable", "toInt8ArrayAsyncIterator", "toInt16ArrayAsyncIterator", "toInt32ArrayAsyncIterator", "toUint8ArrayAsyncIterator", "toUint16ArrayAsyncIterator", "toUint32ArrayAsyncIterator", "toFloat32ArrayAsyncIterator", "toFloat64ArrayAsyncIterator", "toUint8ClampedArrayAsyncIterator", "rebaseValueOffsets", "valueOffsets", "compareArrayLike", "a", "adapters_default", "source", "pump", "fromIterable", "fromAsyncIterable", "fromDOMStream", "stream", "fromNodeStream", "options", "iterator", "done", "threw", "buffers", "buffer", "cmd", "size", "bufferLength", "byteRange", "joinUint8Arrays", "it", "toUint8ArrayIterator", "e", "__await", "toUint8ArrayAsyncIterator", "AdaptiveByteReader", "toUint8Array", "reason", "reader", "result", "onEvent", "event", "handler", "_", "resolve", "r", "events", "err", "x", "cleanup", "reject", "evt", "fn", "destroy", "MetadataVersion", "UnionMode", "Precision", "DateUnit", "TimeUnit", "IntervalUnit", "int32", "float32", "float64", "isLittleEndian", "Encoding", "ByteBuffer", "_ByteBuffer", "bytes_", "byte_size", "position", "offset", "int32", "float32", "isLittleEndian", "float64", "value", "result", "i", "bb_pos", "vtable_offset", "vtable", "opt_encoding", "length", "utf8bytes", "Encoding", "o", "ident", "listAccessor", "listLength", "ret", "val", "Builder", "_Builder", "opt_initial_size", "initial_size", "ByteBuffer", "forceDefaults", "size", "additional_bytes", "align_size", "old_buf_size", "byte_size", "i", "value", "voffset", "defaultValue", "obj", "bb", "new_buf_size", "nbb", "offset", "numfields", "vtableloc", "trimmed_size", "standard_fields", "len", "existing_vtable", "vt1", "outer_loop", "vt2", "j", "root_table", "opt_file_identifier", "opt_size_prefix", "size_prefix", "file_identifier", "table", "field", "table_start", "vtable_start", "elem_size", "num_elems", "alignment", "s", "utf8", "v", "list", "ret", "val", "startFunc", "BodyCompressionMethod", "CompressionType", "BodyCompression", "_BodyCompression", "i", "bb", "obj", "offset", "CompressionType", "BodyCompressionMethod", "builder", "codec", "method", "Buffer", "i", "bb", "builder", "offset", "length", "FieldNode", "i", "bb", "builder", "length", "null_count", "RecordBatch", "_RecordBatch", "i", "bb", "obj", "offset", "index", "FieldNode", "Buffer", "BodyCompression", "builder", "length", "nodesOffset", "numElems", "buffersOffset", "compressionOffset", "DictionaryBatch", "_DictionaryBatch", "i", "bb", "obj", "offset", "RecordBatch", "builder", "id", "dataOffset", "isDelta", "Endianness", "DictionaryKind", "Int", "_Int", "i", "bb", "obj", "offset", "builder", "bitWidth", "isSigned", "DictionaryEncoding", "_DictionaryEncoding", "i", "bb", "obj", "offset", "Int", "DictionaryKind", "builder", "id", "indexTypeOffset", "isOrdered", "dictionaryKind", "KeyValue", "_KeyValue", "i", "bb", "obj", "optionalEncoding", "offset", "builder", "keyOffset", "valueOffset", "Binary", "_Binary", "i", "bb", "obj", "builder", "Bool", "_Bool", "i", "bb", "obj", "builder", "Date", "_Date", "i", "bb", "obj", "offset", "DateUnit", "builder", "unit", "Decimal", "_Decimal", "i", "bb", "obj", "offset", "builder", "precision", "scale", "bitWidth", "Duration", "_Duration", "i", "bb", "obj", "offset", "TimeUnit", "builder", "unit", "FixedSizeBinary", "_FixedSizeBinary", "i", "bb", "obj", "offset", "builder", "byteWidth", "FixedSizeList", "_FixedSizeList", "i", "bb", "obj", "offset", "builder", "listSize", "FloatingPoint", "_FloatingPoint", "i", "bb", "obj", "offset", "Precision", "builder", "precision", "Interval", "_Interval", "i", "bb", "obj", "offset", "IntervalUnit", "builder", "unit", "LargeBinary", "_LargeBinary", "i", "bb", "obj", "builder", "LargeUtf8", "_LargeUtf8", "i", "bb", "obj", "builder", "List", "_List", "i", "bb", "obj", "builder", "Map", "_Map", "i", "bb", "obj", "offset", "builder", "keysSorted", "Null", "_Null", "i", "bb", "obj", "builder", "Struct_", "_Struct_", "i", "bb", "obj", "builder", "Time", "_Time", "i", "bb", "obj", "offset", "TimeUnit", "builder", "unit", "bitWidth", "Timestamp", "_Timestamp", "i", "bb", "obj", "offset", "TimeUnit", "optionalEncoding", "builder", "unit", "timezoneOffset", "Union", "_Union", "i", "bb", "obj", "offset", "UnionMode", "index", "builder", "mode", "typeIdsOffset", "data", "numElems", "Utf8", "_Utf8", "i", "bb", "obj", "builder", "Type", "Field", "_Field", "i", "bb", "obj", "optionalEncoding", "offset", "Type", "DictionaryEncoding", "index", "KeyValue", "builder", "nameOffset", "nullable", "typeType", "typeOffset", "dictionaryOffset", "childrenOffset", "data", "numElems", "customMetadataOffset", "Schema", "_Schema", "i", "bb", "obj", "offset", "Endianness", "index", "Field", "KeyValue", "builder", "endianness", "fieldsOffset", "data", "numElems", "customMetadataOffset", "featuresOffset", "MessageHeader", "Type", "BufferType", "vector_exports", "__export", "clampRange", "createElementComparator", "wrapIndex", "pretty_exports", "__export", "valueToString", "valueToString", "x", "_", "y", "bn_exports", "__export", "BN", "bigNumToBigInt", "bigNumToNumber", "bigNumToString", "isArrowBigNumSymbol", "bigIntToNumber", "number", "divideBigInts", "divisor", "isArrowBigNumSymbol", "BigNum", "x", "xs", "toArrayBufferView", "bigNumToString", "scale", "bigNumToNumber", "hint", "bigNumToBigInt", "SignedBigNum", "args", "UnsignedBigNum", "DecimalBigNum", "TWO_TO_THE_64", "TWO_TO_THE_64_MINUS_1", "bn", "buffer", "byteOffset", "byteLength", "signed", "words", "negative", "number", "i", "word", "denominator", "quotient", "remainder", "bigIntToNumber", "a", "bigIntArray", "unsignedBigNumToString", "array", "carry", "elem", "updated", "negated", "digits", "base64", "base32", "checks", "n", "BN", "_BN", "num", "isSigned", "DataType", "_DataType", "x", "Type", "UnionMode", "typeId", "_a", "proto", "Null", "_b", "Int_", "isSigned", "bitWidth", "_c", "Int8", "Int_", "Int16", "Int32", "Int64", "Uint8", "Uint16", "Uint32", "Uint64", "Float", "DataType", "precision", "Type", "Precision", "_d", "proto", "Float16", "Float32", "Float64", "Binary", "_e", "LargeBinary", "_f", "Utf8", "_g", "LargeUtf8", "_h", "Bool", "_j", "Decimal", "scale", "bitWidth", "_k", "Date_", "unit", "DateUnit", "_l", "Time_", "DataType", "unit", "bitWidth", "Type", "TimeUnit", "_m", "proto", "Timestamp_", "DataType", "unit", "timezone", "Type", "TimeUnit", "_o", "proto", "Interval_", "DataType", "unit", "Type", "IntervalUnit", "_p", "proto", "Duration", "DataType", "unit", "Type", "TimeUnit", "_q", "proto", "List", "DataType", "child", "Type", "_r", "proto", "Struct", "children", "f", "_s", "Union_", "mode", "typeIds", "typeIdToChildIndex", "typeId", "idx", "x", "_t", "FixedSizeBinary", "DataType", "byteWidth", "Type", "_u", "proto", "FixedSizeList", "listSize", "child", "_v", "Map_", "entries", "keysSorted", "_y", "key", "_z", "val", "_0", "f", "_w", "getId", "atomicDictionaryId", "Dictionary", "dictionary", "indices", "id", "isOrdered", "bigIntToNumber", "_x", "strideForType", "type", "Visitor", "nodes", "args", "node", "x", "throwIfNotFound", "getVisitFn", "typeId", "getVisitFnByTypeId", "_node", "_args", "visitor", "Type", "DataType", "inferDType", "dtype", "fn", "type", "bitWidth", "isSigned", "Precision", "TimeUnit", "DateUnit", "IntervalUnit", "UnionMode", "math_exports", "__export", "float64ToUint16", "uint16ToFloat64", "f64", "u32", "h", "expo", "sigf", "sign", "d", "SetVisitor", "Visitor", "wrapSet", "fn", "data", "_1", "_2", "setEpochMsToDays", "index", "epochMs", "setVariableWidthBytes", "values", "valueOffsets", "value", "x", "bigIntToNumber", "y", "setBool", "offset", "val", "idx", "setInt", "setFloat", "setFloat16", "float64ToUint16", "setAnyFloat", "Precision", "setDateDay", "setDateMillisecond", "setFixedSizeBinary", "stride", "setBinary", "setUtf8", "encodeUtf8", "setDate", "DateUnit", "setTimestampSecond", "setTimestampMillisecond", "setTimestampMicrosecond", "setTimestampNanosecond", "setTimestamp", "TimeUnit", "setTimeSecond", "setTimeMillisecond", "setTimeMicrosecond", "setTimeNanosecond", "setTime", "setDecimal", "setList", "set", "instance", "itr", "end", "setMap", "entries", "_setStructArrayValue", "o", "v", "c", "_", "i", "_setStructVectorValue", "_setStructMapValue", "f", "_setStructObjectValue", "setStruct", "childSetters", "Vector", "setUnion", "UnionMode", "setDenseUnion", "setSparseUnion", "childIndex", "child", "setDictionary", "_a", "setIntervalValue", "IntervalUnit", "setIntervalDayTime", "setIntervalYearMonth", "setDurationSecond", "setDurationMillisecond", "setDurationMicrosecond", "setDurationNanosecond", "setDuration", "setFixedSizeList", "kParent", "kRowIndex", "StructRow", "parent", "rowIndex", "StructRowProxyHandler", "i", "keys", "json", "j", "n", "instance", "key", "val", "valueToString", "StructRowIterator", "data", "row", "f", "idx", "GetVisitor", "Visitor", "wrapGet", "fn", "data", "_1", "epochDaysToMs", "index", "getNull", "_data", "_index", "getVariableWidthBytes", "values", "valueOffsets", "x", "bigIntToNumber", "y", "getBool", "offset", "idx", "getDateDay", "getDateMillisecond", "getNumeric", "stride", "getFloat16", "uint16ToFloat64", "getBigInts", "getFixedSizeBinary", "getBinary", "getUtf8", "bytes", "decodeUtf8", "getInt", "getFloat", "type", "Precision", "getDate", "DateUnit", "getTimestampSecond", "getTimestampMillisecond", "getTimestampMicrosecond", "divideBigInts", "getTimestampNanosecond", "getTimestamp", "TimeUnit", "getTimeSecond", "getTimeMillisecond", "getTimeMicrosecond", "getTimeNanosecond", "getTime", "getDecimal", "BN", "getList", "children", "begin", "end", "slice", "Vector", "getMap", "child", "MapRow", "getStruct", "StructRow", "getUnion", "UnionMode", "getDenseUnion", "getSparseUnion", "childIndex", "instance", "getDictionary", "_a", "getInterval", "IntervalUnit", "getIntervalDayTime", "getIntervalYearMonth", "interval", "int32s", "getDurationSecond", "getDurationMillisecond", "getDurationMicrosecond", "getDurationNanosecond", "getDuration", "getFixedSizeList", "kKeys", "kVals", "kKeysAsStrings", "_kKeysAsStrings", "MapRow", "slice", "Vector", "MapRowProxyHandler", "MapRowIterator", "keys", "vals", "json", "n", "instance", "key", "val", "valueToString", "i", "row", "idx", "tmp", "clampRange", "source", "begin", "end", "then", "len", "lhs", "rhs", "wrapIndex", "index", "isNaNFast", "value", "createElementComparator", "search", "valueOfSearch", "compareArrayLike", "createMapComparator", "createArrayLikeComparator", "Vector", "createVectorComparator", "createObjectComparator", "comparators", "i", "createSubElementsComparator", "v", "allowEmpty", "keys", "n", "compareArray", "compareObject", "MapRow", "StructRow", "compareVector", "arr", "vec", "obj", "lKeyItr", "rKeyItr", "rValItr", "rVal", "lKey", "rKey", "bit_exports", "__export", "BitIterator", "getBit", "getBool", "packBools", "popcnt_array", "popcnt_bit_range", "popcnt_uint32", "setBool", "truncateBitmap", "_data", "_index", "byte", "bit", "bytes", "index", "value", "offset", "length", "bitmap", "alignedSize", "values", "xs", "i", "b", "begin", "context", "get", "data", "lhs", "rhs", "sum", "rhsInside", "lhsInside", "arr", "byteOffset", "byteLength", "cnt", "pos", "view", "len", "uint32", "kUnknownNullCount", "Data", "_Data", "type", "DataType", "child", "byteLength", "valueOffsets", "values", "nullBitmap", "typeIds", "nullCount", "popcnt_bit_range", "offset", "length", "buffers", "children", "dictionary", "buffer", "strideForType", "index", "union", "indexInChild", "UnionMode", "pos", "value", "prev", "idx", "mask", "byteOffset", "truncateBitmap", "byte", "stride", "typeId", "childStride", "newLength", "Type", "bitmap", "BufferType", "arr", "MakeDataVisitor", "_MakeDataVisitor", "Visitor", "props", "toUint8Array", "data", "toArrayBufferView", "toInt32Array", "toBigInt64Array", "len", "Vector", "makeDataVisitor", "makeData", "ChunkedIterator", "numChunks", "getChunkIterator", "next", "computeChunkNullable", "chunks", "chunk", "computeChunkNullCounts", "nullCount", "computeChunkOffsets", "offsets", "index", "sliceChunks", "begin", "end", "slices", "i", "n", "offset", "length", "from", "to", "binarySearch", "idx", "fn", "lhs", "mid", "rhs", "isChunkedValid", "data", "wrapChunkedCall1", "chunkedFn", "j", "wrapChunkedCall2", "_2", "value", "result", "wrapChunkedIndexOf", "indexOf", "_1", "chunkedIndexOf", "chunkIndex", "fromIndex", "total", "element", "IndexOfVisitor", "Visitor", "nullIndexOf", "data", "searchElement", "indexOfNull", "fromIndex", "nullBitmap", "i", "isValid", "BitIterator", "getBool", "indexOfValue", "Type", "get", "instance", "compare", "createElementComparator", "n", "indexOfUnion", "IteratorVisitor", "Visitor", "vectorIterator", "vector", "type", "DataType", "Precision", "ChunkedIterator", "chunkIndex", "data", "offset", "length", "inner", "VectorIterator", "instance", "visitorsByTypeId", "vectorPrototypesByTypeId", "Vector", "_Vector", "input", "data", "x", "Data", "type", "_b", "get", "set", "indexOf", "unchunkedData", "index", "isChunkedValid", "value", "computeChunkOffsets", "strideForType", "_d", "_c", "byteLength", "computeChunkNullable", "computeChunkNullCounts", "Type", "wrapIndex", "element", "offset", "instance", "others", "begin", "end", "clampRange", "_offsets", "sliceChunks", "length", "stride", "ArrayType", "memo", "values", "chunk_length", "name", "f", "children", "DataType", "dictionary", "MemoizedVector", "newData", "cloned", "_a", "proto", "typeIds", "T", "typeId", "wrapChunkedCall1", "wrapChunkedCall2", "wrapChunkedIndexOf", "_MemoizedVector", "vector", "slice", "cache", "cachedValue", "createIsValidFunction", "nullValues", "value", "fnBody", "noNaNs", "x", "valueToCase", "valueToString", "roundLengthUpToNearest64Bytes", "len", "BPE", "bytesMinus1", "resizeArray", "arr", "memcpy", "BufferBuilder", "bufferType", "initialSize", "stride", "index", "value", "extra", "length", "reserved", "array", "newLength", "DataBufferBuilder", "BitmapBufferBuilder", "idx", "val", "buffer", "byte", "bit", "cur", "OffsetsBufferBuilder", "type", "offset", "Builder", "options", "type", "nulls", "strideForType", "BitmapBufferBuilder", "createIsValidFunction", "Vector", "size", "_offsets", "_values", "_nulls", "_typeIds", "children", "child", "value", "index", "valid", "name", "data", "typeIds", "nullBitmap", "valueOffsets", "length", "nullCount", "makeData", "_a", "_b", "_c", "_d", "FixedWidthBuilder", "opts", "DataBufferBuilder", "values", "VariableWidthBuilder", "OffsetsBufferBuilder", "pending", "current", "MapRow", "kKeys", "isValid", "pendingLength", "Block", "i", "bb", "builder", "offset", "metaDataLength", "bodyLength", "Footer", "_Footer", "i", "bb", "obj", "offset", "MetadataVersion", "Schema", "index", "Block", "KeyValue", "builder", "version", "schemaOffset", "dictionariesOffset", "numElems", "recordBatchesOffset", "customMetadataOffset", "data", "Schema", "_Schema", "fields", "metadata", "dictionaries", "metadataVersion", "MetadataVersion", "generateDictionaryMap", "f", "i", "fieldNames", "names", "fieldIndices", "args", "other", "curFields", "mergeMaps", "newFields", "f2", "newDictionaries", "Field", "_Field", "name", "type", "nullable", "m1", "m2", "DataType", "Builder", "ByteBuffer", "Footer_", "buf", "toUint8Array", "footer", "Footer", "schema", "Schema", "OffHeapFooter", "b", "schemaOffset", "rb", "FileBlock", "recordBatchesOffset", "db", "dictionaryBatchesOffset", "MetadataVersion", "version", "recordBatches", "dictionaryBatches", "block", "i", "index", "OffHeapFooter", "Footer_", "schema", "_footer", "index", "fileBlock", "FileBlock", "_FileBlock", "block", "b", "metaDataLength", "offset", "bodyLength", "Block", "bigIntToNumber", "ITERATOR_DONE", "ArrowJSON", "_json", "ReadableInterop", "writable", "options", "duplex", "AsyncQueue", "r", "reason", "value", "resolvers", "adapters_default", "_", "size", "_args", "resolve", "reject", "AsyncByteQueue", "AsyncQueue", "value", "toUint8Array", "sync", "decodeUtf8", "joinUint8Arrays", "__awaiter", "buffers", "byteLength", "_d", "_e", "__asyncValues", "_f", "_a", "_c", "chunk", "ByteStream", "source", "ByteStreamSource", "adapters_default", "size", "AsyncByteStream", "_AsyncByteStream", "AsyncByteStreamSource", "isReadableNodeStream", "isReadableDOMStream", "isFetchResponse", "isIterable", "isPromise", "isAsyncIterable", "reason", "cmd", "ITERATOR_DONE", "r", "size_1", "result", "RandomAccessFile", "ByteStream", "buffer", "byteLength", "toUint8Array", "position", "byteOffset", "nBytes", "size", "buf", "end", "value", "AsyncRandomAccessFile", "AsyncByteStream", "file", "__awaiter", "pos", "offset", "bytesRead", "f", "int_exports", "__export", "BaseInt64", "Int128", "Int64", "Uint64", "intAsHex", "value", "kInt32DecimalDigits", "kPowersOfTen", "BaseInt64", "buffer", "other", "L", "R", "product", "sum", "Uint64", "_Uint64", "val", "out_buffer", "num", "str", "length", "out", "posn", "group", "chunk", "multiple", "values", "data", "i", "n", "left", "right", "Int64", "_Int64", "this_high", "other_high", "negate", "Int128", "_Int128", "L0", "L1", "L2", "L3", "R0", "R1", "R2", "R3", "sums", "VectorLoader", "Visitor", "bytes", "nodes", "buffers", "dictionaries", "metadataVersion", "MetadataVersion", "node", "Field", "type", "length", "makeData", "nullCount", "UnionMode", "buffer", "_type", "offset", "JSONVectorLoader", "sources", "packBools", "toArrayBufferView", "DataType", "Int64", "DateUnit", "Int128", "binaryDataFromJSON", "encodeUtf8", "x", "values", "joined", "data", "i", "BinaryBuilder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "toUint8Array", "pending", "pendingLength", "offsets", "data", "offset", "length", "LargeBinaryBuilder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "toUint8Array", "pending", "pendingLength", "offsets", "data", "offset", "length", "BoolBuilder", "Builder", "options", "BitmapBufferBuilder", "index", "value", "DateBuilder", "FixedWidthBuilder", "setDate", "DateDayBuilder", "setDateDay", "DateMillisecondBuilder", "setDateMillisecond", "DecimalBuilder", "FixedWidthBuilder", "setDecimal", "DictionaryBuilder", "Builder", "type", "nulls", "hashFn", "Dictionary", "makeBuilder", "value", "index", "valid", "indices", "keysToIndices", "key", "idx", "prev", "curr", "data", "val", "FixedSizeBinaryBuilder", "FixedWidthBuilder", "setFixedSizeBinary", "FixedSizeListBuilder", "Builder", "index", "value", "child", "start", "i", "n", "name", "childIndex", "FixedSizeList", "Field", "FloatBuilder", "FixedWidthBuilder", "index", "value", "Float16Builder", "float64ToUint16", "Float32Builder", "Float64Builder", "IntervalBuilder", "FixedWidthBuilder", "setIntervalValue", "IntervalDayTimeBuilder", "setIntervalDayTime", "IntervalYearMonthBuilder", "setIntervalYearMonth", "DurationBuilder", "FixedWidthBuilder", "setDuration", "DurationSecondBuilder", "setDurationSecond", "DurationMillisecondBuilder", "setDurationMillisecond", "DurationMicrosecondBuilder", "setDurationMicrosecond", "DurationNanosecondBuilder", "setDurationNanosecond", "IntBuilder", "FixedWidthBuilder", "index", "value", "Int8Builder", "Int16Builder", "Int32Builder", "Int64Builder", "Uint8Builder", "Uint16Builder", "Uint32Builder", "Uint64Builder", "ListBuilder", "VariableWidthBuilder", "opts", "OffsetsBufferBuilder", "child", "name", "List", "Field", "pending", "offsets", "index", "value", "v", "n", "start", "i", "MapBuilder", "VariableWidthBuilder", "index", "value", "row", "pending", "current", "child", "name", "Map_", "Field", "offsets", "idx", "end", "val", "NullBuilder", "Builder", "index", "value", "valid", "StructBuilder", "Builder", "index", "value", "children", "type", "_", "i", "f", "valid", "child", "name", "childIndex", "Struct", "Field", "TimestampBuilder", "FixedWidthBuilder", "setTimestamp", "TimestampSecondBuilder", "setTimestampSecond", "TimestampMillisecondBuilder", "setTimestampMillisecond", "TimestampMicrosecondBuilder", "setTimestampMicrosecond", "TimestampNanosecondBuilder", "setTimestampNanosecond", "TimeBuilder", "FixedWidthBuilder", "setTime", "TimeSecondBuilder", "setTimeSecond", "TimeMillisecondBuilder", "setTimeMillisecond", "TimeMicrosecondBuilder", "setTimeMicrosecond", "TimeNanosecondBuilder", "setTimeNanosecond", "UnionBuilder", "Builder", "options", "DataBufferBuilder", "value", "childTypeId", "index", "childIndex", "child", "name", "children", "mode", "typeIds", "fields", "Field", "Union_", "builder", "offset", "SparseUnionBuilder", "DenseUnionBuilder", "id", "denseIndex", "Utf8Builder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "encodeUtf8", "pending", "pendingLength", "BinaryBuilder", "LargeUtf8Builder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "encodeUtf8", "pending", "pendingLength", "LargeBinaryBuilder", "GetBuilderCtor", "Visitor", "NullBuilder", "BoolBuilder", "IntBuilder", "Int8Builder", "Int16Builder", "Int32Builder", "Int64Builder", "Uint8Builder", "Uint16Builder", "Uint32Builder", "Uint64Builder", "FloatBuilder", "Float16Builder", "Float32Builder", "Float64Builder", "Utf8Builder", "LargeUtf8Builder", "BinaryBuilder", "LargeBinaryBuilder", "FixedSizeBinaryBuilder", "DateBuilder", "DateDayBuilder", "DateMillisecondBuilder", "TimestampBuilder", "TimestampSecondBuilder", "TimestampMillisecondBuilder", "TimestampMicrosecondBuilder", "TimestampNanosecondBuilder", "TimeBuilder", "TimeSecondBuilder", "TimeMillisecondBuilder", "TimeMicrosecondBuilder", "TimeNanosecondBuilder", "DecimalBuilder", "ListBuilder", "StructBuilder", "UnionBuilder", "DenseUnionBuilder", "SparseUnionBuilder", "DictionaryBuilder", "IntervalBuilder", "IntervalDayTimeBuilder", "IntervalYearMonthBuilder", "DurationBuilder", "DurationSecondBuilder", "DurationMillisecondBuilder", "DurationMicrosecondBuilder", "DurationNanosecondBuilder", "FixedSizeListBuilder", "MapBuilder", "instance", "TypeComparator", "Visitor", "schema", "other", "fields", "others", "f", "field", "compareConstructor", "type", "compareAny", "compareInt", "compareFloat", "compareFixedSizeBinary", "compareDate", "compareTimestamp", "compareTime", "compareList", "instance", "compareStruct", "compareUnion", "x", "i", "compareDictionary", "compareInterval", "compareDuration", "compareFixedSizeList", "compareMap", "compareSchemas", "compareFields", "compareTypes", "makeBuilder", "options", "type", "builder", "instance", "children", "defaultOptions", "getChildOptions", "_", "i", "name", "index", "field", "opts", "distributeVectorsIntoRecordBatches", "schema", "vecs", "uniformlyDistributeChunksAcrossRecordBatches", "v", "cols", "fields", "batches", "memo", "n", "c", "numBatches", "batchLength", "i", "numColumns", "child", "children", "distributeChildren", "makeData", "Struct", "data", "RecordBatch", "columns", "nullBitmapSize", "length", "field", "_a", "Table", "_Table", "args", "Schema", "schema", "offsets", "unwrap", "x", "RecordBatch", "Data", "Struct", "v", "keys", "vecs", "k", "Vector", "batchSchema", "i", "Field", "batches", "distributeVectorsIntoRecordBatches", "_c", "_b", "batch", "compareSchemas", "computeChunkOffsets", "data", "numRows", "computeChunkNullCounts", "index", "wrapIndex", "value", "element", "offset", "instance", "others", "begin", "end", "clampRange", "sliceChunks", "chunk", "name", "f", "type", "empty", "makeData", "child", "Null", "fields", "field", "children", "_", "columnNames", "nameToIndex", "m", "columnName", "columnIndices", "other", "indices", "oldToNew", "memo", "f2", "newIdx", "columns", "j", "_a", "proto", "wrapChunkedCall1", "isChunkedValid", "Type", "wrapChunkedCall2", "wrapChunkedIndexOf", "RecordBatch", "_RecordBatch", "args", "Schema", "makeData", "Struct", "f", "Data", "ensureSameLengthData", "obj", "fields", "children", "length", "memo", "name", "i", "Field", "schema", "data", "collectDictionaries", "index", "instance", "wrapIndex", "value", "element", "offset", "Vector", "others", "Table", "begin", "end", "slice", "_b", "child", "Null", "field", "columnNames", "type", "columnIndices", "subset", "_a", "proto", "chunks", "maxLength", "max", "col", "nullBitmapSize", "idx", "chunk", "dictionaries", "n", "next", "_c", "DataType", "id", "_InternalEmptyPlaceholderRecordBatch", "Message", "_Message", "i", "bb", "obj", "offset", "MetadataVersion", "MessageHeader", "index", "KeyValue", "builder", "version", "headerType", "headerOffset", "bodyLength", "customMetadataOffset", "data", "numElems", "TypeAssembler", "Visitor", "node", "builder", "_node", "b", "Null", "Int", "FloatingPoint", "Binary", "LargeBinary", "Bool", "Utf8", "LargeUtf8", "Decimal", "Date", "Time", "timezone", "Timestamp", "Interval", "Duration", "List", "Struct_", "Union", "typeIds", "indexType", "DictionaryEncoding", "FixedSizeBinary", "FixedSizeList", "Map", "instance", "schemaFromJSON", "_schema", "dictionaries", "Schema", "schemaFieldsFromJSON", "customMetadataFromJSON", "recordBatchFromJSON", "b", "RecordBatch", "fieldNodesFromJSON", "buffersFromJSON", "dictionaryBatchFromJSON", "DictionaryBatch", "f", "Field", "fieldChildrenFromJSON", "_field", "xs", "fieldNodes", "column", "FieldNode", "nullCountFromJSON", "buffers", "i", "BufferRegion", "validity", "sum", "val", "fieldFromJSON", "id", "keys", "field", "dictMeta", "type", "dictType", "typeFromJSON", "indexTypeFromJSON", "Int32", "Dictionary", "metadata", "key", "value", "_type", "Int_", "children", "typeId", "Null", "Binary", "LargeBinary", "Utf8", "LargeUtf8", "Bool", "List", "Struct", "t", "Float", "Precision", "Decimal", "Date_", "DateUnit", "Time_", "TimeUnit", "Timestamp_", "Interval_", "IntervalUnit", "Duration", "m", "ms", "mode", "Union_", "UnionMode", "FixedSizeBinary", "FixedSizeList", "Map_", "Builder", "ByteBuffer", "Message", "_Message", "msg", "headerType", "message", "MetadataVersion", "messageHeaderFromJSON", "buf", "toUint8Array", "_message", "bodyLength", "version", "decodeMessageHeader", "b", "headerOffset", "Schema", "RecordBatch", "DictionaryBatch", "header", "MessageHeader", "bigIntToNumber", "length", "nodes", "buffers", "data", "id", "isDelta", "BufferRegion", "offset", "FieldNode", "nullCount", "type", "Field", "encodeField", "decodeField", "fieldFromJSON", "encodeSchema", "decodeSchema", "schemaFromJSON", "encodeRecordBatch", "decodeRecordBatch", "recordBatchFromJSON", "encodeDictionaryBatch", "decodeDictionaryBatch", "dictionaryBatchFromJSON", "encodeFieldNode", "decodeFieldNode", "encodeBufferRegion", "decodeBufferRegion", "_schema", "dictionaries", "fields", "decodeSchemaFields", "decodeCustomMetadata", "batch", "decodeFieldNodes", "decodeBuffers", "f", "i", "j", "n", "bufferRegions", "schema", "decodeFieldChildren", "field", "children", "keys", "dictType", "dictMeta", "decodeFieldType", "decodeIndexType", "Int32", "Dictionary", "parent", "entry", "key", "_type", "Int_", "typeId", "Type", "Null", "Binary", "LargeBinary", "Utf8", "LargeUtf8", "Bool", "List", "Struct", "t", "Int", "FloatingPoint", "Float", "Decimal", "Date", "Date_", "Time", "Time_", "Timestamp", "Timestamp_", "Interval", "Interval_", "Duration", "Union", "Union_", "FixedSizeBinary", "FixedSizeList", "Map", "Map_", "fieldOffsets", "fieldsVectorOffset", "metadataOffset", "k", "v", "val", "KeyValue", "platformIsLittleEndian", "Endianness", "nameOffset", "typeOffset", "dictionaryOffset", "DataType", "instance", "childOffsets", "childrenVectorOffset", "recordBatch", "nodesVectorOffset", "b_", "buffersVectorOffset", "dictionaryBatch", "dataOffset", "node", "Buffer", "buffer", "invalidMessageType", "type", "MessageHeader", "nullMessage", "invalidMessageMetadata", "expected", "actual", "invalidMessageBodyLength", "MessageReader", "source", "ByteStream", "r", "ITERATOR_DONE", "value", "bodyLength", "buf", "toUint8Array", "throwIfNull", "message", "schema", "PADDING", "bb", "ByteBuffer", "len", "metadataLength", "Message", "AsyncMessageReader", "byteLength", "AsyncByteStream", "isFileHandle", "AsyncRandomAccessFile", "JSONMessageReader", "ArrowJSON", "_json", "batch", "_bodyLength", "flattenDataSources", "xs", "buffers", "column", "MAGIC_STR", "MAGIC", "i", "checkForMagicArrowString", "buffer", "index", "magicLength", "magicAndPadding", "magicX2AndPadding", "RecordBatchReader", "_RecordBatchReader", "ReadableInterop", "impl", "value", "schema", "options", "opening", "isPromise", "index", "adapters_default", "writableStrategy", "readableStrategy", "source", "isArrowJSON", "fromArrowJSON", "isFileHandle", "fromFileHandle", "__awaiter", "isFetchResponse", "isReadableDOMStream", "isReadableNodeStream", "isAsyncIterable", "fromAsyncByteStream", "AsyncByteStream", "fromByteStream", "ByteStream", "readAllSync", "readAllAsync", "isIterable", "isIteratorResult", "RecordBatchStreamReader", "_impl", "__asyncGenerator", "__await", "__yieldStar", "__asyncDelegator", "__asyncValues", "AsyncRecordBatchStreamReader", "batches", "_d", "_e", "_f", "_a", "_c", "batch", "RecordBatchFileReader", "AsyncRecordBatchFileReader", "RecordBatchReaderImpl", "dictionaries", "header", "body", "children", "data", "makeData", "Struct", "RecordBatch", "id", "isDelta", "dictionary", "type", "Vector", "types", "VectorLoader", "RecordBatchStreamReaderImpl", "JSONMessageReader", "MessageReader", "shouldAutoDestroy", "ITERATOR_DONE", "message", "reader", "buffer", "vector", "_InternalEmptyPlaceholderRecordBatch", "AsyncRecordBatchStreamReaderImpl", "AsyncMessageReader", "RecordBatchFileReaderImpl", "RandomAccessFile", "block", "MessageHeader", "_handle", "offset", "magicAndPadding", "length", "Footer_", "AsyncRecordBatchFileReaderImpl", "rest", "byteLength", "AsyncRandomAccessFile", "_super", "RecordBatchJSONReaderImpl", "JSONVectorLoader", "self", "bytes", "magicLength", "checkForMagicArrowString", "size", "file", "magicX2AndPadding", "VectorAssembler", "_VectorAssembler", "Visitor", "args", "unwrap", "nodes", "node", "RecordBatch", "assembler", "data", "Vector", "type", "DataType", "length", "FieldNode", "nullCount", "addBuffer", "truncateBitmap", "_null", "values", "byteLength", "BufferRegion", "assembleUnion", "typeIds", "valueOffsets", "UnionMode", "assembleNestedVector", "shiftedOffsets", "childOffsets", "childLengths", "typeId", "shift", "index", "_a", "child", "childIndex", "childOffset", "childLength", "assembleBoolVector", "packBools", "assembleFlatVector", "assembleFlatListVector", "begin", "bigIntToNumber", "end", "rebaseValueOffsets", "assembleListVector", "_", "i", "RecordBatchWriter", "ReadableInterop", "options", "writableStrategy", "readableStrategy", "AsyncByteQueue", "isObject", "sync", "input", "isPromise", "x", "isAsyncIterable", "writeAllAsync", "writeAll", "reason", "sink", "schema", "isWritableDOMStream", "isWritableNodeStream", "compareSchemas", "payload", "Table", "RecordBatch", "_InternalEmptyPlaceholderRecordBatch", "isIterable", "message", "alignment", "a", "buffer", "Message", "flatbufferSize", "prefixSize", "alignedSize", "nPaddingBytes", "MessageHeader", "FileBlock", "chunk", "toUint8Array", "MAGIC", "nBytes", "batch", "byteLength", "nodes", "bufferRegions", "buffers", "VectorAssembler", "recordBatch", "dictionary", "id", "isDelta", "Vector", "dictionaryBatch", "DictionaryBatch", "size", "padding", "i", "n", "chunks", "_a", "prevDictionary", "offset", "_b", "index", "RecordBatchStreamWriter", "_RecordBatchStreamWriter", "writer", "RecordBatchFileWriter", "_RecordBatchFileWriter", "Footer_", "MetadataVersion", "writeAll", "writer", "input", "chunks", "Table", "batch", "writeAllAsync", "batches", "_a", "batches_1", "__asyncValues", "batches_1_1", "_b", "_d", "toDOMStream", "source", "options", "isAsyncIterable", "asyncIterableAsReadableDOMStream", "isIterable", "iterableAsReadableDOMStream", "it", "bm", "hwm", "controller", "next", "buf", "r", "size", "toUint8Array", "builderThroughDOMStream", "options", "BuilderTransform", "readableStrategy", "writableStrategy", "queueingStrategy", "builderOptions", "__rest", "makeBuilder", "chunkLength", "chunkByteLength", "readableHighWaterMark", "writableHighWaterMark", "c", "value", "bufferedSize", "builder", "controller", "chunk", "_a", "recordBatchReaderThroughDOMStream", "writableStrategy", "readableStrategy", "queue", "AsyncByteQueue", "reader", "readable", "controller", "next", "open", "RecordBatchReader", "size", "r", "recordBatchWriterThroughDOMStream", "writableStrategy", "readableStrategy", "writer", "reader", "AsyncByteStream", "readable", "controller", "next", "buf", "size", "tableToIPC", "table", "type", "RecordBatchStreamWriter", "RecordBatchFileWriter", "util", "bn_exports", "int_exports", "bit_exports", "math_exports", "buffer_exports", "vector_exports", "pretty_exports", "compareSchemas", "compareFields", "compareTypes", "adapters_default", "toDOMStream", "Builder", "builderThroughDOMStream", "RecordBatchReader", "recordBatchReaderThroughDOMStream", "RecordBatchFileReader", "RecordBatchStreamReader", "RecordBatchWriter", "recordBatchWriterThroughDOMStream", "RecordBatchFileWriter", "RecordBatchStreamWriter", "arrowToSQLType", "type", "Type", "dec", "c", "arrowToSQLField", "map_", "name", "t", "DuckDBConnection", "bindings", "conn", "callback", "text", "buffer", "reader", "RecordBatchReader", "Table", "allowStreamResult", "header", "resolve", "reject", "e", "iter", "ResultStreamIterator", "query", "stmt", "PreparedStatement", "name", "returns", "func", "table", "options", "tableToIPC", "path", "bufferI8", "connectionId", "statementId", "params", "IsArrowBuffer", "status", "IsDuckDBWasmRetry", "TEXT_ENCODER", "TEXT_DECODER", "storeError", "mod", "response", "message", "msgBuffer", "heapAddr", "heapArray", "getTypeSize", "ptype", "ptrToArray", "ptr", "heap", "ptrToUint8Array", "n", "ptrToFloat64Array", "callScalarUDF", "runtime", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "udf", "rawDesc", "desc", "ptrs", "buildResolver", "arg", "_a", "validity", "raw", "strings", "stringLengths", "j", "subarray", "str", "row", "tmp", "children", "attr", "child", "resolver", "data", "argResolvers", "i", "resultDataLen", "resultDataPtr", "resultData", "resultValidityPtr", "resultValidity", "rawResultData", "args", "res", "resultLengthsPtr", "resultDataUTF8", "resultLengths", "totalLength", "utf8", "resultStringPtr", "resultStringBuf", "writerOffset", "resultUTF8", "retLen", "retPtr", "retBuffer", "e", "TextDecoderWrapper", "decoder", "data", "decodeText", "failWith", "mod", "msg", "copyBuffer", "begin", "length", "buffer", "copy", "readString", "callSRet", "mod", "funcName", "argTypes", "args", "stackPointer", "response", "status", "data", "dataSize", "dropResponseBuffers", "FileStatistics", "u8array", "f64", "blocks", "index", "out", "TEXT_ENCODER", "DuckDBBindingsBase", "logger", "runtime", "onProgress", "_", "resolve", "x", "config", "s", "d", "n", "callSRet", "readString", "dropResponseBuffers", "version", "text", "BUF", "TEXT_ENCODER", "bufferPtr", "res", "conn", "DuckDBConnection", "worker", "copyBuffer", "allowStreamResult", "IsDuckDBWasmRetry", "IsArrowBuffer", "name", "returns", "func", "decl", "arrowToSQLType", "def", "statement", "params", "buffer", "options", "optJSON", "path", "k", "arrowToSQLField", "opt", "infoStr", "info", "url", "proto", "directIO", "ptr", "fileName", "protocol", "list", "item", "handle", "filePath", "fromCached", "fileHandle", "e", "handle_inner", "_a", "names", "pointers", "pointerOfArray", "str", "size", "ret", "i", "pointer", "copy", "file", "enable", "FileStatistics", "AsyncDuckDBDispatcher", "entry", "request", "obj", "p", "path", "hasWasmFS", "conn", "_", "c", "result", "transfer", "infos", "buffer", "import_duckdb_coi", "DuckDBBrowserBindings", "DuckDBBindingsBase", "logger", "runtime", "mainModuleURL", "pthreadWorkerURL", "path", "prefix", "imports", "success", "handlers", "response", "_a", "request", "contentLengthHdr", "contentLength", "start", "progress", "tracker", "chunk", "ctrl", "now", "p", "ts", "output", "xhr", "url", "error", "e", "buffer", "DuckDB", "DuckDBBrowserBindings", "logger", "runtime", "mainModuleURL", "pthreadWorkerURL", "moduleOverrides", "opts", "DuckDBWasm", "import_js_sha256", "getHTTPHost", "config", "url", "bucket", "_a", "getS3Params", "method", "_b", "_c", "_d", "parsedS3Url", "parseS3Url", "path", "isPathStyleAccess", "endpointPath", "endpointUrl", "uriEncode", "input", "encode_slash", "hexDigit", "result", "ch", "createS3Headers", "params", "payloadParams", "payloadHash", "res", "signedHeaders", "canonicalRequest", "canonicalRequestHashStr", "stringToSign", "signKey", "kDate", "kRegion", "kService", "signingKey", "signature", "createS3HeadersFromS3Config", "contentType", "payload", "addS3Headers", "xhr", "value", "header", "slashPos", "getHTTPUrl", "parsedUrl", "OPFS_PREFIX_LEN", "PATH_SEP_REGEX", "BROWSER_RUNTIME", "mod", "fileId", "cached", "s", "d", "n", "callSRet", "infoStr", "readString", "dropResponseBuffers", "info", "file", "error", "_a", "filePaths", "protocol", "prepare", "path", "dirHandle", "opfsPath", "fileName", "folders", "folder", "fileHandle", "e", "handle", "result", "filePath", "res", "dbPath", "_mod", "feature", "flags", "_b", "_c", "_d", "_e", "_f", "xhr", "getHTTPUrl", "addS3Headers", "data", "src", "contentLength", "modification_time", "actualContentLength", "contentRange", "contentLength2", "presumedLength", "head", "buffer", "fileSize", "failWith", "pathPtr", "pathLen", "globalInfo", "xhr2", "_fileId", "fileNamePtr", "fileNameLen", "newSize", "buf", "bytes", "location", "sliced", "out", "input", "done", "percentage", "repeat", "fromPtr", "fromLen", "toPtr", "toLen", "from", "to", "key", "value", "_pathPtr", "_pathLen", "response", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "callScalarUDF", "WebWorker", "AsyncDuckDBDispatcher", "response", "transfer", "mainModuleURL", "pthreadWorkerURL", "progress", "DuckDB", "BROWSER_RUNTIME", "registerWorker", "api", "event"]
|
|
4
|
+
"sourcesContent": ["var DuckDB = (() => {\n var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;\n if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename;\n return (\n async function(moduleArg = {}) {\n var moduleRtn;\n\n var Module = moduleArg;\n var readyPromiseResolve, readyPromiseReject;\n var readyPromise = new Promise((resolve, reject) => {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject\n });\n var ENVIRONMENT_IS_WEB = typeof window == \"object\";\n var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != \"undefined\";\n var ENVIRONMENT_IS_NODE = typeof process == \"object\" && typeof process.versions == \"object\" && typeof process.versions.node == \"string\" && process.type != \"renderer\";\n var ENVIRONMENT_IS_PTHREAD = ENVIRONMENT_IS_WORKER && self.name?.startsWith(\"em-pthread\");\n if (ENVIRONMENT_IS_NODE) {\n var worker_threads = require(\"worker_threads\");\n global.Worker = worker_threads.Worker;\n ENVIRONMENT_IS_WORKER = !worker_threads.isMainThread;\n ENVIRONMENT_IS_PTHREAD = ENVIRONMENT_IS_WORKER && worker_threads[\"workerData\"] == \"em-pthread\"\n }\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow) => {\n throw toThrow\n };\n var scriptDirectory = \"\";\n\n function locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory)\n }\n return scriptDirectory + path\n }\n var readAsync, readBinary;\n if (ENVIRONMENT_IS_NODE) {\n var fs = require(\"fs\");\n var nodePath = require(\"path\");\n scriptDirectory = __dirname + \"/\";\n readBinary = filename => {\n filename = isFileURI(filename) ? new URL(filename) : filename;\n var ret = fs.readFileSync(filename);\n return ret\n };\n readAsync = async (filename, binary = true) => {\n filename = isFileURI(filename) ? new URL(filename) : filename;\n var ret = fs.readFileSync(filename, binary ? undefined : \"utf8\");\n return ret\n };\n if (!Module[\"thisProgram\"] && process.argv.length > 1) {\n thisProgram = process.argv[1].replace(/\\\\/g, \"/\")\n }\n arguments_ = process.argv.slice(2);\n quit_ = (status, toThrow) => {\n process.exitCode = status;\n throw toThrow\n }\n } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src\n }\n if (_scriptName) {\n scriptDirectory = _scriptName\n }\n if (scriptDirectory.startsWith(\"blob:\")) {\n scriptDirectory = \"\"\n } else {\n scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1)\n }\n if (!ENVIRONMENT_IS_NODE) {\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest;\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response)\n }\n }\n readAsync = async url => {\n var response = await fetch(url, {\n credentials: \"same-origin\"\n });\n if (response.ok) {\n return response.arrayBuffer()\n }\n throw new Error(response.status + \" : \" + response.url)\n }\n }\n } else {}\n var defaultPrint = console.log.bind(console);\n var defaultPrintErr = console.error.bind(console);\n if (ENVIRONMENT_IS_NODE) {\n defaultPrint = (...args) => fs.writeSync(1, args.join(\" \") + \"\\n\");\n defaultPrintErr = (...args) => fs.writeSync(2, args.join(\" \") + \"\\n\")\n }\n var out = Module[\"print\"] || defaultPrint;\n var err = Module[\"printErr\"] || defaultPrintErr;\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n var wasmBinary = Module[\"wasmBinary\"];\n var wasmMemory;\n var wasmModule;\n var ABORT = false;\n var EXITSTATUS;\n\n function assert(condition, text) {\n if (!condition) {\n abort(text)\n }\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n var runtimeInitialized = false;\n var isFileURI = filename => filename.startsWith(\"file://\");\n\n function GROWABLE_HEAP_I8() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAP8\n }\n\n function GROWABLE_HEAP_U8() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAPU8\n }\n\n function GROWABLE_HEAP_I16() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAP16\n }\n\n function GROWABLE_HEAP_I32() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAP32\n }\n\n function GROWABLE_HEAP_U32() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAPU32\n }\n\n function GROWABLE_HEAP_F64() {\n if (wasmMemory.buffer != HEAP8.buffer) {\n updateMemoryViews()\n }\n return HEAPF64\n }\n if (ENVIRONMENT_IS_PTHREAD) {\n var wasmModuleReceived;\n if (ENVIRONMENT_IS_NODE) {\n var parentPort = worker_threads[\"parentPort\"];\n parentPort.on(\"message\", msg => onmessage({\n data: msg\n }));\n Object.assign(globalThis, {\n self: global,\n postMessage: msg => parentPort.postMessage(msg)\n })\n }\n var initializedJS = false;\n\n function threadPrintErr(...args) {\n var text = args.join(\" \");\n if (ENVIRONMENT_IS_NODE) {\n fs.writeSync(2, text + \"\\n\");\n return\n }\n console.error(text)\n }\n if (!Module[\"printErr\"]) err = threadPrintErr;\n\n function threadAlert(...args) {\n var text = args.join(\" \");\n postMessage({\n cmd: \"alert\",\n text,\n threadId: _pthread_self()\n })\n }\n self.alert = threadAlert;\n self.onunhandledrejection = e => {\n throw e.reason || e\n };\n\n function handleMessage(e) {\n try {\n var msgData = e[\"data\"];\n var cmd = msgData.cmd;\n if (cmd === \"load\") {\n let messageQueue = [];\n self.onmessage = e => messageQueue.push(e);\n self.startWorker = instance => {\n postMessage({\n cmd: \"loaded\"\n });\n for (let msg of messageQueue) {\n handleMessage(msg)\n }\n self.onmessage = handleMessage\n };\n for (const handler of msgData.handlers) {\n if (!Module[handler] || Module[handler].proxy) {\n Module[handler] = (...args) => {\n postMessage({\n cmd: \"callHandler\",\n handler,\n args\n })\n };\n if (handler == \"print\") out = Module[handler];\n if (handler == \"printErr\") err = Module[handler]\n }\n }\n wasmMemory = msgData.wasmMemory;\n updateMemoryViews();\n wasmModuleReceived(msgData.wasmModule)\n } else if (cmd === \"run\") {\n establishStackSpace(msgData.pthread_ptr);\n __emscripten_thread_init(msgData.pthread_ptr, 0, 0, 1, 0, 0);\n PThread.receiveObjectTransfer(msgData);\n PThread.threadInitTLS();\n __emscripten_thread_mailbox_await(msgData.pthread_ptr);\n if (!initializedJS) {\n initializedJS = true\n }\n try {\n invokeEntryPoint(msgData.start_routine, msgData.arg)\n } catch (ex) {\n if (ex != \"unwind\") {\n throw ex\n }\n }\n } else if (msgData.target === \"setimmediate\") {} else if (cmd === \"checkMailbox\") {\n if (initializedJS) {\n checkMailbox()\n }\n } else if (cmd) {\n err(`worker: received unknown command ${cmd}`);\n err(msgData)\n }\n } catch (ex) {\n __emscripten_thread_crashed();\n throw ex\n }\n }\n self.onmessage = handleMessage\n }\n\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b)\n }\n if (!ENVIRONMENT_IS_PTHREAD) {\n if (Module[\"wasmMemory\"]) {\n wasmMemory = Module[\"wasmMemory\"]\n } else {\n var INITIAL_MEMORY = Module[\"INITIAL_MEMORY\"] || 16777216;\n wasmMemory = new WebAssembly.Memory({\n initial: INITIAL_MEMORY / 65536,\n maximum: 65536,\n shared: true\n })\n }\n updateMemoryViews()\n } else if (Module[\"wasmMemory\"]) {\n wasmMemory = Module[\"wasmMemory\"];\n updateMemoryViews()\n }\n\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [Module[\"preRun\"]];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift())\n }\n }\n callRuntimeCallbacks(onPreRuns)\n }\n\n function initRuntime() {\n runtimeInitialized = true;\n if (ENVIRONMENT_IS_PTHREAD) return startWorker(Module);\n wasmExports[\"Ha\"]()\n }\n\n function preMain() {}\n\n function postRun() {\n if (ENVIRONMENT_IS_PTHREAD) return;\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [Module[\"postRun\"]];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift())\n }\n }\n callRuntimeCallbacks(onPostRuns)\n }\n var runDependencies = 0;\n var dependenciesFulfilled = null;\n\n function addRunDependency(id) {\n runDependencies++;\n Module[\"monitorRunDependencies\"]?.(runDependencies)\n }\n\n function removeRunDependency(id) {\n runDependencies--;\n Module[\"monitorRunDependencies\"]?.(runDependencies);\n if (runDependencies == 0) {\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback()\n }\n }\n }\n\n function abort(what) {\n Module[\"onAbort\"]?.(what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n what += \". Build with -sASSERTIONS for more info.\";\n if (runtimeInitialized) {\n ___trap()\n }\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e\n }\n var wasmBinaryFile;\n\n function findWasmBinary() {\n return locateFile(\"./duckdb-coi.wasm\")\n }\n\n function getBinarySync(file) {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary)\n }\n if (readBinary) {\n return readBinary(file)\n }\n throw \"both async and sync fetching of the wasm failed\"\n }\n async function getWasmBinary(binaryFile) {\n if (!wasmBinary) {\n try {\n var response = await readAsync(binaryFile);\n return new Uint8Array(response)\n } catch {}\n }\n return getBinarySync(binaryFile)\n }\n async function instantiateArrayBuffer(binaryFile, imports) {\n try {\n var binary = await getWasmBinary(binaryFile);\n var instance = await WebAssembly.instantiate(binary, imports);\n return instance\n } catch (reason) {\n err(`failed to asynchronously prepare wasm: ${reason}`);\n abort(reason)\n }\n }\n async function instantiateAsync(binary, binaryFile, imports) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !ENVIRONMENT_IS_NODE) {\n try {\n var response = fetch(binaryFile, {\n credentials: \"same-origin\"\n });\n var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);\n return instantiationResult\n } catch (reason) {\n err(`wasm streaming compile failed: ${reason}`);\n err(\"falling back to ArrayBuffer instantiation\")\n }\n }\n return instantiateArrayBuffer(binaryFile, imports)\n }\n\n function getWasmImports() {\n assignWasmImports();\n return {\n a: wasmImports\n }\n }\n async function createWasm() {\n function receiveInstance(instance, module) {\n wasmExports = instance.exports;\n wasmExports = applySignatureConversions(wasmExports);\n registerTLSInit(wasmExports[\"zb\"]);\n wasmTable = wasmExports[\"Ja\"];\n wasmModule = module;\n removeRunDependency(\"wasm-instantiate\");\n return wasmExports\n }\n addRunDependency(\"wasm-instantiate\");\n\n function receiveInstantiationResult(result) {\n return receiveInstance(result[\"instance\"], result[\"module\"])\n }\n var info = getWasmImports();\n if (Module[\"instantiateWasm\"]) {\n return new Promise((resolve, reject) => {\n Module[\"instantiateWasm\"](info, (mod, inst) => {\n receiveInstance(mod, inst);\n resolve(mod.exports)\n })\n })\n }\n if (ENVIRONMENT_IS_PTHREAD) {\n return new Promise(resolve => {\n wasmModuleReceived = module => {\n var instance = new WebAssembly.Instance(module, getWasmImports());\n resolve(receiveInstance(instance, module))\n }\n })\n }\n wasmBinaryFile ??= findWasmBinary();\n try {\n var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);\n var exports = receiveInstantiationResult(result);\n return exports\n } catch (e) {\n readyPromiseReject(e);\n return Promise.reject(e)\n }\n }\n var tempDouble;\n var tempI64;\n var ASM_CONSTS = {\n 10231308: ($0, $1, $2, $3) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") {} else if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n xhr.send(null)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = xhr.response;\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 8);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 8] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap + 4);\n var headers = Uint8Array.from(Array.from(xhr.getAllResponseHeaders()).map(letter => letter.charCodeAt(0)));\n len = headers.byteLength;\n var headersOnWasmHeap = _malloc(len + 8);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + headersOnWasmHeap + 8] = headers[iii]\n }\n LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, headersOnWasmHeap + 4);\n len = headersOnWasmHeap;\n LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n },\n 10233580: ($0, $1, $2, $3, $4, $5) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") {} else if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n var post_payload = new Uint8Array($5);\n for (var iii = 0; iii < $5; iii++) {\n post_payload[iii] = Module.HEAPU8[iii + $4]\n }\n xhr.send(post_payload)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = Uint8Array.from(Array.from(xhr.getResponseHeader(\"Etag\")).map(letter => letter.charCodeAt(0)));\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 4);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 4] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n },\n 10235188: ($0, $1, $2, $3) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n console.log(\"HEAD\", UTF8ToString(ptr1), UTF8ToString(ptr2));\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") {} else if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n xhr.send(null)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = xhr.response;\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 8);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 8] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap + 4);\n var headers = Uint8Array.from(Array.from(xhr.getAllResponseHeaders()).map(letter => letter.charCodeAt(0)));\n len = headers.byteLength;\n var headersOnWasmHeap = _malloc(len + 8);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + headersOnWasmHeap + 8] = headers[iii]\n }\n LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, headersOnWasmHeap + 4);\n len = headersOnWasmHeap;\n LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n },\n 10237521: ($0, $1, $2, $3) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") {} else if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n xhr.send(null)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = xhr.response;\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 4);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 4] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n },\n 10238916: ($0, $1, $2, $3, $4, $5) => {\n var url = UTF8ToString($0);\n if (typeof XMLHttpRequest === \"undefined\") {\n return 0\n }\n const xhr = new XMLHttpRequest;\n if (false && url.startsWith(\"http://\")) {\n url = \"https://\" + url.substr(7)\n }\n xhr.open(UTF8ToString($3), url, false);\n xhr.responseType = \"arraybuffer\";\n var i = 0;\n var len = $1;\n while (i < len * 2) {\n var ptr1 = GROWABLE_HEAP_I32()[$2 / 4 + i >>> 0];\n var ptr2 = GROWABLE_HEAP_I32()[$2 / 4 + i + 1 >>> 0];\n try {\n var z = encodeURI(UTF8ToString(ptr1));\n if (z === \"Host\") z = \"X-Host-Override\";\n if (z === \"User-Agent\") {} else if (z === \"Authorization\") {\n xhr.setRequestHeader(z, UTF8ToString(ptr2))\n } else {\n xhr.setRequestHeader(z, encodeURI(UTF8ToString(ptr2)))\n }\n } catch (error) {\n console.warn(\"Error while performing XMLHttpRequest.setRequestHeader()\", error)\n }\n i += 2\n }\n try {\n var post_payload = new Uint8Array($5);\n for (var iii = 0; iii < $5; iii++) {\n post_payload[iii] = Module.HEAPU8[iii + $4]\n }\n xhr.send(post_payload)\n } catch {\n return 0\n }\n if (xhr.status >= 400) return 0;\n var uInt8Array = xhr.response;\n var len = uInt8Array.byteLength;\n var fileOnWasmHeap = _malloc(len + 4);\n var properArray = new Uint8Array(uInt8Array);\n for (var iii = 0; iii < len; iii++) {\n Module.HEAPU8[iii + fileOnWasmHeap + 4] = properArray[iii]\n }\n var LEN123 = new Uint8Array(4);\n LEN123[0] = len % 256;\n len -= LEN123[0];\n len /= 256;\n LEN123[1] = len % 256;\n len -= LEN123[1];\n len /= 256;\n LEN123[2] = len % 256;\n len -= LEN123[2];\n len /= 256;\n LEN123[3] = len % 256;\n len -= LEN123[3];\n len /= 256;\n Module.HEAPU8.set(LEN123, fileOnWasmHeap);\n return fileOnWasmHeap\n }\n };\n class ExitStatus {\n name = \"ExitStatus\";\n constructor(status) {\n this.message = `Program terminated with exit(${status})`;\n this.status = status\n }\n }\n var terminateWorker = worker => {\n worker.terminate();\n worker.onmessage = e => {}\n };\n var cleanupThread = pthread_ptr => {\n var worker = PThread.pthreads[pthread_ptr];\n PThread.returnWorkerToPool(worker)\n };\n var callRuntimeCallbacks = callbacks => {\n while (callbacks.length > 0) {\n callbacks.shift()(Module)\n }\n };\n var onPreRuns = [];\n var addOnPreRun = cb => onPreRuns.unshift(cb);\n var spawnThread = threadParams => {\n var worker = PThread.getNewWorker();\n if (!worker) {\n return 6\n }\n PThread.runningWorkers.push(worker);\n PThread.pthreads[threadParams.pthread_ptr] = worker;\n worker.pthread_ptr = threadParams.pthread_ptr;\n var msg = {\n cmd: \"run\",\n start_routine: threadParams.startRoutine,\n arg: threadParams.arg,\n pthread_ptr: threadParams.pthread_ptr\n };\n if (ENVIRONMENT_IS_NODE) {\n worker.unref()\n }\n worker.postMessage(msg, threadParams.transferList);\n return 0\n };\n var runtimeKeepaliveCounter = 0;\n var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;\n var stackSave = () => _emscripten_stack_get_current();\n var stackRestore = val => __emscripten_stack_restore(val);\n var stackAlloc = sz => __emscripten_stack_alloc(sz);\n Module[\"stackAlloc\"] = stackAlloc;\n var convertI32PairToI53Checked = (lo, hi) => hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n var proxyToMainThread = (funcIndex, emAsmAddr, sync, ...callArgs) => {\n var serializedNumCallArgs = callArgs.length;\n var sp = stackSave();\n var args = stackAlloc(serializedNumCallArgs * 8);\n var b = args >>> 3;\n for (var i = 0; i < callArgs.length; i++) {\n var arg = callArgs[i];\n GROWABLE_HEAP_F64()[b + i >>> 0] = arg\n }\n var rtn = __emscripten_run_on_main_thread_js(funcIndex, emAsmAddr, serializedNumCallArgs, args, sync);\n stackRestore(sp);\n return rtn\n };\n\n function _proc_exit(code) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(0, 0, 1, code);\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n PThread.terminateAllThreads();\n Module[\"onExit\"]?.(code);\n ABORT = true\n }\n quit_(code, new ExitStatus(code))\n }\n var handleException = e => {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS\n }\n quit_(1, e)\n };\n\n function exitOnMainThread(returnCode) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(1, 0, 0, returnCode);\n _exit(returnCode)\n }\n var exitJS = (status, implicit) => {\n EXITSTATUS = status;\n if (ENVIRONMENT_IS_PTHREAD) {\n exitOnMainThread(status);\n throw \"unwind\"\n }\n _proc_exit(status)\n };\n var _exit = exitJS;\n var PThread = {\n unusedWorkers: [],\n runningWorkers: [],\n tlsInitFunctions: [],\n pthreads: {},\n init() {\n if (!ENVIRONMENT_IS_PTHREAD) {\n PThread.initMainThread()\n }\n },\n initMainThread() {\n var pthreadPoolSize = 4;\n while (pthreadPoolSize--) {\n PThread.allocateUnusedWorker()\n }\n addOnPreRun(() => {\n addRunDependency(\"loading-workers\");\n PThread.loadWasmModuleToAllWorkers(() => removeRunDependency(\"loading-workers\"))\n })\n },\n terminateAllThreads: () => {\n for (var worker of PThread.runningWorkers) {\n terminateWorker(worker)\n }\n for (var worker of PThread.unusedWorkers) {\n terminateWorker(worker)\n }\n PThread.unusedWorkers = [];\n PThread.runningWorkers = [];\n PThread.pthreads = {}\n },\n returnWorkerToPool: worker => {\n var pthread_ptr = worker.pthread_ptr;\n delete PThread.pthreads[pthread_ptr];\n PThread.unusedWorkers.push(worker);\n PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker), 1);\n worker.pthread_ptr = 0;\n __emscripten_thread_free_data(pthread_ptr)\n },\n receiveObjectTransfer(data) {},\n threadInitTLS() {\n PThread.tlsInitFunctions.forEach(f => f())\n },\n loadWasmModuleToWorker: worker => new Promise(onFinishedLoading => {\n worker.onmessage = e => {\n var d = e[\"data\"];\n var cmd = d.cmd;\n if (d.targetThread && d.targetThread != _pthread_self()) {\n var targetWorker = PThread.pthreads[d.targetThread];\n if (targetWorker) {\n targetWorker.postMessage(d, d.transferList)\n } else {\n err(`Internal error! Worker sent a message \"${cmd}\" to target pthread ${d.targetThread}, but that thread no longer exists!`)\n }\n return\n }\n if (cmd === \"checkMailbox\") {\n checkMailbox()\n } else if (cmd === \"spawnThread\") {\n spawnThread(d)\n } else if (cmd === \"cleanupThread\") {\n cleanupThread(d.thread)\n } else if (cmd === \"loaded\") {\n worker.loaded = true;\n if (ENVIRONMENT_IS_NODE && !worker.pthread_ptr) {\n worker.unref()\n }\n onFinishedLoading(worker)\n } else if (cmd === \"alert\") {\n alert(`Thread ${d.threadId}: ${d.text}`)\n } else if (d.target === \"setimmediate\") {\n worker.postMessage(d)\n } else if (cmd === \"callHandler\") {\n Module[d.handler](...d.args)\n } else if (cmd) {\n err(`worker sent an unknown command ${cmd}`)\n }\n };\n worker.onerror = e => {\n var message = \"worker sent an error!\";\n err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);\n throw e\n };\n if (ENVIRONMENT_IS_NODE) {\n worker.on(\"message\", data => worker.onmessage({\n data\n }));\n worker.on(\"error\", e => worker.onerror(e))\n }\n var handlers = [];\n var knownHandlers = [\"onExit\", \"onAbort\", \"print\", \"printErr\"];\n for (var handler of knownHandlers) {\n if (Module.propertyIsEnumerable(handler)) {\n handlers.push(handler)\n }\n }\n worker.postMessage({\n cmd: \"load\",\n handlers,\n wasmMemory,\n wasmModule\n })\n }),\n loadWasmModuleToAllWorkers(onMaybeReady) {\n if (ENVIRONMENT_IS_PTHREAD) {\n return onMaybeReady()\n }\n let pthreadPoolReady = Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker));\n pthreadPoolReady.then(onMaybeReady)\n },\n allocateUnusedWorker() {\n var worker;\n var workerOptions = {\n workerData: \"em-pthread\",\n name: \"em-pthread\"\n };\n var pthreadMainJs = _scriptName;\n if (Module[\"mainScriptUrlOrBlob\"]) {\n pthreadMainJs = Module[\"mainScriptUrlOrBlob\"];\n if (typeof pthreadMainJs != \"string\") {\n pthreadMainJs = URL.createObjectURL(pthreadMainJs)\n }\n }\n worker = new Worker(pthreadMainJs, workerOptions);\n PThread.unusedWorkers.push(worker)\n },\n getNewWorker() {\n if (PThread.unusedWorkers.length == 0) {\n PThread.allocateUnusedWorker();\n PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])\n }\n return PThread.unusedWorkers.pop()\n }\n };\n var onPostRuns = [];\n var addOnPostRun = cb => onPostRuns.unshift(cb);\n var establishStackSpace = pthread_ptr => {\n updateMemoryViews();\n var stackHigh = GROWABLE_HEAP_U32()[pthread_ptr + 52 >>> 2 >>> 0];\n var stackSize = GROWABLE_HEAP_U32()[pthread_ptr + 56 >>> 2 >>> 0];\n var stackLow = stackHigh - stackSize;\n _emscripten_stack_set_limits(stackHigh, stackLow);\n stackRestore(stackHigh)\n };\n var wasmTableMirror = [];\n var wasmTable;\n var getWasmTableEntry = funcPtr => {\n var func = wasmTableMirror[funcPtr];\n if (!func) {\n if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;\n wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr)\n }\n return func\n };\n var invokeEntryPoint = (ptr, arg) => {\n runtimeKeepaliveCounter = 0;\n noExitRuntime = 0;\n var result = getWasmTableEntry(ptr)(arg);\n\n function finish(result) {\n if (keepRuntimeAlive()) {\n EXITSTATUS = result\n } else {\n __emscripten_thread_exit(result)\n }\n }\n finish(result)\n };\n var noExitRuntime = Module[\"noExitRuntime\"] || true;\n var registerTLSInit = tlsInitFunc => PThread.tlsInitFunctions.push(tlsInitFunc);\n\n function ___call_sighandler(fp, sig) {\n fp >>>= 0;\n return getWasmTableEntry(fp)(sig)\n }\n\n function pthreadCreateProxied(pthread_ptr, attr, startRoutine, arg) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(2, 0, 1, pthread_ptr, attr, startRoutine, arg);\n return ___pthread_create_js(pthread_ptr, attr, startRoutine, arg)\n }\n var _emscripten_has_threading_support = () => typeof SharedArrayBuffer != \"undefined\";\n\n function ___pthread_create_js(pthread_ptr, attr, startRoutine, arg) {\n pthread_ptr >>>= 0;\n attr >>>= 0;\n startRoutine >>>= 0;\n arg >>>= 0;\n if (!_emscripten_has_threading_support()) {\n return 6\n }\n var transferList = [];\n var error = 0;\n if (ENVIRONMENT_IS_PTHREAD && (transferList.length === 0 || error)) {\n return pthreadCreateProxied(pthread_ptr, attr, startRoutine, arg)\n }\n if (error) return error;\n var threadParams = {\n startRoutine,\n pthread_ptr,\n arg,\n transferList\n };\n if (ENVIRONMENT_IS_PTHREAD) {\n threadParams.cmd = \"spawnThread\";\n postMessage(threadParams, transferList);\n return 0\n }\n return spawnThread(threadParams)\n }\n var __abort_js = () => abort(\"\");\n\n function __emscripten_init_main_thread_js(tb) {\n tb >>>= 0;\n __emscripten_thread_init(tb, !ENVIRONMENT_IS_WORKER, 1, !ENVIRONMENT_IS_WEB, 1048576, false);\n PThread.threadInitTLS()\n }\n var maybeExit = () => {\n if (!keepRuntimeAlive()) {\n try {\n if (ENVIRONMENT_IS_PTHREAD) __emscripten_thread_exit(EXITSTATUS);\n else _exit(EXITSTATUS)\n } catch (e) {\n handleException(e)\n }\n }\n };\n var callUserCallback = func => {\n if (ABORT) {\n return\n }\n try {\n func();\n maybeExit()\n } catch (e) {\n handleException(e)\n }\n };\n\n function __emscripten_thread_mailbox_await(pthread_ptr) {\n pthread_ptr >>>= 0;\n if (typeof Atomics.waitAsync === \"function\") {\n var wait = Atomics.waitAsync(GROWABLE_HEAP_I32(), pthread_ptr >>> 2, pthread_ptr);\n wait.value.then(checkMailbox);\n var waitingAsync = pthread_ptr + 128;\n Atomics.store(GROWABLE_HEAP_I32(), waitingAsync >>> 2, 1)\n }\n }\n var checkMailbox = () => {\n var pthread_ptr = _pthread_self();\n if (pthread_ptr) {\n __emscripten_thread_mailbox_await(pthread_ptr);\n callUserCallback(__emscripten_check_mailbox)\n }\n };\n\n function __emscripten_notify_mailbox_postmessage(targetThread, currThreadId) {\n targetThread >>>= 0;\n currThreadId >>>= 0;\n if (targetThread == currThreadId) {\n setTimeout(checkMailbox)\n } else if (ENVIRONMENT_IS_PTHREAD) {\n postMessage({\n targetThread,\n cmd: \"checkMailbox\"\n })\n } else {\n var worker = PThread.pthreads[targetThread];\n if (!worker) {\n return\n }\n worker.postMessage({\n cmd: \"checkMailbox\"\n })\n }\n }\n var proxiedJSCallArgs = [];\n\n function __emscripten_receive_on_main_thread_js(funcIndex, emAsmAddr, callingThread, numCallArgs, args) {\n emAsmAddr >>>= 0;\n callingThread >>>= 0;\n args >>>= 0;\n proxiedJSCallArgs.length = numCallArgs;\n var b = args >>> 3;\n for (var i = 0; i < numCallArgs; i++) {\n proxiedJSCallArgs[i] = GROWABLE_HEAP_F64()[b + i >>> 0]\n }\n var func = emAsmAddr ? ASM_CONSTS[emAsmAddr] : proxiedFunctionTable[funcIndex];\n PThread.currentProxiedOperationCallerThread = callingThread;\n var rtn = func(...proxiedJSCallArgs);\n PThread.currentProxiedOperationCallerThread = 0;\n return rtn\n }\n var __emscripten_runtime_keepalive_clear = () => {\n noExitRuntime = false;\n runtimeKeepaliveCounter = 0\n };\n var UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder : undefined;\n var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => {\n idx >>>= 0;\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.buffer instanceof ArrayBuffer ? heapOrArray.subarray(idx, endPtr) : heapOrArray.slice(idx, endPtr))\n }\n var str = \"\";\n while (idx < endPtr) {\n var u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue\n }\n var u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) == 192) {\n str += String.fromCharCode((u0 & 31) << 6 | u1);\n continue\n }\n var u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) == 224) {\n u0 = (u0 & 15) << 12 | u1 << 6 | u2\n } else {\n u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0)\n } else {\n var ch = u0 - 65536;\n str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023)\n }\n }\n return str\n };\n var UTF8ToString = (ptr, maxBytesToRead) => {\n ptr >>>= 0;\n return ptr ? UTF8ArrayToString(GROWABLE_HEAP_U8(), ptr, maxBytesToRead) : \"\"\n };\n\n function __emscripten_system(command) {\n command >>>= 0;\n if (ENVIRONMENT_IS_NODE) {\n if (!command) return 1;\n var cmdstr = UTF8ToString(command);\n if (!cmdstr.length) return 0;\n var cp = [\"child_process\"].map(require);\n var ret = cp.spawnSync(cmdstr, [], {\n shell: true,\n stdio: \"inherit\"\n });\n var _W_EXITCODE = (ret, sig) => ret << 8 | sig;\n if (ret.status === null) {\n var signalToNumber = sig => {\n switch (sig) {\n case \"SIGHUP\":\n return 1;\n case \"SIGQUIT\":\n return 3;\n case \"SIGFPE\":\n return 8;\n case \"SIGKILL\":\n return 9;\n case \"SIGALRM\":\n return 14;\n case \"SIGTERM\":\n return 15;\n default:\n return 2\n }\n };\n return _W_EXITCODE(0, signalToNumber(ret.signal))\n }\n return _W_EXITCODE(ret.status, 0)\n }\n if (!command) return 0;\n return -52\n }\n\n function __emscripten_thread_cleanup(thread) {\n thread >>>= 0;\n if (!ENVIRONMENT_IS_PTHREAD) cleanupThread(thread);\n else postMessage({\n cmd: \"cleanupThread\",\n thread\n })\n }\n\n function __emscripten_thread_set_strongref(thread) {\n thread >>>= 0;\n if (ENVIRONMENT_IS_NODE) {\n PThread.pthreads[thread].ref()\n }\n }\n\n function __emval_call_method() {\n abort(\"missing function: _emval_call_method\")\n }\n __emval_call_method.stub = true;\n\n function __emval_decref() {\n abort(\"missing function: _emval_decref\")\n }\n __emval_decref.stub = true;\n\n function __emval_get_global() {\n abort(\"missing function: _emval_get_global\")\n }\n __emval_get_global.stub = true;\n\n function __emval_get_method_caller() {\n abort(\"missing function: _emval_get_method_caller\")\n }\n __emval_get_method_caller.stub = true;\n\n function __emval_run_destructors() {\n abort(\"missing function: _emval_run_destructors\")\n }\n __emval_run_destructors.stub = true;\n\n function __gmtime_js(time_low, time_high, tmPtr) {\n var time = convertI32PairToI53Checked(time_low, time_high);\n tmPtr >>>= 0;\n var date = new Date(time * 1e3);\n GROWABLE_HEAP_I32()[tmPtr >>> 2 >>> 0] = date.getUTCSeconds();\n GROWABLE_HEAP_I32()[tmPtr + 4 >>> 2 >>> 0] = date.getUTCMinutes();\n GROWABLE_HEAP_I32()[tmPtr + 8 >>> 2 >>> 0] = date.getUTCHours();\n GROWABLE_HEAP_I32()[tmPtr + 12 >>> 2 >>> 0] = date.getUTCDate();\n GROWABLE_HEAP_I32()[tmPtr + 16 >>> 2 >>> 0] = date.getUTCMonth();\n GROWABLE_HEAP_I32()[tmPtr + 20 >>> 2 >>> 0] = date.getUTCFullYear() - 1900;\n GROWABLE_HEAP_I32()[tmPtr + 24 >>> 2 >>> 0] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;\n GROWABLE_HEAP_I32()[tmPtr + 28 >>> 2 >>> 0] = yday\n }\n var isLeapYear = year => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n var MONTH_DAYS_LEAP_CUMULATIVE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n var MONTH_DAYS_REGULAR_CUMULATIVE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\n var ydayFromDate = date => {\n var leap = isLeapYear(date.getFullYear());\n var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday\n };\n\n function __localtime_js(time_low, time_high, tmPtr) {\n var time = convertI32PairToI53Checked(time_low, time_high);\n tmPtr >>>= 0;\n var date = new Date(time * 1e3);\n GROWABLE_HEAP_I32()[tmPtr >>> 2 >>> 0] = date.getSeconds();\n GROWABLE_HEAP_I32()[tmPtr + 4 >>> 2 >>> 0] = date.getMinutes();\n GROWABLE_HEAP_I32()[tmPtr + 8 >>> 2 >>> 0] = date.getHours();\n GROWABLE_HEAP_I32()[tmPtr + 12 >>> 2 >>> 0] = date.getDate();\n GROWABLE_HEAP_I32()[tmPtr + 16 >>> 2 >>> 0] = date.getMonth();\n GROWABLE_HEAP_I32()[tmPtr + 20 >>> 2 >>> 0] = date.getFullYear() - 1900;\n GROWABLE_HEAP_I32()[tmPtr + 24 >>> 2 >>> 0] = date.getDay();\n var yday = ydayFromDate(date) | 0;\n GROWABLE_HEAP_I32()[tmPtr + 28 >>> 2 >>> 0] = yday;\n GROWABLE_HEAP_I32()[tmPtr + 36 >>> 2 >>> 0] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n GROWABLE_HEAP_I32()[tmPtr + 32 >>> 2 >>> 0] = dst\n }\n var setTempRet0 = val => __emscripten_tempret_set(val);\n var __mktime_js = function(tmPtr) {\n tmPtr >>>= 0;\n var ret = (() => {\n var date = new Date(GROWABLE_HEAP_I32()[tmPtr + 20 >>> 2 >>> 0] + 1900, GROWABLE_HEAP_I32()[tmPtr + 16 >>> 2 >>> 0], GROWABLE_HEAP_I32()[tmPtr + 12 >>> 2 >>> 0], GROWABLE_HEAP_I32()[tmPtr + 8 >>> 2 >>> 0], GROWABLE_HEAP_I32()[tmPtr + 4 >>> 2 >>> 0], GROWABLE_HEAP_I32()[tmPtr >>> 2 >>> 0], 0);\n var dst = GROWABLE_HEAP_I32()[tmPtr + 32 >>> 2 >>> 0];\n var guessedOffset = date.getTimezoneOffset();\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dstOffset = Math.min(winterOffset, summerOffset);\n if (dst < 0) {\n GROWABLE_HEAP_I32()[tmPtr + 32 >>> 2 >>> 0] = Number(summerOffset != winterOffset && dstOffset == guessedOffset)\n } else if (dst > 0 != (dstOffset == guessedOffset)) {\n var nonDstOffset = Math.max(winterOffset, summerOffset);\n var trueOffset = dst > 0 ? dstOffset : nonDstOffset;\n date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4)\n }\n GROWABLE_HEAP_I32()[tmPtr + 24 >>> 2 >>> 0] = date.getDay();\n var yday = ydayFromDate(date) | 0;\n GROWABLE_HEAP_I32()[tmPtr + 28 >>> 2 >>> 0] = yday;\n GROWABLE_HEAP_I32()[tmPtr >>> 2 >>> 0] = date.getSeconds();\n GROWABLE_HEAP_I32()[tmPtr + 4 >>> 2 >>> 0] = date.getMinutes();\n GROWABLE_HEAP_I32()[tmPtr + 8 >>> 2 >>> 0] = date.getHours();\n GROWABLE_HEAP_I32()[tmPtr + 12 >>> 2 >>> 0] = date.getDate();\n GROWABLE_HEAP_I32()[tmPtr + 16 >>> 2 >>> 0] = date.getMonth();\n GROWABLE_HEAP_I32()[tmPtr + 20 >>> 2 >>> 0] = date.getYear();\n var timeMs = date.getTime();\n if (isNaN(timeMs)) {\n return -1\n }\n return timeMs / 1e3\n })();\n return setTempRet0((tempDouble = ret, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)), ret >>> 0\n };\n var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {\n outIdx >>>= 0;\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++ >>> 0] = u\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++ >>> 0] = 192 | u >> 6;\n heap[outIdx++ >>> 0] = 128 | u & 63\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++ >>> 0] = 224 | u >> 12;\n heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;\n heap[outIdx++ >>> 0] = 128 | u & 63\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++ >>> 0] = 240 | u >> 18;\n heap[outIdx++ >>> 0] = 128 | u >> 12 & 63;\n heap[outIdx++ >>> 0] = 128 | u >> 6 & 63;\n heap[outIdx++ >>> 0] = 128 | u & 63\n }\n }\n heap[outIdx >>> 0] = 0;\n return outIdx - startIdx\n };\n var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, GROWABLE_HEAP_U8(), outPtr, maxBytesToWrite);\n Module[\"stringToUTF8\"] = stringToUTF8;\n var __tzset_js = function(timezone, daylight, std_name, dst_name) {\n timezone >>>= 0;\n daylight >>>= 0;\n std_name >>>= 0;\n dst_name >>>= 0;\n var currentYear = (new Date).getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n GROWABLE_HEAP_U32()[timezone >>> 2 >>> 0] = stdTimezoneOffset * 60;\n GROWABLE_HEAP_I32()[daylight >>> 2 >>> 0] = Number(winterOffset != summerOffset);\n var extractZone = timezoneOffset => {\n var sign = timezoneOffset >= 0 ? \"-\" : \"+\";\n var absOffset = Math.abs(timezoneOffset);\n var hours = String(Math.floor(absOffset / 60)).padStart(2, \"0\");\n var minutes = String(absOffset % 60).padStart(2, \"0\");\n return `UTC${sign}${hours}${minutes}`\n };\n var winterName = extractZone(winterOffset);\n var summerName = extractZone(summerOffset);\n if (summerOffset < winterOffset) {\n stringToUTF8(winterName, std_name, 17);\n stringToUTF8(summerName, dst_name, 17)\n } else {\n stringToUTF8(winterName, dst_name, 17);\n stringToUTF8(summerName, std_name, 17)\n }\n };\n\n function __wasmfs_copy_preloaded_file_data(index, buffer) {\n buffer >>>= 0;\n return GROWABLE_HEAP_U8().set(wasmFSPreloadedFiles[index].fileData, buffer >>> 0)\n }\n var wasmFSPreloadedDirs = [];\n var __wasmfs_get_num_preloaded_dirs = () => wasmFSPreloadedDirs.length;\n var wasmFSPreloadedFiles = [];\n var wasmFSPreloadingFlushed = false;\n var __wasmfs_get_num_preloaded_files = () => {\n wasmFSPreloadingFlushed = true;\n return wasmFSPreloadedFiles.length\n };\n\n function __wasmfs_get_preloaded_child_path(index, childNameBuffer) {\n childNameBuffer >>>= 0;\n var s = wasmFSPreloadedDirs[index].childName;\n var len = lengthBytesUTF8(s) + 1;\n stringToUTF8(s, childNameBuffer, len)\n }\n var __wasmfs_get_preloaded_file_mode = index => wasmFSPreloadedFiles[index].mode;\n\n function __wasmfs_get_preloaded_file_size(index) {\n return wasmFSPreloadedFiles[index].fileData.length\n }\n\n function __wasmfs_get_preloaded_parent_path(index, parentPathBuffer) {\n parentPathBuffer >>>= 0;\n var s = wasmFSPreloadedDirs[index].parentPath;\n var len = lengthBytesUTF8(s) + 1;\n stringToUTF8(s, parentPathBuffer, len)\n }\n var lengthBytesUTF8 = str => {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++\n } else if (c <= 2047) {\n len += 2\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i\n } else {\n len += 3\n }\n }\n return len\n };\n Module[\"lengthBytesUTF8\"] = lengthBytesUTF8;\n\n function __wasmfs_get_preloaded_path_name(index, fileNameBuffer) {\n fileNameBuffer >>>= 0;\n var s = wasmFSPreloadedFiles[index].pathName;\n var len = lengthBytesUTF8(s) + 1;\n stringToUTF8(s, fileNameBuffer, len)\n }\n class HandleAllocator {\n allocated = [undefined];\n freelist = [];\n get(id) {\n return this.allocated[id]\n }\n has(id) {\n return this.allocated[id] !== undefined\n }\n allocate(handle) {\n var id = this.freelist.pop() || this.allocated.length;\n this.allocated[id] = handle;\n return id\n }\n free(id) {\n this.allocated[id] = undefined;\n this.freelist.push(id)\n }\n }\n var wasmfsOPFSAccessHandles = new HandleAllocator;\n var wasmfsOPFSProxyFinish = ctx => {\n _emscripten_proxy_finish(ctx)\n };\n async function __wasmfs_opfs_close_access(ctx, accessID, errPtr) {\n ctx >>>= 0;\n errPtr >>>= 0;\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n try {\n await accessHandle.close()\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSAccessHandles.free(accessID);\n wasmfsOPFSProxyFinish(ctx)\n }\n var wasmfsOPFSBlobs = new HandleAllocator;\n var __wasmfs_opfs_close_blob = blobID => {\n wasmfsOPFSBlobs.free(blobID)\n };\n async function __wasmfs_opfs_flush_access(ctx, accessID, errPtr) {\n ctx >>>= 0;\n errPtr >>>= 0;\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n try {\n await accessHandle.flush()\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n var wasmfsOPFSDirectoryHandles = new HandleAllocator;\n var __wasmfs_opfs_free_directory = dirID => {\n wasmfsOPFSDirectoryHandles.free(dirID)\n };\n var wasmfsOPFSFileHandles = new HandleAllocator;\n var __wasmfs_opfs_free_file = fileID => {\n wasmfsOPFSFileHandles.free(fileID)\n };\n async function wasmfsOPFSGetOrCreateFile(parent, name, create) {\n let parentHandle = wasmfsOPFSDirectoryHandles.get(parent);\n let fileHandle;\n try {\n fileHandle = await parentHandle.getFileHandle(name, {\n create\n })\n } catch (e) {\n if (e.name === \"NotFoundError\") {\n return -20\n }\n if (e.name === \"TypeMismatchError\") {\n return -31\n }\n return -29\n }\n return wasmfsOPFSFileHandles.allocate(fileHandle)\n }\n async function wasmfsOPFSGetOrCreateDir(parent, name, create) {\n let parentHandle = wasmfsOPFSDirectoryHandles.get(parent);\n let childHandle;\n try {\n childHandle = await parentHandle.getDirectoryHandle(name, {\n create\n })\n } catch (e) {\n if (e.name === \"NotFoundError\") {\n return -20\n }\n if (e.name === \"TypeMismatchError\") {\n return -54\n }\n return -29\n }\n return wasmfsOPFSDirectoryHandles.allocate(childHandle)\n }\n async function __wasmfs_opfs_get_child(ctx, parent, namePtr, childTypePtr, childIDPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n childTypePtr >>>= 0;\n childIDPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let childType = 1;\n let childID = await wasmfsOPFSGetOrCreateFile(parent, name, false);\n if (childID == -31) {\n childType = 2;\n childID = await wasmfsOPFSGetOrCreateDir(parent, name, false)\n }\n GROWABLE_HEAP_I32()[childTypePtr >>> 2 >>> 0] = childType;\n GROWABLE_HEAP_I32()[childIDPtr >>> 2 >>> 0] = childID;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_get_entries(ctx, dirID, entriesPtr, errPtr) {\n ctx >>>= 0;\n entriesPtr >>>= 0;\n errPtr >>>= 0;\n let dirHandle = wasmfsOPFSDirectoryHandles.get(dirID);\n try {\n let iter = dirHandle.entries();\n for (let entry; entry = await iter.next(), !entry.done;) {\n let [name, child] = entry.value;\n let sp = stackSave();\n let namePtr = stringToUTF8OnStack(name);\n let type = child.kind == \"file\" ? 1 : 2;\n __wasmfs_opfs_record_entry(entriesPtr, namePtr, type);\n stackRestore(sp)\n }\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_get_size_access(ctx, accessID, sizePtr) {\n ctx >>>= 0;\n sizePtr >>>= 0;\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n let size;\n try {\n size = await accessHandle.getSize()\n } catch {\n size = -29\n }\n tempI64 = [size >>> 0, (tempDouble = size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[sizePtr >>> 2 >>> 0] = tempI64[0], GROWABLE_HEAP_I32()[sizePtr + 4 >>> 2 >>> 0] = tempI64[1];\n wasmfsOPFSProxyFinish(ctx)\n }\n var __wasmfs_opfs_get_size_blob = function(blobID) {\n var ret = (() => wasmfsOPFSBlobs.get(blobID).size)();\n return setTempRet0((tempDouble = ret, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)), ret >>> 0\n };\n async function __wasmfs_opfs_get_size_file(ctx, fileID, sizePtr) {\n ctx >>>= 0;\n sizePtr >>>= 0;\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n let size;\n try {\n size = (await fileHandle.getFile()).size\n } catch {\n size = -29\n }\n tempI64 = [size >>> 0, (tempDouble = size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[sizePtr >>> 2 >>> 0] = tempI64[0], GROWABLE_HEAP_I32()[sizePtr + 4 >>> 2 >>> 0] = tempI64[1];\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_init_root_directory(ctx) {\n ctx >>>= 0;\n if (wasmfsOPFSDirectoryHandles.allocated.length == 1) {\n let root = await navigator.storage.getDirectory();\n wasmfsOPFSDirectoryHandles.allocated.push(root)\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_insert_directory(ctx, parent, namePtr, childIDPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n childIDPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let childID = await wasmfsOPFSGetOrCreateDir(parent, name, true);\n GROWABLE_HEAP_I32()[childIDPtr >>> 2 >>> 0] = childID;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_insert_file(ctx, parent, namePtr, childIDPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n childIDPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let childID = await wasmfsOPFSGetOrCreateFile(parent, name, true);\n GROWABLE_HEAP_I32()[childIDPtr >>> 2 >>> 0] = childID;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_move_file(ctx, fileID, newParentID, namePtr, errPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n errPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n let newDirHandle = wasmfsOPFSDirectoryHandles.get(newParentID);\n try {\n await fileHandle.move(newDirHandle, name)\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_open_access(ctx, fileID, accessIDPtr) {\n ctx >>>= 0;\n accessIDPtr >>>= 0;\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n let accessID;\n try {\n let accessHandle;\n var len = FileSystemFileHandle.prototype.createSyncAccessHandle.length;\n if (len == 0) {\n accessHandle = await fileHandle.createSyncAccessHandle()\n } else {\n accessHandle = await fileHandle.createSyncAccessHandle({\n mode: \"in-place\"\n })\n }\n accessID = wasmfsOPFSAccessHandles.allocate(accessHandle)\n } catch (e) {\n if (e.name === \"InvalidStateError\" || e.name === \"NoModificationAllowedError\") {\n accessID = -2\n } else {\n accessID = -29\n }\n }\n GROWABLE_HEAP_I32()[accessIDPtr >>> 2 >>> 0] = accessID;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_open_blob(ctx, fileID, blobIDPtr) {\n ctx >>>= 0;\n blobIDPtr >>>= 0;\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n let blobID;\n try {\n let blob = await fileHandle.getFile();\n blobID = wasmfsOPFSBlobs.allocate(blob)\n } catch (e) {\n if (e.name === \"NotAllowedError\") {\n blobID = -2\n } else {\n blobID = -29\n }\n }\n GROWABLE_HEAP_I32()[blobIDPtr >>> 2 >>> 0] = blobID;\n wasmfsOPFSProxyFinish(ctx)\n }\n\n function __wasmfs_opfs_read_access(accessID, bufPtr, len, pos_low, pos_high) {\n bufPtr >>>= 0;\n var pos = convertI32PairToI53Checked(pos_low, pos_high);\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n let data = GROWABLE_HEAP_U8().subarray(bufPtr >>> 0, bufPtr + len >>> 0);\n try {\n return accessHandle.read(data, {\n at: pos\n })\n } catch (e) {\n if (e.name == \"TypeError\") {\n return -28\n }\n return -29\n }\n }\n async function __wasmfs_opfs_read_blob(ctx, blobID, bufPtr, len, pos_low, pos_high, nreadPtr) {\n ctx >>>= 0;\n bufPtr >>>= 0;\n var pos = convertI32PairToI53Checked(pos_low, pos_high);\n nreadPtr >>>= 0;\n let blob = wasmfsOPFSBlobs.get(blobID);\n let slice = blob.slice(pos, pos + len);\n let nread = 0;\n try {\n let buf = await slice.arrayBuffer();\n let data = new Uint8Array(buf);\n GROWABLE_HEAP_U8().set(data, bufPtr >>> 0);\n nread += data.length\n } catch (e) {\n if (e instanceof RangeError) {\n nread = -21\n } else {\n nread = -29\n }\n }\n GROWABLE_HEAP_I32()[nreadPtr >>> 2 >>> 0] = nread;\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_remove_child(ctx, dirID, namePtr, errPtr) {\n ctx >>>= 0;\n namePtr >>>= 0;\n errPtr >>>= 0;\n let name = UTF8ToString(namePtr);\n let dirHandle = wasmfsOPFSDirectoryHandles.get(dirID);\n try {\n await dirHandle.removeEntry(name)\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_set_size_access(ctx, accessID, size_low, size_high, errPtr) {\n ctx >>>= 0;\n var size = convertI32PairToI53Checked(size_low, size_high);\n errPtr >>>= 0;\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n try {\n await accessHandle.truncate(size)\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n async function __wasmfs_opfs_set_size_file(ctx, fileID, size_low, size_high, errPtr) {\n ctx >>>= 0;\n var size = convertI32PairToI53Checked(size_low, size_high);\n errPtr >>>= 0;\n let fileHandle = wasmfsOPFSFileHandles.get(fileID);\n try {\n let writable = await fileHandle.createWritable({\n keepExistingData: true\n });\n await writable.truncate(size);\n await writable.close()\n } catch {\n let err = -29;\n GROWABLE_HEAP_I32()[errPtr >>> 2 >>> 0] = err\n }\n wasmfsOPFSProxyFinish(ctx)\n }\n\n function __wasmfs_opfs_write_access(accessID, bufPtr, len, pos_low, pos_high) {\n bufPtr >>>= 0;\n var pos = convertI32PairToI53Checked(pos_low, pos_high);\n let accessHandle = wasmfsOPFSAccessHandles.get(accessID);\n let data = GROWABLE_HEAP_U8().subarray(bufPtr >>> 0, bufPtr + len >>> 0);\n try {\n return accessHandle.write(data, {\n at: pos\n })\n } catch (e) {\n if (e.name == \"TypeError\") {\n return -28\n }\n return -29\n }\n }\n var FS_stdin_getChar_buffer = [];\n var intArrayFromString = (stringy, dontAddNull, length) => {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array\n };\n var FS_stdin_getChar = () => {\n if (!FS_stdin_getChar_buffer.length) {\n var result = null;\n if (ENVIRONMENT_IS_NODE) {\n var BUFSIZE = 256;\n var buf = Buffer.alloc(BUFSIZE);\n var bytesRead = 0;\n var fd = process.stdin.fd;\n try {\n bytesRead = fs.readSync(fd, buf, 0, BUFSIZE)\n } catch (e) {\n if (e.toString().includes(\"EOF\")) bytesRead = 0;\n else throw e\n }\n if (bytesRead > 0) {\n result = buf.slice(0, bytesRead).toString(\"utf-8\")\n }\n } else if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\"\n }\n } else {}\n if (!result) {\n return null\n }\n FS_stdin_getChar_buffer = intArrayFromString(result, true)\n }\n return FS_stdin_getChar_buffer.shift()\n };\n var __wasmfs_stdin_get_char = () => {\n var c = FS_stdin_getChar();\n if (typeof c === \"number\") {\n return c\n }\n return -1\n };\n var __wasmfs_thread_utils_heartbeat = function(queue) {\n queue >>>= 0;\n var intervalID = setInterval(() => {\n if (ABORT) {\n clearInterval(intervalID)\n } else {\n _emscripten_proxy_execute_queue(queue)\n }\n }, 50)\n };\n var _emscripten_get_now = () => performance.timeOrigin + performance.now();\n var _emscripten_date_now = () => Date.now();\n var nowIsMonotonic = 1;\n var checkWasiClock = clock_id => clock_id >= 0 && clock_id <= 3;\n\n function _clock_time_get(clk_id, ignored_precision_low, ignored_precision_high, ptime) {\n var ignored_precision = convertI32PairToI53Checked(ignored_precision_low, ignored_precision_high);\n ptime >>>= 0;\n if (!checkWasiClock(clk_id)) {\n return 28\n }\n var now;\n if (clk_id === 0) {\n now = _emscripten_date_now()\n } else if (nowIsMonotonic) {\n now = _emscripten_get_now()\n } else {\n return 52\n }\n var nsec = Math.round(now * 1e3 * 1e3);\n tempI64 = [nsec >>> 0, (tempDouble = nsec, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? +Math.floor(tempDouble / 4294967296) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], GROWABLE_HEAP_I32()[ptime >>> 2 >>> 0] = tempI64[0], GROWABLE_HEAP_I32()[ptime + 4 >>> 2 >>> 0] = tempI64[1];\n return 0\n }\n\n function _duckdb_web_fs_directory_create(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.createDirectory(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_directory_exists(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.checkDirectory(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_directory_list_files(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_directory_remove(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.removeDirectory(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_file_close(fileId) {\n return globalThis.DUCKDB_RUNTIME.closeFile(Module, fileId)\n }\n\n function _duckdb_web_fs_file_drop_file(fileName, fileNameLen) {\n fileName >>>= 0;\n return globalThis.DUCKDB_RUNTIME.dropFile(Module, fileName, fileNameLen)\n }\n\n function _duckdb_web_fs_file_exists(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.checkFile(Module, path, pathLen)\n }\n\n function _duckdb_web_fs_file_move(from, fromLen, to, toLen) {\n from >>>= 0;\n to >>>= 0;\n return globalThis.DUCKDB_RUNTIME.moveFile(Module, from, fromLen, to, toLen)\n }\n\n function _duckdb_web_fs_file_open(fileId, flags) {\n return globalThis.DUCKDB_RUNTIME.openFile(Module, fileId, flags)\n }\n\n function _duckdb_web_fs_file_read(fileId, buf, size, location) {\n buf >>>= 0;\n return globalThis.DUCKDB_RUNTIME.readFile(Module, fileId, buf, size, location)\n }\n\n function _duckdb_web_fs_file_truncate(fileId, newSize) {\n return globalThis.DUCKDB_RUNTIME.truncateFile(Module, fileId, newSize)\n }\n\n function _duckdb_web_fs_file_write(fileId, buf, size, location) {\n buf >>>= 0;\n return globalThis.DUCKDB_RUNTIME.writeFile(Module, fileId, buf, size, location)\n }\n\n function _duckdb_web_fs_get_default_data_protocol(Module) {\n return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(Module)\n }\n\n function _duckdb_web_fs_glob(path, pathLen) {\n path >>>= 0;\n return globalThis.DUCKDB_RUNTIME.glob(Module, path, pathLen)\n }\n\n function _duckdb_web_test_platform_feature(feature) {\n return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module, feature)\n }\n\n function _duckdb_web_udf_scalar_call(funcId, descPtr, descSize, ptrsPtr, ptrsSize, response) {\n funcId >>>= 0;\n descSize >>>= 0;\n ptrsSize >>>= 0;\n return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module, funcId, descPtr, descSize, ptrsPtr, ptrsSize, response)\n }\n var readEmAsmArgsArray = [];\n var readEmAsmArgs = (sigPtr, buf) => {\n readEmAsmArgsArray.length = 0;\n var ch;\n while (ch = GROWABLE_HEAP_U8()[sigPtr++ >>> 0]) {\n var wide = ch != 105;\n wide &= ch != 112;\n buf += wide && buf % 8 ? 4 : 0;\n readEmAsmArgsArray.push(ch == 112 ? GROWABLE_HEAP_U32()[buf >>> 2 >>> 0] : ch == 105 ? GROWABLE_HEAP_I32()[buf >>> 2 >>> 0] : GROWABLE_HEAP_F64()[buf >>> 3 >>> 0]);\n buf += wide ? 8 : 4\n }\n return readEmAsmArgsArray\n };\n var runEmAsmFunction = (code, sigPtr, argbuf) => {\n var args = readEmAsmArgs(sigPtr, argbuf);\n return ASM_CONSTS[code](...args)\n };\n\n function _emscripten_asm_const_ptr(code, sigPtr, argbuf) {\n code >>>= 0;\n sigPtr >>>= 0;\n argbuf >>>= 0;\n return runEmAsmFunction(code, sigPtr, argbuf)\n }\n var warnOnce = text => {\n warnOnce.shown ||= {};\n if (!warnOnce.shown[text]) {\n warnOnce.shown[text] = 1;\n if (ENVIRONMENT_IS_NODE) text = \"warning: \" + text;\n err(text)\n }\n };\n var _emscripten_check_blocking_allowed = () => {};\n\n function _emscripten_err(str) {\n str >>>= 0;\n return err(UTF8ToString(str))\n }\n var runtimeKeepalivePush = () => {\n runtimeKeepaliveCounter += 1\n };\n var _emscripten_exit_with_live_runtime = () => {\n runtimeKeepalivePush();\n throw \"unwind\"\n };\n var getHeapMax = () => 4294901760;\n\n function _emscripten_get_heap_max() {\n return getHeapMax()\n }\n var _emscripten_num_logical_cores = () => ENVIRONMENT_IS_NODE ? require(\"os\").cpus().length : navigator[\"hardwareConcurrency\"];\n\n function _emscripten_out(str) {\n str >>>= 0;\n return out(UTF8ToString(str))\n }\n var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;\n var growMemory = size => {\n var b = wasmMemory.buffer;\n var pages = (size - b.byteLength + 65535) / 65536 | 0;\n try {\n wasmMemory.grow(pages);\n updateMemoryViews();\n return 1\n } catch (e) {}\n };\n\n function _emscripten_resize_heap(requestedSize) {\n requestedSize >>>= 0;\n var oldSize = GROWABLE_HEAP_U8().length;\n if (requestedSize <= oldSize) {\n return false\n }\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false\n }\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = growMemory(newSize);\n if (replacement) {\n return true\n }\n }\n return false\n }\n var _emscripten_unwind_to_js_event_loop = () => {\n throw \"unwind\"\n };\n var ENV = {};\n var getExecutableName = () => thisProgram || \"./this.program\";\n var getEnvStrings = () => {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n USER: \"web_user\",\n LOGNAME: \"web_user\",\n PATH: \"/\",\n PWD: \"/\",\n HOME: \"/home/web_user\",\n LANG: lang,\n _: getExecutableName()\n };\n for (var x in ENV) {\n if (ENV[x] === undefined) delete env[x];\n else env[x] = ENV[x]\n }\n var strings = [];\n for (var x in env) {\n strings.push(`${x}=${env[x]}`)\n }\n getEnvStrings.strings = strings\n }\n return getEnvStrings.strings\n };\n var stringToAscii = (str, buffer) => {\n for (var i = 0; i < str.length; ++i) {\n GROWABLE_HEAP_I8()[buffer++ >>> 0] = str.charCodeAt(i)\n }\n GROWABLE_HEAP_I8()[buffer >>> 0] = 0\n };\n var _environ_get = function(__environ, environ_buf) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(3, 0, 1, __environ, environ_buf);\n __environ >>>= 0;\n environ_buf >>>= 0;\n var bufSize = 0;\n getEnvStrings().forEach((string, i) => {\n var ptr = environ_buf + bufSize;\n GROWABLE_HEAP_U32()[__environ + i * 4 >>> 2 >>> 0] = ptr;\n stringToAscii(string, ptr);\n bufSize += string.length + 1\n });\n return 0\n };\n var _environ_sizes_get = function(penviron_count, penviron_buf_size) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(4, 0, 1, penviron_count, penviron_buf_size);\n penviron_count >>>= 0;\n penviron_buf_size >>>= 0;\n var strings = getEnvStrings();\n GROWABLE_HEAP_U32()[penviron_count >>> 2 >>> 0] = strings.length;\n var bufSize = 0;\n strings.forEach(string => bufSize += string.length + 1);\n GROWABLE_HEAP_U32()[penviron_buf_size >>> 2 >>> 0] = bufSize;\n return 0\n };\n var inetPton4 = str => {\n var b = str.split(\".\");\n for (var i = 0; i < 4; i++) {\n var tmp = Number(b[i]);\n if (isNaN(tmp)) return null;\n b[i] = tmp\n }\n return (b[0] | b[1] << 8 | b[2] << 16 | b[3] << 24) >>> 0\n };\n var jstoi_q = str => parseInt(str);\n var inetPton6 = str => {\n var words;\n var w, offset, z;\n var valid6regx = /^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;\n var parts = [];\n if (!valid6regx.test(str)) {\n return null\n }\n if (str === \"::\") {\n return [0, 0, 0, 0, 0, 0, 0, 0]\n }\n if (str.startsWith(\"::\")) {\n str = str.replace(\"::\", \"Z:\")\n } else {\n str = str.replace(\"::\", \":Z:\")\n }\n if (str.indexOf(\".\") > 0) {\n str = str.replace(new RegExp(\"[.]\", \"g\"), \":\");\n words = str.split(\":\");\n words[words.length - 4] = jstoi_q(words[words.length - 4]) + jstoi_q(words[words.length - 3]) * 256;\n words[words.length - 3] = jstoi_q(words[words.length - 2]) + jstoi_q(words[words.length - 1]) * 256;\n words = words.slice(0, words.length - 2)\n } else {\n words = str.split(\":\")\n }\n offset = 0;\n z = 0;\n for (w = 0; w < words.length; w++) {\n if (typeof words[w] == \"string\") {\n if (words[w] === \"Z\") {\n for (z = 0; z < 8 - words.length + 1; z++) {\n parts[w + z] = 0\n }\n offset = z - 1\n } else {\n parts[w + offset] = _htons(parseInt(words[w], 16))\n }\n } else {\n parts[w + offset] = words[w]\n }\n }\n return [parts[1] << 16 | parts[0], parts[3] << 16 | parts[2], parts[5] << 16 | parts[4], parts[7] << 16 | parts[6]]\n };\n var DNS = {\n address_map: {\n id: 1,\n addrs: {},\n names: {}\n },\n lookup_name(name) {\n var res = inetPton4(name);\n if (res !== null) {\n return name\n }\n res = inetPton6(name);\n if (res !== null) {\n return name\n }\n var addr;\n if (DNS.address_map.addrs[name]) {\n addr = DNS.address_map.addrs[name]\n } else {\n var id = DNS.address_map.id++;\n assert(id < 65535, \"exceeded max address mappings of 65535\");\n addr = \"172.29.\" + (id & 255) + \".\" + (id & 65280);\n DNS.address_map.names[addr] = name;\n DNS.address_map.addrs[name] = addr\n }\n return addr\n },\n lookup_addr(addr) {\n if (DNS.address_map.names[addr]) {\n return DNS.address_map.names[addr]\n }\n return null\n }\n };\n var inetNtop4 = addr => (addr & 255) + \".\" + (addr >> 8 & 255) + \".\" + (addr >> 16 & 255) + \".\" + (addr >> 24 & 255);\n var inetNtop6 = ints => {\n var str = \"\";\n var word = 0;\n var longest = 0;\n var lastzero = 0;\n var zstart = 0;\n var len = 0;\n var i = 0;\n var parts = [ints[0] & 65535, ints[0] >> 16, ints[1] & 65535, ints[1] >> 16, ints[2] & 65535, ints[2] >> 16, ints[3] & 65535, ints[3] >> 16];\n var hasipv4 = true;\n var v4part = \"\";\n for (i = 0; i < 5; i++) {\n if (parts[i] !== 0) {\n hasipv4 = false;\n break\n }\n }\n if (hasipv4) {\n v4part = inetNtop4(parts[6] | parts[7] << 16);\n if (parts[5] === -1) {\n str = \"::ffff:\";\n str += v4part;\n return str\n }\n if (parts[5] === 0) {\n str = \"::\";\n if (v4part === \"0.0.0.0\") v4part = \"\";\n if (v4part === \"0.0.0.1\") v4part = \"1\";\n str += v4part;\n return str\n }\n }\n for (word = 0; word < 8; word++) {\n if (parts[word] === 0) {\n if (word - lastzero > 1) {\n len = 0\n }\n lastzero = word;\n len++\n }\n if (len > longest) {\n longest = len;\n zstart = word - longest + 1\n }\n }\n for (word = 0; word < 8; word++) {\n if (longest > 1) {\n if (parts[word] === 0 && word >= zstart && word < zstart + longest) {\n if (word === zstart) {\n str += \":\";\n if (zstart === 0) str += \":\"\n }\n continue\n }\n }\n str += Number(_ntohs(parts[word] & 65535)).toString(16);\n str += word < 7 ? \":\" : \"\"\n }\n return str\n };\n var zeroMemory = (address, size) => {\n GROWABLE_HEAP_U8().fill(0, address, address + size)\n };\n var writeSockaddr = (sa, family, addr, port, addrlen) => {\n switch (family) {\n case 2:\n addr = inetPton4(addr);\n zeroMemory(sa, 16);\n if (addrlen) {\n GROWABLE_HEAP_I32()[addrlen >>> 2 >>> 0] = 16\n }\n GROWABLE_HEAP_I16()[sa >>> 1 >>> 0] = family;\n GROWABLE_HEAP_I32()[sa + 4 >>> 2 >>> 0] = addr;\n GROWABLE_HEAP_I16()[sa + 2 >>> 1 >>> 0] = _htons(port);\n break;\n case 10:\n addr = inetPton6(addr);\n zeroMemory(sa, 28);\n if (addrlen) {\n GROWABLE_HEAP_I32()[addrlen >>> 2 >>> 0] = 28\n }\n GROWABLE_HEAP_I32()[sa >>> 2 >>> 0] = family;\n GROWABLE_HEAP_I32()[sa + 8 >>> 2 >>> 0] = addr[0];\n GROWABLE_HEAP_I32()[sa + 12 >>> 2 >>> 0] = addr[1];\n GROWABLE_HEAP_I32()[sa + 16 >>> 2 >>> 0] = addr[2];\n GROWABLE_HEAP_I32()[sa + 20 >>> 2 >>> 0] = addr[3];\n GROWABLE_HEAP_I16()[sa + 2 >>> 1 >>> 0] = _htons(port);\n break;\n default:\n return 5\n }\n return 0\n };\n\n function _getaddrinfo(node, service, hint, out) {\n if (ENVIRONMENT_IS_PTHREAD) return proxyToMainThread(5, 0, 1, node, service, hint, out);\n node >>>= 0;\n service >>>= 0;\n hint >>>= 0;\n out >>>= 0;\n var addr = 0;\n var port = 0;\n var flags = 0;\n var family = 0;\n var type = 0;\n var proto = 0;\n var ai;\n\n function allocaddrinfo(family, type, proto, canon, addr, port) {\n var sa, salen, ai;\n var errno;\n salen = family === 10 ? 28 : 16;\n addr = family === 10 ? inetNtop6(addr) : inetNtop4(addr);\n sa = _malloc(salen);\n errno = writeSockaddr(sa, family, addr, port);\n assert(!errno);\n ai = _malloc(32);\n GROWABLE_HEAP_I32()[ai + 4 >>> 2 >>> 0] = family;\n GROWABLE_HEAP_I32()[ai + 8 >>> 2 >>> 0] = type;\n GROWABLE_HEAP_I32()[ai + 12 >>> 2 >>> 0] = proto;\n GROWABLE_HEAP_U32()[ai + 24 >>> 2 >>> 0] = canon;\n GROWABLE_HEAP_U32()[ai + 20 >>> 2 >>> 0] = sa;\n if (family === 10) {\n GROWABLE_HEAP_I32()[ai + 16 >>> 2 >>> 0] = 28\n } else {\n GROWABLE_HEAP_I32()[ai + 16 >>> 2 >>> 0] = 16\n }\n GROWABLE_HEAP_I32()[ai + 28 >>> 2 >>> 0] = 0;\n return ai\n }\n if (hint) {\n flags = GROWABLE_HEAP_I32()[hint >>> 2 >>> 0];\n family = GROWABLE_HEAP_I32()[hint + 4 >>> 2 >>> 0];\n type = GROWABLE_HEAP_I32()[hint + 8 >>> 2 >>> 0];\n proto = GROWABLE_HEAP_I32()[hint + 12 >>> 2 >>> 0]\n }\n if (type && !proto) {\n proto = type === 2 ? 17 : 6\n }\n if (!type && proto) {\n type = proto === 17 ? 2 : 1\n }\n if (proto === 0) {\n proto = 6\n }\n if (type === 0) {\n type = 1\n }\n if (!node && !service) {\n return -2\n }\n if (flags & ~(1 | 2 | 4 | 1024 | 8 | 16 | 32)) {\n return -1\n }\n if (hint !== 0 && GROWABLE_HEAP_I32()[hint >>> 2 >>> 0] & 2 && !node) {\n return -1\n }\n if (flags & 32) {\n return -2\n }\n if (type !== 0 && type !== 1 && type !== 2) {\n return -7\n }\n if (family !== 0 && family !== 2 && family !== 10) {\n return -6\n }\n if (service) {\n service = UTF8ToString(service);\n port = parseInt(service, 10);\n if (isNaN(port)) {\n if (flags & 1024) {\n return -2\n }\n return -8\n }\n }\n if (!node) {\n if (family === 0) {\n family = 2\n }\n if ((flags & 1) === 0) {\n if (family === 2) {\n addr = _htonl(2130706433)\n } else {\n addr = [0, 0, 0, _htonl(1)]\n }\n }\n ai = allocaddrinfo(family, type, proto, null, addr, port);\n GROWABLE_HEAP_U32()[out >>> 2 >>> 0] = ai;\n return 0\n }\n node = UTF8ToString(node);\n addr = inetPton4(node);\n if (addr !== null) {\n if (family === 0 || family === 2) {\n family = 2\n } else if (family === 10 && flags & 8) {\n addr = [0, 0, _htonl(65535), addr];\n family = 10\n } else {\n return -2\n }\n } else {\n addr = inetPton6(node);\n if (addr !== null) {\n if (family === 0 || family === 10) {\n family = 10\n } else {\n return -2\n }\n }\n }\n if (addr != null) {\n ai = allocaddrinfo(family, type, proto, node, addr, port);\n GROWABLE_HEAP_U32()[out >>> 2 >>> 0] = ai;\n return 0\n }\n if (flags & 4) {\n return -2\n }\n node = DNS.lookup_name(node);\n addr = inetPton4(node);\n if (family === 0) {\n family = 2\n } else if (family === 10) {\n addr = [0, 0, _htonl(65535), addr]\n }\n ai = allocaddrinfo(family, type, proto, null, addr, port);\n GROWABLE_HEAP_U32()[out >>> 2 >>> 0] = ai;\n return 0\n }\n var initRandomFill = () => {\n if (ENVIRONMENT_IS_NODE) {\n var nodeCrypto = [\"crypto\"].map(require).pop();\n return view => nodeCrypto.randomFillSync(view)\n }\n return view => view.set(crypto.getRandomValues(new Uint8Array(view.byteLength)))\n };\n var randomFill = view => {\n (randomFill = initRandomFill())(view)\n };\n\n function _random_get(buffer, size) {\n buffer >>>= 0;\n size >>>= 0;\n randomFill(GROWABLE_HEAP_U8().subarray(buffer >>> 0, buffer + size >>> 0));\n return 0\n }\n var getCFunc = ident => {\n var func = Module[\"_\" + ident];\n return func\n };\n var writeArrayToMemory = (array, buffer) => {\n GROWABLE_HEAP_I8().set(array, buffer >>> 0)\n };\n var stringToUTF8OnStack = str => {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8(str, ret, size);\n return ret\n };\n var ccall = (ident, returnType, argTypes, args, opts) => {\n var toC = {\n string: str => {\n var ret = 0;\n if (str !== null && str !== undefined && str !== 0) {\n ret = stringToUTF8OnStack(str)\n }\n return ret\n },\n array: arr => {\n var ret = stackAlloc(arr.length);\n writeArrayToMemory(arr, ret);\n return ret\n }\n };\n\n function convertReturnValue(ret) {\n if (returnType === \"string\") {\n return UTF8ToString(ret)\n }\n if (returnType === \"boolean\") return Boolean(ret);\n return ret\n }\n var func = getCFunc(ident);\n var cArgs = [];\n var stack = 0;\n if (args) {\n for (var i = 0; i < args.length; i++) {\n var converter = toC[argTypes[i]];\n if (converter) {\n if (stack === 0) stack = stackSave();\n cArgs[i] = converter(args[i])\n } else {\n cArgs[i] = args[i]\n }\n }\n }\n var ret = func(...cArgs);\n\n function onDone(ret) {\n if (stack !== 0) stackRestore(stack);\n return convertReturnValue(ret)\n }\n ret = onDone(ret);\n return ret\n };\n var getTempRet0 = val => __emscripten_tempret_get();\n PThread.init();\n var proxiedFunctionTable = [_proc_exit, exitOnMainThread, pthreadCreateProxied, _environ_get, _environ_sizes_get, _getaddrinfo];\n var wasmImports;\n\n function assignWasmImports() {\n wasmImports = {\n la: ___call_sighandler,\n pa: ___pthread_create_js,\n r: __abort_js,\n ia: __emscripten_init_main_thread_js,\n Ga: __emscripten_notify_mailbox_postmessage,\n oa: __emscripten_receive_on_main_thread_js,\n n: __emscripten_runtime_keepalive_clear,\n H: __emscripten_system,\n q: __emscripten_thread_cleanup,\n _: __emscripten_thread_mailbox_await,\n R: __emscripten_thread_set_strongref,\n E: __emval_call_method,\n i: __emval_decref,\n G: __emval_get_global,\n F: __emval_get_method_caller,\n D: __emval_run_destructors,\n z: __gmtime_js,\n A: __localtime_js,\n B: __mktime_js,\n qa: __tzset_js,\n za: __wasmfs_copy_preloaded_file_data,\n xa: __wasmfs_get_num_preloaded_dirs,\n ya: __wasmfs_get_num_preloaded_files,\n va: __wasmfs_get_preloaded_child_path,\n ta: __wasmfs_get_preloaded_file_mode,\n Aa: __wasmfs_get_preloaded_file_size,\n wa: __wasmfs_get_preloaded_parent_path,\n ua: __wasmfs_get_preloaded_path_name,\n Q: __wasmfs_opfs_close_access,\n S: __wasmfs_opfs_close_blob,\n P: __wasmfs_opfs_flush_access,\n I: __wasmfs_opfs_free_directory,\n O: __wasmfs_opfs_free_file,\n W: __wasmfs_opfs_get_child,\n J: __wasmfs_opfs_get_entries,\n U: __wasmfs_opfs_get_size_access,\n x: __wasmfs_opfs_get_size_blob,\n V: __wasmfs_opfs_get_size_file,\n X: __wasmfs_opfs_init_root_directory,\n M: __wasmfs_opfs_insert_directory,\n N: __wasmfs_opfs_insert_file,\n L: __wasmfs_opfs_move_file,\n k: __wasmfs_opfs_open_access,\n T: __wasmfs_opfs_open_blob,\n w: __wasmfs_opfs_read_access,\n v: __wasmfs_opfs_read_blob,\n K: __wasmfs_opfs_remove_child,\n t: __wasmfs_opfs_set_size_access,\n s: __wasmfs_opfs_set_size_file,\n u: __wasmfs_opfs_write_access,\n Da: __wasmfs_stdin_get_char,\n Y: __wasmfs_thread_utils_heartbeat,\n C: _clock_time_get,\n da: _duckdb_web_fs_directory_create,\n ea: _duckdb_web_fs_directory_exists,\n ba: _duckdb_web_fs_directory_list_files,\n ca: _duckdb_web_fs_directory_remove,\n m: _duckdb_web_fs_file_close,\n ha: _duckdb_web_fs_file_drop_file,\n $: _duckdb_web_fs_file_exists,\n aa: _duckdb_web_fs_file_move,\n ga: _duckdb_web_fs_file_open,\n f: _duckdb_web_fs_file_read,\n fa: _duckdb_web_fs_file_truncate,\n g: _duckdb_web_fs_file_write,\n ja: _duckdb_web_fs_get_default_data_protocol,\n Z: _duckdb_web_fs_glob,\n l: _duckdb_web_test_platform_feature,\n ka: _duckdb_web_udf_scalar_call,\n e: _emscripten_asm_const_ptr,\n p: _emscripten_check_blocking_allowed,\n b: _emscripten_date_now,\n h: _emscripten_err,\n j: _emscripten_exit_with_live_runtime,\n Ea: _emscripten_get_heap_max,\n d: _emscripten_get_now,\n Fa: _emscripten_num_logical_cores,\n Ca: _emscripten_out,\n y: _emscripten_resize_heap,\n na: _emscripten_unwind_to_js_event_loop,\n ra: _environ_get,\n sa: _environ_sizes_get,\n c: _exit,\n o: _getaddrinfo,\n a: wasmMemory,\n ma: _proc_exit,\n Ba: _random_get\n }\n }\n var wasmExports = await createWasm();\n var _main = Module[\"_main\"] = (a0, a1) => (_main = Module[\"_main\"] = wasmExports[\"Ia\"])(a0, a1);\n var _duckdb_web_fs_glob_add_path = Module[\"_duckdb_web_fs_glob_add_path\"] = a0 => (_duckdb_web_fs_glob_add_path = Module[\"_duckdb_web_fs_glob_add_path\"] = wasmExports[\"Ka\"])(a0);\n var _duckdb_web_clear_response = Module[\"_duckdb_web_clear_response\"] = () => (_duckdb_web_clear_response = Module[\"_duckdb_web_clear_response\"] = wasmExports[\"La\"])();\n var _duckdb_web_fail_with = Module[\"_duckdb_web_fail_with\"] = a0 => (_duckdb_web_fail_with = Module[\"_duckdb_web_fail_with\"] = wasmExports[\"Ma\"])(a0);\n var _duckdb_web_reset = Module[\"_duckdb_web_reset\"] = a0 => (_duckdb_web_reset = Module[\"_duckdb_web_reset\"] = wasmExports[\"Na\"])(a0);\n var _duckdb_web_connect = Module[\"_duckdb_web_connect\"] = () => (_duckdb_web_connect = Module[\"_duckdb_web_connect\"] = wasmExports[\"Oa\"])();\n var _duckdb_web_disconnect = Module[\"_duckdb_web_disconnect\"] = a0 => (_duckdb_web_disconnect = Module[\"_duckdb_web_disconnect\"] = wasmExports[\"Pa\"])(a0);\n var _duckdb_web_flush_files = Module[\"_duckdb_web_flush_files\"] = () => (_duckdb_web_flush_files = Module[\"_duckdb_web_flush_files\"] = wasmExports[\"Qa\"])();\n var _duckdb_web_flush_file = Module[\"_duckdb_web_flush_file\"] = a0 => (_duckdb_web_flush_file = Module[\"_duckdb_web_flush_file\"] = wasmExports[\"Ra\"])(a0);\n var _duckdb_web_open = Module[\"_duckdb_web_open\"] = (a0, a1) => (_duckdb_web_open = Module[\"_duckdb_web_open\"] = wasmExports[\"Sa\"])(a0, a1);\n var _duckdb_web_get_global_file_info = Module[\"_duckdb_web_get_global_file_info\"] = (a0, a1) => (_duckdb_web_get_global_file_info = Module[\"_duckdb_web_get_global_file_info\"] = wasmExports[\"Ta\"])(a0, a1);\n var _duckdb_web_collect_file_stats = Module[\"_duckdb_web_collect_file_stats\"] = (a0, a1, a2) => (_duckdb_web_collect_file_stats = Module[\"_duckdb_web_collect_file_stats\"] = wasmExports[\"Ua\"])(a0, a1, a2);\n var _duckdb_web_export_file_stats = Module[\"_duckdb_web_export_file_stats\"] = (a0, a1) => (_duckdb_web_export_file_stats = Module[\"_duckdb_web_export_file_stats\"] = wasmExports[\"Va\"])(a0, a1);\n var _duckdb_web_fs_drop_file = Module[\"_duckdb_web_fs_drop_file\"] = (a0, a1) => (_duckdb_web_fs_drop_file = Module[\"_duckdb_web_fs_drop_file\"] = wasmExports[\"Wa\"])(a0, a1);\n var _duckdb_web_fs_drop_files = Module[\"_duckdb_web_fs_drop_files\"] = (a0, a1, a2) => (_duckdb_web_fs_drop_files = Module[\"_duckdb_web_fs_drop_files\"] = wasmExports[\"Xa\"])(a0, a1, a2);\n var _duckdb_web_fs_glob_file_infos = Module[\"_duckdb_web_fs_glob_file_infos\"] = (a0, a1) => (_duckdb_web_fs_glob_file_infos = Module[\"_duckdb_web_fs_glob_file_infos\"] = wasmExports[\"Ya\"])(a0, a1);\n var _duckdb_web_fs_get_file_info_by_id = Module[\"_duckdb_web_fs_get_file_info_by_id\"] = (a0, a1, a2) => (_duckdb_web_fs_get_file_info_by_id = Module[\"_duckdb_web_fs_get_file_info_by_id\"] = wasmExports[\"Za\"])(a0, a1, a2);\n var _duckdb_web_fs_get_file_info_by_name = Module[\"_duckdb_web_fs_get_file_info_by_name\"] = (a0, a1, a2) => (_duckdb_web_fs_get_file_info_by_name = Module[\"_duckdb_web_fs_get_file_info_by_name\"] = wasmExports[\"_a\"])(a0, a1, a2);\n var _duckdb_web_fs_register_file_url = Module[\"_duckdb_web_fs_register_file_url\"] = (a0, a1, a2, a3, a4) => (_duckdb_web_fs_register_file_url = Module[\"_duckdb_web_fs_register_file_url\"] = wasmExports[\"$a\"])(a0, a1, a2, a3, a4);\n var _duckdb_web_fs_register_file_buffer = Module[\"_duckdb_web_fs_register_file_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_fs_register_file_buffer = Module[\"_duckdb_web_fs_register_file_buffer\"] = wasmExports[\"ab\"])(a0, a1, a2, a3);\n var _duckdb_web_copy_file_to_buffer = Module[\"_duckdb_web_copy_file_to_buffer\"] = (a0, a1) => (_duckdb_web_copy_file_to_buffer = Module[\"_duckdb_web_copy_file_to_buffer\"] = wasmExports[\"bb\"])(a0, a1);\n var _duckdb_web_copy_file_to_path = Module[\"_duckdb_web_copy_file_to_path\"] = (a0, a1, a2) => (_duckdb_web_copy_file_to_path = Module[\"_duckdb_web_copy_file_to_path\"] = wasmExports[\"cb\"])(a0, a1, a2);\n var _duckdb_web_get_version = Module[\"_duckdb_web_get_version\"] = a0 => (_duckdb_web_get_version = Module[\"_duckdb_web_get_version\"] = wasmExports[\"db\"])(a0);\n var _duckdb_web_get_feature_flags = Module[\"_duckdb_web_get_feature_flags\"] = () => (_duckdb_web_get_feature_flags = Module[\"_duckdb_web_get_feature_flags\"] = wasmExports[\"eb\"])();\n var _duckdb_web_tokenize = Module[\"_duckdb_web_tokenize\"] = (a0, a1) => (_duckdb_web_tokenize = Module[\"_duckdb_web_tokenize\"] = wasmExports[\"fb\"])(a0, a1);\n var _duckdb_web_tokenize_buffer = Module[\"_duckdb_web_tokenize_buffer\"] = (a0, a1, a2) => (_duckdb_web_tokenize_buffer = Module[\"_duckdb_web_tokenize_buffer\"] = wasmExports[\"gb\"])(a0, a1, a2);\n var _duckdb_web_udf_scalar_create = Module[\"_duckdb_web_udf_scalar_create\"] = (a0, a1, a2) => (_duckdb_web_udf_scalar_create = Module[\"_duckdb_web_udf_scalar_create\"] = wasmExports[\"hb\"])(a0, a1, a2);\n var _duckdb_web_prepared_create = Module[\"_duckdb_web_prepared_create\"] = (a0, a1, a2) => (_duckdb_web_prepared_create = Module[\"_duckdb_web_prepared_create\"] = wasmExports[\"ib\"])(a0, a1, a2);\n var _duckdb_web_prepared_create_buffer = Module[\"_duckdb_web_prepared_create_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_create_buffer = Module[\"_duckdb_web_prepared_create_buffer\"] = wasmExports[\"jb\"])(a0, a1, a2, a3);\n var _duckdb_web_prepared_close = Module[\"_duckdb_web_prepared_close\"] = (a0, a1, a2) => (_duckdb_web_prepared_close = Module[\"_duckdb_web_prepared_close\"] = wasmExports[\"kb\"])(a0, a1, a2);\n var _duckdb_web_prepared_run = Module[\"_duckdb_web_prepared_run\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_run = Module[\"_duckdb_web_prepared_run\"] = wasmExports[\"lb\"])(a0, a1, a2, a3);\n var _duckdb_web_prepared_send = Module[\"_duckdb_web_prepared_send\"] = (a0, a1, a2, a3) => (_duckdb_web_prepared_send = Module[\"_duckdb_web_prepared_send\"] = wasmExports[\"mb\"])(a0, a1, a2, a3);\n var _duckdb_web_query_run = Module[\"_duckdb_web_query_run\"] = (a0, a1, a2) => (_duckdb_web_query_run = Module[\"_duckdb_web_query_run\"] = wasmExports[\"nb\"])(a0, a1, a2);\n var _duckdb_web_query_run_buffer = Module[\"_duckdb_web_query_run_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_query_run_buffer = Module[\"_duckdb_web_query_run_buffer\"] = wasmExports[\"ob\"])(a0, a1, a2, a3);\n var _duckdb_web_pending_query_start = Module[\"_duckdb_web_pending_query_start\"] = (a0, a1, a2, a3) => (_duckdb_web_pending_query_start = Module[\"_duckdb_web_pending_query_start\"] = wasmExports[\"pb\"])(a0, a1, a2, a3);\n var _duckdb_web_pending_query_start_buffer = Module[\"_duckdb_web_pending_query_start_buffer\"] = (a0, a1, a2, a3, a4) => (_duckdb_web_pending_query_start_buffer = Module[\"_duckdb_web_pending_query_start_buffer\"] = wasmExports[\"qb\"])(a0, a1, a2, a3, a4);\n var _duckdb_web_pending_query_poll = Module[\"_duckdb_web_pending_query_poll\"] = (a0, a1, a2) => (_duckdb_web_pending_query_poll = Module[\"_duckdb_web_pending_query_poll\"] = wasmExports[\"rb\"])(a0, a1, a2);\n var _duckdb_web_pending_query_cancel = Module[\"_duckdb_web_pending_query_cancel\"] = (a0, a1) => (_duckdb_web_pending_query_cancel = Module[\"_duckdb_web_pending_query_cancel\"] = wasmExports[\"sb\"])(a0, a1);\n var _duckdb_web_query_fetch_results = Module[\"_duckdb_web_query_fetch_results\"] = (a0, a1) => (_duckdb_web_query_fetch_results = Module[\"_duckdb_web_query_fetch_results\"] = wasmExports[\"tb\"])(a0, a1);\n var _duckdb_web_get_tablenames = Module[\"_duckdb_web_get_tablenames\"] = (a0, a1, a2) => (_duckdb_web_get_tablenames = Module[\"_duckdb_web_get_tablenames\"] = wasmExports[\"ub\"])(a0, a1, a2);\n var _duckdb_web_get_tablenames_buffer = Module[\"_duckdb_web_get_tablenames_buffer\"] = (a0, a1, a2, a3) => (_duckdb_web_get_tablenames_buffer = Module[\"_duckdb_web_get_tablenames_buffer\"] = wasmExports[\"vb\"])(a0, a1, a2, a3);\n var _duckdb_web_insert_arrow_from_ipc_stream = Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"] = (a0, a1, a2, a3, a4) => (_duckdb_web_insert_arrow_from_ipc_stream = Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"] = wasmExports[\"wb\"])(a0, a1, a2, a3, a4);\n var _duckdb_web_insert_csv_from_path = Module[\"_duckdb_web_insert_csv_from_path\"] = (a0, a1, a2, a3) => (_duckdb_web_insert_csv_from_path = Module[\"_duckdb_web_insert_csv_from_path\"] = wasmExports[\"xb\"])(a0, a1, a2, a3);\n var _duckdb_web_insert_json_from_path = Module[\"_duckdb_web_insert_json_from_path\"] = (a0, a1, a2, a3) => (_duckdb_web_insert_json_from_path = Module[\"_duckdb_web_insert_json_from_path\"] = wasmExports[\"yb\"])(a0, a1, a2, a3);\n var __emscripten_tls_init = () => (__emscripten_tls_init = wasmExports[\"zb\"])();\n var _pthread_self = () => (_pthread_self = wasmExports[\"Ab\"])();\n var __emscripten_thread_init = (a0, a1, a2, a3, a4, a5) => (__emscripten_thread_init = wasmExports[\"Bb\"])(a0, a1, a2, a3, a4, a5);\n var __emscripten_thread_crashed = () => (__emscripten_thread_crashed = wasmExports[\"Cb\"])();\n var _emscripten_proxy_execute_queue = a0 => (_emscripten_proxy_execute_queue = wasmExports[\"Gb\"])(a0);\n var _emscripten_proxy_finish = a0 => (_emscripten_proxy_finish = wasmExports[\"Hb\"])(a0);\n var __emscripten_run_on_main_thread_js = (a0, a1, a2, a3, a4) => (__emscripten_run_on_main_thread_js = wasmExports[\"Ib\"])(a0, a1, a2, a3, a4);\n var __emscripten_thread_free_data = a0 => (__emscripten_thread_free_data = wasmExports[\"Jb\"])(a0);\n var __emscripten_thread_exit = a0 => (__emscripten_thread_exit = wasmExports[\"Kb\"])(a0);\n var __emscripten_check_mailbox = () => (__emscripten_check_mailbox = wasmExports[\"Lb\"])();\n var _malloc = Module[\"_malloc\"] = a0 => (_malloc = Module[\"_malloc\"] = wasmExports[\"Mb\"])(a0);\n var _free = Module[\"_free\"] = a0 => (_free = Module[\"_free\"] = wasmExports[\"Nb\"])(a0);\n var _calloc = Module[\"_calloc\"] = (a0, a1) => (_calloc = Module[\"_calloc\"] = wasmExports[\"Ob\"])(a0, a1);\n var __emscripten_tempret_set = a0 => (__emscripten_tempret_set = wasmExports[\"Qb\"])(a0);\n var __emscripten_tempret_get = () => (__emscripten_tempret_get = wasmExports[\"Rb\"])();\n var _emscripten_stack_set_limits = (a0, a1) => (_emscripten_stack_set_limits = wasmExports[\"Sb\"])(a0, a1);\n var __emscripten_stack_restore = a0 => (__emscripten_stack_restore = wasmExports[\"Tb\"])(a0);\n var __emscripten_stack_alloc = a0 => (__emscripten_stack_alloc = wasmExports[\"Ub\"])(a0);\n var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports[\"Vb\"])();\n\n function applySignatureConversions(wasmExports) {\n wasmExports = Object.assign({}, wasmExports);\n var makeWrapper_p = f => () => f() >>> 0;\n var makeWrapper_pp = f => a0 => f(a0) >>> 0;\n var makeWrapper_ppp = f => (a0, a1) => f(a0, a1) >>> 0;\n wasmExports[\"Ab\"] = makeWrapper_p(wasmExports[\"Ab\"]);\n wasmExports[\"Mb\"] = makeWrapper_pp(wasmExports[\"Mb\"]);\n wasmExports[\"Ob\"] = makeWrapper_ppp(wasmExports[\"Ob\"]);\n wasmExports[\"Ub\"] = makeWrapper_pp(wasmExports[\"Ub\"]);\n wasmExports[\"Vb\"] = makeWrapper_p(wasmExports[\"Vb\"]);\n return wasmExports\n }\n Module[\"stackSave\"] = stackSave;\n Module[\"stackRestore\"] = stackRestore;\n Module[\"stackAlloc\"] = stackAlloc;\n Module[\"getTempRet0\"] = getTempRet0;\n Module[\"setTempRet0\"] = setTempRet0;\n Module[\"ccall\"] = ccall;\n\n function callMain() {\n var entryFunction = _main;\n var argc = 0;\n var argv = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret\n } catch (e) {\n return handleException(e)\n }\n }\n\n function run() {\n if (runDependencies > 0) {\n dependenciesFulfilled = run;\n return\n }\n if (ENVIRONMENT_IS_PTHREAD) {\n readyPromiseResolve(Module);\n initRuntime();\n return\n }\n preRun();\n if (runDependencies > 0) {\n dependenciesFulfilled = run;\n return\n }\n\n function doRun() {\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n Module[\"onRuntimeInitialized\"]?.();\n var noInitialRun = Module[\"noInitialRun\"];\n if (!noInitialRun) callMain();\n postRun()\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(() => {\n setTimeout(() => Module[\"setStatus\"](\"\"), 1);\n doRun()\n }, 1)\n } else {\n doRun()\n }\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [Module[\"preInit\"]];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()()\n }\n }\n run();\n moduleRtn = readyPromise;\n\n\n return moduleRtn;\n }\n );\n})();\nif (typeof exports === 'object' && typeof module === 'object') {\n module.exports = DuckDB;\n // This default export looks redundant, but it allows TS to import this\n // commonjs style module.\n module.exports.default = DuckDB;\n} else if (typeof define === 'function' && define['amd'])\n define([], () => DuckDB);\nvar isPthread = globalThis.self?.name?.startsWith('em-pthread');\nvar isNode = typeof globalThis.process?.versions?.node == 'string';\nif (isNode) isPthread = require('worker_threads').workerData === 'em-pthread'\n\n// When running as a pthread, construct a new instance on startup\nisPthread && DuckDB();\n", "/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.11.1\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2025\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA256_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node && process.type != 'renderer';\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (outputType, is224) {\n return function (message) {\n return new Sha256(is224, true).update(message)[outputType]();\n };\n };\n\n var createMethod = function (is224) {\n var method = createOutputMethod('hex', is224);\n if (NODE_JS) {\n method = nodeWrap(method, is224);\n }\n method.create = function () {\n return new Sha256(is224);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type, is224);\n }\n return method;\n };\n\n var nodeWrap = function (method, is224) {\n var crypto = require('crypto')\n var Buffer = require('buffer').Buffer;\n var algorithm = is224 ? 'sha224' : 'sha256';\n var bufferFrom;\n if (Buffer.from && !root.JS_SHA256_NO_BUFFER_FROM) {\n bufferFrom = Buffer.from;\n } else {\n bufferFrom = function (message) {\n return new Buffer(message);\n };\n }\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw new Error(ERROR);\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash(algorithm).update(bufferFrom(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n var createHmacOutputMethod = function (outputType, is224) {\n return function (key, message) {\n return new HmacSha256(key, is224, true).update(message)[outputType]();\n };\n };\n\n var createHmacMethod = function (is224) {\n var method = createHmacOutputMethod('hex', is224);\n method.create = function (key) {\n return new HmacSha256(key, is224);\n };\n method.update = function (key, message) {\n return method.create(key).update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createHmacOutputMethod(type, is224);\n }\n return method;\n };\n\n function Sha256(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (is224) {\n this.h0 = 0xc1059ed8;\n this.h1 = 0x367cd507;\n this.h2 = 0x3070dd17;\n this.h3 = 0xf70e5939;\n this.h4 = 0xffc00b31;\n this.h5 = 0x68581511;\n this.h6 = 0x64f98fa7;\n this.h7 = 0xbefa4fa4;\n } else { // 256\n this.h0 = 0x6a09e667;\n this.h1 = 0xbb67ae85;\n this.h2 = 0x3c6ef372;\n this.h3 = 0xa54ff53a;\n this.h4 = 0x510e527f;\n this.h5 = 0x9b05688c;\n this.h6 = 0x1f83d9ab;\n this.h7 = 0x5be0cd19;\n }\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n this.is224 = is224;\n }\n\n Sha256.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n this.block = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >>> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >>> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >>> 2] |= (0xc0 | (code >>> 6)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >>> 2] |= (0xe0 | (code >>> 12)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >>> 2] |= (0xf0 | (code >>> 18)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha256.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >>> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha256.prototype.hash = function () {\n var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,\n h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;\n\n for (j = 16; j < 64; ++j) {\n // rightrotate\n t1 = blocks[j - 15];\n s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);\n t1 = blocks[j - 2];\n s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n\n bc = b & c;\n for (j = 0; j < 64; j += 4) {\n if (this.first) {\n if (this.is224) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n } else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n this.first = false;\n } else {\n s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));\n s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));\n ab = a & b;\n maj = ab ^ (a & c) ^ bc;\n ch = (e & f) ^ (~e & g);\n t1 = h + s1 + ch + K[j] + blocks[j];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));\n s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));\n da = d & a;\n maj = da ^ (d & b) ^ ab;\n ch = (h & e) ^ (~h & f);\n t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));\n s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));\n cd = c & d;\n maj = cd ^ (c & a) ^ da;\n ch = (g & h) ^ (~g & e);\n t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));\n s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));\n bc = b & c;\n maj = bc ^ (b & d) ^ cd;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n this.chromeBugWorkAround = true;\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n this.h5 = this.h5 + f << 0;\n this.h6 = this.h6 + g << 0;\n this.h7 = this.h7 + h << 0;\n };\n\n Sha256.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var hex = HEX_CHARS[(h0 >>> 28) & 0x0F] + HEX_CHARS[(h0 >>> 24) & 0x0F] +\n HEX_CHARS[(h0 >>> 20) & 0x0F] + HEX_CHARS[(h0 >>> 16) & 0x0F] +\n HEX_CHARS[(h0 >>> 12) & 0x0F] + HEX_CHARS[(h0 >>> 8) & 0x0F] +\n HEX_CHARS[(h0 >>> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h1 >>> 28) & 0x0F] + HEX_CHARS[(h1 >>> 24) & 0x0F] +\n HEX_CHARS[(h1 >>> 20) & 0x0F] + HEX_CHARS[(h1 >>> 16) & 0x0F] +\n HEX_CHARS[(h1 >>> 12) & 0x0F] + HEX_CHARS[(h1 >>> 8) & 0x0F] +\n HEX_CHARS[(h1 >>> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h2 >>> 28) & 0x0F] + HEX_CHARS[(h2 >>> 24) & 0x0F] +\n HEX_CHARS[(h2 >>> 20) & 0x0F] + HEX_CHARS[(h2 >>> 16) & 0x0F] +\n HEX_CHARS[(h2 >>> 12) & 0x0F] + HEX_CHARS[(h2 >>> 8) & 0x0F] +\n HEX_CHARS[(h2 >>> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h3 >>> 28) & 0x0F] + HEX_CHARS[(h3 >>> 24) & 0x0F] +\n HEX_CHARS[(h3 >>> 20) & 0x0F] + HEX_CHARS[(h3 >>> 16) & 0x0F] +\n HEX_CHARS[(h3 >>> 12) & 0x0F] + HEX_CHARS[(h3 >>> 8) & 0x0F] +\n HEX_CHARS[(h3 >>> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h4 >>> 28) & 0x0F] + HEX_CHARS[(h4 >>> 24) & 0x0F] +\n HEX_CHARS[(h4 >>> 20) & 0x0F] + HEX_CHARS[(h4 >>> 16) & 0x0F] +\n HEX_CHARS[(h4 >>> 12) & 0x0F] + HEX_CHARS[(h4 >>> 8) & 0x0F] +\n HEX_CHARS[(h4 >>> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +\n HEX_CHARS[(h5 >>> 28) & 0x0F] + HEX_CHARS[(h5 >>> 24) & 0x0F] +\n HEX_CHARS[(h5 >>> 20) & 0x0F] + HEX_CHARS[(h5 >>> 16) & 0x0F] +\n HEX_CHARS[(h5 >>> 12) & 0x0F] + HEX_CHARS[(h5 >>> 8) & 0x0F] +\n HEX_CHARS[(h5 >>> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +\n HEX_CHARS[(h6 >>> 28) & 0x0F] + HEX_CHARS[(h6 >>> 24) & 0x0F] +\n HEX_CHARS[(h6 >>> 20) & 0x0F] + HEX_CHARS[(h6 >>> 16) & 0x0F] +\n HEX_CHARS[(h6 >>> 12) & 0x0F] + HEX_CHARS[(h6 >>> 8) & 0x0F] +\n HEX_CHARS[(h6 >>> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];\n if (!this.is224) {\n hex += HEX_CHARS[(h7 >>> 28) & 0x0F] + HEX_CHARS[(h7 >>> 24) & 0x0F] +\n HEX_CHARS[(h7 >>> 20) & 0x0F] + HEX_CHARS[(h7 >>> 16) & 0x0F] +\n HEX_CHARS[(h7 >>> 12) & 0x0F] + HEX_CHARS[(h7 >>> 8) & 0x0F] +\n HEX_CHARS[(h7 >>> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];\n }\n return hex;\n };\n\n Sha256.prototype.toString = Sha256.prototype.hex;\n\n Sha256.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var arr = [\n (h0 >>> 24) & 0xFF, (h0 >>> 16) & 0xFF, (h0 >>> 8) & 0xFF, h0 & 0xFF,\n (h1 >>> 24) & 0xFF, (h1 >>> 16) & 0xFF, (h1 >>> 8) & 0xFF, h1 & 0xFF,\n (h2 >>> 24) & 0xFF, (h2 >>> 16) & 0xFF, (h2 >>> 8) & 0xFF, h2 & 0xFF,\n (h3 >>> 24) & 0xFF, (h3 >>> 16) & 0xFF, (h3 >>> 8) & 0xFF, h3 & 0xFF,\n (h4 >>> 24) & 0xFF, (h4 >>> 16) & 0xFF, (h4 >>> 8) & 0xFF, h4 & 0xFF,\n (h5 >>> 24) & 0xFF, (h5 >>> 16) & 0xFF, (h5 >>> 8) & 0xFF, h5 & 0xFF,\n (h6 >>> 24) & 0xFF, (h6 >>> 16) & 0xFF, (h6 >>> 8) & 0xFF, h6 & 0xFF\n ];\n if (!this.is224) {\n arr.push((h7 >>> 24) & 0xFF, (h7 >>> 16) & 0xFF, (h7 >>> 8) & 0xFF, h7 & 0xFF);\n }\n return arr;\n };\n\n Sha256.prototype.array = Sha256.prototype.digest;\n\n Sha256.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(this.is224 ? 28 : 32);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n dataView.setUint32(20, this.h5);\n dataView.setUint32(24, this.h6);\n if (!this.is224) {\n dataView.setUint32(28, this.h7);\n }\n return buffer;\n };\n\n function HmacSha256(key, is224, sharedMemory) {\n var i, type = typeof key;\n if (type === 'string') {\n var bytes = [], length = key.length, index = 0, code;\n for (i = 0; i < length; ++i) {\n code = key.charCodeAt(i);\n if (code < 0x80) {\n bytes[index++] = code;\n } else if (code < 0x800) {\n bytes[index++] = (0xc0 | (code >>> 6));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes[index++] = (0xe0 | (code >>> 12));\n bytes[index++] = (0x80 | ((code >>> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));\n bytes[index++] = (0xf0 | (code >>> 18));\n bytes[index++] = (0x80 | ((code >>> 12) & 0x3f));\n bytes[index++] = (0x80 | ((code >>> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n }\n }\n key = bytes;\n } else {\n if (type === 'object') {\n if (key === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {\n key = new Uint8Array(key);\n } else if (!Array.isArray(key)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n }\n\n if (key.length > 64) {\n key = (new Sha256(is224, true)).update(key).array();\n }\n\n var oKeyPad = [], iKeyPad = [];\n for (i = 0; i < 64; ++i) {\n var b = key[i] || 0;\n oKeyPad[i] = 0x5c ^ b;\n iKeyPad[i] = 0x36 ^ b;\n }\n\n Sha256.call(this, is224, sharedMemory);\n\n this.update(iKeyPad);\n this.oKeyPad = oKeyPad;\n this.inner = true;\n this.sharedMemory = sharedMemory;\n }\n HmacSha256.prototype = new Sha256();\n\n HmacSha256.prototype.finalize = function () {\n Sha256.prototype.finalize.call(this);\n if (this.inner) {\n this.inner = false;\n var innerHash = this.array();\n Sha256.call(this, this.is224, this.sharedMemory);\n this.update(this.oKeyPad);\n this.update(innerHash);\n Sha256.prototype.finalize.call(this);\n }\n };\n\n var exports = createMethod();\n exports.sha256 = exports;\n exports.sha224 = createMethod(true);\n exports.sha256.hmac = createHmacMethod();\n exports.sha224.hmac = createHmacMethod(true);\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha256 = exports.sha256;\n root.sha224 = exports.sha224;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n", "import { AsyncDuckDBDispatcher, WorkerResponseVariant, WorkerRequestVariant } from '../parallel';\nimport { DuckDB } from '../bindings/bindings_browser_coi';\nimport { DuckDBBindings } from '../bindings';\nimport { BROWSER_RUNTIME } from '../bindings/runtime_browser';\nimport { InstantiationProgress } from '../bindings/progress';\n\n/** The duckdb worker API for web workers */\nclass WebWorker extends AsyncDuckDBDispatcher {\n /** Post a response back to the main thread */\n protected postMessage(response: WorkerResponseVariant, transfer: ArrayBuffer[]) {\n globalThis.postMessage(response, transfer);\n }\n\n /** Instantiate the wasm module */\n protected async instantiate(\n mainModuleURL: string,\n pthreadWorkerURL: string | null,\n progress: (p: InstantiationProgress) => void,\n ): Promise<DuckDBBindings> {\n const bindings = new DuckDB(this, BROWSER_RUNTIME, mainModuleURL, pthreadWorkerURL);\n return await bindings.instantiate(progress);\n }\n}\n\n/** Register the worker */\nexport function registerWorker(): void {\n const api = new WebWorker();\n globalThis.onmessage = async (event: MessageEvent<WorkerRequestVariant>) => {\n await api.onMessage(event.data);\n };\n}\n\nregisterWorker();\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", null, null, null, null, null, null, null, null, null, null, "export const int32 = new Int32Array(2);\nexport const float32 = new Float32Array(int32.buffer);\nexport const float64 = new Float64Array(int32.buffer);\nexport const isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n", "export var Encoding;\n(function (Encoding) {\n Encoding[Encoding[\"UTF8_BYTES\"] = 1] = \"UTF8_BYTES\";\n Encoding[Encoding[\"UTF16_STRING\"] = 2] = \"UTF16_STRING\";\n})(Encoding || (Encoding = {}));\n", "import { FILE_IDENTIFIER_LENGTH, SIZEOF_INT } from \"./constants.js\";\nimport { int32, isLittleEndian, float32, float64 } from \"./utils.js\";\nimport { Encoding } from \"./encoding.js\";\nexport class ByteBuffer {\n /**\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`)\n */\n constructor(bytes_) {\n this.bytes_ = bytes_;\n this.position_ = 0;\n this.text_decoder_ = new TextDecoder();\n }\n /**\n * Create and allocate a new ByteBuffer with a given size.\n */\n static allocate(byte_size) {\n return new ByteBuffer(new Uint8Array(byte_size));\n }\n clear() {\n this.position_ = 0;\n }\n /**\n * Get the underlying `Uint8Array`.\n */\n bytes() {\n return this.bytes_;\n }\n /**\n * Get the buffer's position.\n */\n position() {\n return this.position_;\n }\n /**\n * Set the buffer's position.\n */\n setPosition(position) {\n this.position_ = position;\n }\n /**\n * Get the buffer's capacity.\n */\n capacity() {\n return this.bytes_.length;\n }\n readInt8(offset) {\n return this.readUint8(offset) << 24 >> 24;\n }\n readUint8(offset) {\n return this.bytes_[offset];\n }\n readInt16(offset) {\n return this.readUint16(offset) << 16 >> 16;\n }\n readUint16(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\n }\n readInt32(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\n }\n readUint32(offset) {\n return this.readInt32(offset) >>> 0;\n }\n readInt64(offset) {\n return BigInt.asIntN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readUint64(offset) {\n return BigInt.asUintN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readFloat32(offset) {\n int32[0] = this.readInt32(offset);\n return float32[0];\n }\n readFloat64(offset) {\n int32[isLittleEndian ? 0 : 1] = this.readInt32(offset);\n int32[isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n return float64[0];\n }\n writeInt8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeUint8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeInt16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeUint16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeInt32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeUint32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeInt64(offset, value) {\n this.writeInt32(offset, Number(BigInt.asIntN(32, value)));\n this.writeInt32(offset + 4, Number(BigInt.asIntN(32, value >> BigInt(32))));\n }\n writeUint64(offset, value) {\n this.writeUint32(offset, Number(BigInt.asUintN(32, value)));\n this.writeUint32(offset + 4, Number(BigInt.asUintN(32, value >> BigInt(32))));\n }\n writeFloat32(offset, value) {\n float32[0] = value;\n this.writeInt32(offset, int32[0]);\n }\n writeFloat64(offset, value) {\n float64[0] = value;\n this.writeInt32(offset, int32[isLittleEndian ? 0 : 1]);\n this.writeInt32(offset + 4, int32[isLittleEndian ? 1 : 0]);\n }\n /**\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\n * schema does not include a file_identifier (likely points at padding or the\n * start of a the root vtable).\n */\n getBufferIdentifier() {\n if (this.bytes_.length < this.position_ + SIZEOF_INT +\n FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: ByteBuffer is too short to contain an identifier.');\n }\n let result = \"\";\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n result += String.fromCharCode(this.readInt8(this.position_ + SIZEOF_INT + i));\n }\n return result;\n }\n /**\n * Look up a field in the vtable, return an offset into the object, or 0 if the\n * field is not present.\n */\n __offset(bb_pos, vtable_offset) {\n const vtable = bb_pos - this.readInt32(bb_pos);\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\n }\n /**\n * Initialize any Table-derived type to point to the union at the given offset.\n */\n __union(t, offset) {\n t.bb_pos = offset + this.readInt32(offset);\n t.bb = this;\n return t;\n }\n /**\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n * This allocates a new string and converts to wide chars upon each access.\n *\n * To avoid the conversion to string, pass Encoding.UTF8_BYTES as the\n * \"optionalEncoding\" argument. This is useful for avoiding conversion when\n * the data will just be packaged back up in another FlatBuffer later on.\n *\n * @param offset\n * @param opt_encoding Defaults to UTF16_STRING\n */\n __string(offset, opt_encoding) {\n offset += this.readInt32(offset);\n const length = this.readInt32(offset);\n offset += SIZEOF_INT;\n const utf8bytes = this.bytes_.subarray(offset, offset + length);\n if (opt_encoding === Encoding.UTF8_BYTES)\n return utf8bytes;\n else\n return this.text_decoder_.decode(utf8bytes);\n }\n /**\n * Handle unions that can contain string as its member, if a Table-derived type then initialize it,\n * if a string then return a new one\n *\n * WARNING: strings are immutable in JS so we can't change the string that the user gave us, this\n * makes the behaviour of __union_with_string different compared to __union\n */\n __union_with_string(o, offset) {\n if (typeof o === 'string') {\n return this.__string(offset);\n }\n return this.__union(o, offset);\n }\n /**\n * Retrieve the relative offset stored at \"offset\"\n */\n __indirect(offset) {\n return offset + this.readInt32(offset);\n }\n /**\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector(offset) {\n return offset + this.readInt32(offset) + SIZEOF_INT; // data starts after the length\n }\n /**\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector_len(offset) {\n return this.readInt32(offset + this.readInt32(offset));\n }\n __has_identifier(ident) {\n if (ident.length != FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n FILE_IDENTIFIER_LENGTH);\n }\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n if (ident.charCodeAt(i) != this.readInt8(this.position() + SIZEOF_INT + i)) {\n return false;\n }\n }\n return true;\n }\n /**\n * A helper function for generating list for obj api\n */\n createScalarList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val);\n }\n }\n return ret;\n }\n /**\n * A helper function for generating list for obj api\n * @param listAccessor function that accepts an index and return data at that index\n * @param listLength listLength\n * @param res result list\n */\n createObjList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val.unpack());\n }\n }\n return ret;\n }\n}\n", "import { ByteBuffer } from \"./byte-buffer.js\";\nimport { SIZEOF_SHORT, SIZE_PREFIX_LENGTH, SIZEOF_INT, FILE_IDENTIFIER_LENGTH } from \"./constants.js\";\nexport class Builder {\n /**\n * Create a FlatBufferBuilder.\n */\n constructor(opt_initial_size) {\n /** Minimum alignment encountered so far. */\n this.minalign = 1;\n /** The vtable for the current table. */\n this.vtable = null;\n /** The amount of fields we're actually using. */\n this.vtable_in_use = 0;\n /** Whether we are currently serializing a table. */\n this.isNested = false;\n /** Starting offset of the current struct/table. */\n this.object_start = 0;\n /** List of offsets of all vtables. */\n this.vtables = [];\n /** For the current vector being built. */\n this.vector_num_elems = 0;\n /** False omits default values from the serialized data */\n this.force_defaults = false;\n this.string_maps = null;\n this.text_encoder = new TextEncoder();\n let initial_size;\n if (!opt_initial_size) {\n initial_size = 1024;\n }\n else {\n initial_size = opt_initial_size;\n }\n /**\n * @type {ByteBuffer}\n * @private\n */\n this.bb = ByteBuffer.allocate(initial_size);\n this.space = initial_size;\n }\n clear() {\n this.bb.clear();\n this.space = this.bb.capacity();\n this.minalign = 1;\n this.vtable = null;\n this.vtable_in_use = 0;\n this.isNested = false;\n this.object_start = 0;\n this.vtables = [];\n this.vector_num_elems = 0;\n this.force_defaults = false;\n this.string_maps = null;\n }\n /**\n * In order to save space, fields that are set to their default value\n * don't get serialized into the buffer. Forcing defaults provides a\n * way to manually disable this optimization.\n *\n * @param forceDefaults true always serializes default values\n */\n forceDefaults(forceDefaults) {\n this.force_defaults = forceDefaults;\n }\n /**\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n * called finish(). The actual data starts at the ByteBuffer's current position,\n * not necessarily at 0.\n */\n dataBuffer() {\n return this.bb;\n }\n /**\n * Get the bytes representing the FlatBuffer. Only call this after you've\n * called finish().\n */\n asUint8Array() {\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\n }\n /**\n * Prepare to write an element of `size` after `additional_bytes` have been\n * written, e.g. if you write a string, you need to align such the int length\n * field is aligned to 4 bytes, and the string data follows it directly. If all\n * you need to do is alignment, `additional_bytes` will be 0.\n *\n * @param size This is the of the new element to write\n * @param additional_bytes The padding size\n */\n prep(size, additional_bytes) {\n // Track the biggest thing we've ever aligned to.\n if (size > this.minalign) {\n this.minalign = size;\n }\n // Find the amount of alignment needed such that `size` is properly\n // aligned after `additional_bytes`\n const align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\n // Reallocate the buffer if needed.\n while (this.space < align_size + size + additional_bytes) {\n const old_buf_size = this.bb.capacity();\n this.bb = Builder.growByteBuffer(this.bb);\n this.space += this.bb.capacity() - old_buf_size;\n }\n this.pad(align_size);\n }\n pad(byte_size) {\n for (let i = 0; i < byte_size; i++) {\n this.bb.writeInt8(--this.space, 0);\n }\n }\n writeInt8(value) {\n this.bb.writeInt8(this.space -= 1, value);\n }\n writeInt16(value) {\n this.bb.writeInt16(this.space -= 2, value);\n }\n writeInt32(value) {\n this.bb.writeInt32(this.space -= 4, value);\n }\n writeInt64(value) {\n this.bb.writeInt64(this.space -= 8, value);\n }\n writeFloat32(value) {\n this.bb.writeFloat32(this.space -= 4, value);\n }\n writeFloat64(value) {\n this.bb.writeFloat64(this.space -= 8, value);\n }\n /**\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int8` to add the buffer.\n */\n addInt8(value) {\n this.prep(1, 0);\n this.writeInt8(value);\n }\n /**\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int16` to add the buffer.\n */\n addInt16(value) {\n this.prep(2, 0);\n this.writeInt16(value);\n }\n /**\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int32` to add the buffer.\n */\n addInt32(value) {\n this.prep(4, 0);\n this.writeInt32(value);\n }\n /**\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int64` to add the buffer.\n */\n addInt64(value) {\n this.prep(8, 0);\n this.writeInt64(value);\n }\n /**\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float32` to add the buffer.\n */\n addFloat32(value) {\n this.prep(4, 0);\n this.writeFloat32(value);\n }\n /**\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float64` to add the buffer.\n */\n addFloat64(value) {\n this.prep(8, 0);\n this.writeFloat64(value);\n }\n addFieldInt8(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt8(value);\n this.slot(voffset);\n }\n }\n addFieldInt16(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt16(value);\n this.slot(voffset);\n }\n }\n addFieldInt32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt32(value);\n this.slot(voffset);\n }\n }\n addFieldInt64(voffset, value, defaultValue) {\n if (this.force_defaults || value !== defaultValue) {\n this.addInt64(value);\n this.slot(voffset);\n }\n }\n addFieldFloat32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat32(value);\n this.slot(voffset);\n }\n }\n addFieldFloat64(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat64(value);\n this.slot(voffset);\n }\n }\n addFieldOffset(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addOffset(value);\n this.slot(voffset);\n }\n }\n /**\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n */\n addFieldStruct(voffset, value, defaultValue) {\n if (value != defaultValue) {\n this.nested(value);\n this.slot(voffset);\n }\n }\n /**\n * Structures are always stored inline, they need to be created right\n * where they're used. You'll get this assertion failure if you\n * created it elsewhere.\n */\n nested(obj) {\n if (obj != this.offset()) {\n throw new TypeError('FlatBuffers: struct must be serialized inline.');\n }\n }\n /**\n * Should not be creating any other object, string or vector\n * while an object is being constructed\n */\n notNested() {\n if (this.isNested) {\n throw new TypeError('FlatBuffers: object serialization must not be nested.');\n }\n }\n /**\n * Set the current vtable at `voffset` to the current location in the buffer.\n */\n slot(voffset) {\n if (this.vtable !== null)\n this.vtable[voffset] = this.offset();\n }\n /**\n * @returns Offset relative to the end of the buffer.\n */\n offset() {\n return this.bb.capacity() - this.space;\n }\n /**\n * Doubles the size of the backing ByteBuffer and copies the old data towards\n * the end of the new buffer (since we build the buffer backwards).\n *\n * @param bb The current buffer with the existing data\n * @returns A new byte buffer with the old data copied\n * to it. The data is located at the end of the buffer.\n *\n * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass\n * it a uint8Array we need to suppress the type check:\n * @suppress {checkTypes}\n */\n static growByteBuffer(bb) {\n const old_buf_size = bb.capacity();\n // Ensure we don't grow beyond what fits in an int.\n if (old_buf_size & 0xC0000000) {\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n }\n const new_buf_size = old_buf_size << 1;\n const nbb = ByteBuffer.allocate(new_buf_size);\n nbb.setPosition(new_buf_size - old_buf_size);\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n return nbb;\n }\n /**\n * Adds on offset, relative to where it will be written.\n *\n * @param offset The offset to add.\n */\n addOffset(offset) {\n this.prep(SIZEOF_INT, 0); // Ensure alignment is already done.\n this.writeInt32(this.offset() - offset + SIZEOF_INT);\n }\n /**\n * Start encoding a new object in the buffer. Users will not usually need to\n * call this directly. The FlatBuffers compiler will generate helper methods\n * that call this method internally.\n */\n startObject(numfields) {\n this.notNested();\n if (this.vtable == null) {\n this.vtable = [];\n }\n this.vtable_in_use = numfields;\n for (let i = 0; i < numfields; i++) {\n this.vtable[i] = 0; // This will push additional elements as needed\n }\n this.isNested = true;\n this.object_start = this.offset();\n }\n /**\n * Finish off writing the object that is under construction.\n *\n * @returns The offset to the object inside `dataBuffer`\n */\n endObject() {\n if (this.vtable == null || !this.isNested) {\n throw new Error('FlatBuffers: endObject called without startObject');\n }\n this.addInt32(0);\n const vtableloc = this.offset();\n // Trim trailing zeroes.\n let i = this.vtable_in_use - 1;\n // eslint-disable-next-line no-empty\n for (; i >= 0 && this.vtable[i] == 0; i--) { }\n const trimmed_size = i + 1;\n // Write out the current vtable.\n for (; i >= 0; i--) {\n // Offset relative to the start of the table.\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n }\n const standard_fields = 2; // The fields below:\n this.addInt16(vtableloc - this.object_start);\n const len = (trimmed_size + standard_fields) * SIZEOF_SHORT;\n this.addInt16(len);\n // Search for an existing vtable that matches the current one.\n let existing_vtable = 0;\n const vt1 = this.space;\n outer_loop: for (i = 0; i < this.vtables.length; i++) {\n const vt2 = this.bb.capacity() - this.vtables[i];\n if (len == this.bb.readInt16(vt2)) {\n for (let j = SIZEOF_SHORT; j < len; j += SIZEOF_SHORT) {\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n continue outer_loop;\n }\n }\n existing_vtable = this.vtables[i];\n break;\n }\n }\n if (existing_vtable) {\n // Found a match:\n // Remove the current vtable.\n this.space = this.bb.capacity() - vtableloc;\n // Point table to existing vtable.\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n }\n else {\n // No match:\n // Add the location of the current vtable to the list of vtables.\n this.vtables.push(this.offset());\n // Point table to current vtable.\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n }\n this.isNested = false;\n return vtableloc;\n }\n /**\n * Finalize a buffer, poiting to the given `root_table`.\n */\n finish(root_table, opt_file_identifier, opt_size_prefix) {\n const size_prefix = opt_size_prefix ? SIZE_PREFIX_LENGTH : 0;\n if (opt_file_identifier) {\n const file_identifier = opt_file_identifier;\n this.prep(this.minalign, SIZEOF_INT +\n FILE_IDENTIFIER_LENGTH + size_prefix);\n if (file_identifier.length != FILE_IDENTIFIER_LENGTH) {\n throw new TypeError('FlatBuffers: file identifier must be length ' +\n FILE_IDENTIFIER_LENGTH);\n }\n for (let i = FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n this.writeInt8(file_identifier.charCodeAt(i));\n }\n }\n this.prep(this.minalign, SIZEOF_INT + size_prefix);\n this.addOffset(root_table);\n if (size_prefix) {\n this.addInt32(this.bb.capacity() - this.space);\n }\n this.bb.setPosition(this.space);\n }\n /**\n * Finalize a size prefixed buffer, pointing to the given `root_table`.\n */\n finishSizePrefixed(root_table, opt_file_identifier) {\n this.finish(root_table, opt_file_identifier, true);\n }\n /**\n * This checks a required field has been set in a given table that has\n * just been constructed.\n */\n requiredField(table, field) {\n const table_start = this.bb.capacity() - table;\n const vtable_start = table_start - this.bb.readInt32(table_start);\n const ok = field < this.bb.readInt16(vtable_start) &&\n this.bb.readInt16(vtable_start + field) != 0;\n // If this fails, the caller will show what field needs to be set.\n if (!ok) {\n throw new TypeError('FlatBuffers: field ' + field + ' must be set');\n }\n }\n /**\n * Start a new array/vector of objects. Users usually will not call\n * this directly. The FlatBuffers compiler will create a start/end\n * method for vector types in generated code.\n *\n * @param elem_size The size of each element in the array\n * @param num_elems The number of elements in the array\n * @param alignment The alignment of the array\n */\n startVector(elem_size, num_elems, alignment) {\n this.notNested();\n this.vector_num_elems = num_elems;\n this.prep(SIZEOF_INT, elem_size * num_elems);\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n }\n /**\n * Finish off the creation of an array and all its elements. The array must be\n * created with `startVector`.\n *\n * @returns The offset at which the newly created array\n * starts.\n */\n endVector() {\n this.writeInt32(this.vector_num_elems);\n return this.offset();\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If the string passed has\n * already been seen, we return the offset of the already written string\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createSharedString(s) {\n if (!s) {\n return 0;\n }\n if (!this.string_maps) {\n this.string_maps = new Map();\n }\n if (this.string_maps.has(s)) {\n return this.string_maps.get(s);\n }\n const offset = this.createString(s);\n this.string_maps.set(s, offset);\n return offset;\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createString(s) {\n if (s === null || s === undefined) {\n return 0;\n }\n let utf8;\n if (s instanceof Uint8Array) {\n utf8 = s;\n }\n else {\n utf8 = this.text_encoder.encode(s);\n }\n this.addInt8(0);\n this.startVector(1, utf8.length, 1);\n this.bb.setPosition(this.space -= utf8.length);\n this.bb.bytes().set(utf8, this.space);\n return this.endVector();\n }\n /**\n * Create a byte vector.\n *\n * @param v The bytes to add\n * @returns The offset in the buffer where the byte vector starts\n */\n createByteVector(v) {\n if (v === null || v === undefined) {\n return 0;\n }\n this.startVector(1, v.length, 1);\n this.bb.setPosition(this.space -= v.length);\n this.bb.bytes().set(v, this.space);\n return this.endVector();\n }\n /**\n * A helper function to pack an object\n *\n * @returns offset of obj\n */\n createObjectOffset(obj) {\n if (obj === null) {\n return 0;\n }\n if (typeof obj === 'string') {\n return this.createString(obj);\n }\n else {\n return obj.pack(this);\n }\n }\n /**\n * A helper function to pack a list of object\n *\n * @returns list of offsets of each non null object\n */\n createObjectOffsetList(list) {\n const ret = [];\n for (let i = 0; i < list.length; ++i) {\n const val = list[i];\n if (val !== null) {\n ret.push(this.createObjectOffset(val));\n }\n else {\n throw new TypeError('FlatBuffers: Argument for createObjectOffsetList cannot contain null.');\n }\n }\n return ret;\n }\n createStructOffsetList(list, startFunc) {\n startFunc(this, list.length);\n this.createObjectOffsetList(list.slice().reverse());\n return this.endVector();\n }\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "import * as arrow from 'apache-arrow';\n\nexport interface SQLType {\n /// The sql type\n sqlType: string;\n /// Is nullable?\n nullable?: boolean;\n /// Decimal precision\n precision?: number;\n /// Decimal scaling\n scale?: number;\n /// Timezone\n timezone?: string;\n /// Byte width (FixedSizeBinary)\n byteWidth?: number;\n /// Key type\n keyType?: SQLType;\n /// Value type\n valueType?: SQLType;\n /// Fields\n fields?: SQLField[];\n}\n\nexport function arrowToSQLType(type: arrow.DataType): SQLType {\n switch (type.typeId) {\n case arrow.Type.Binary:\n return { sqlType: 'binary' };\n case arrow.Type.Bool:\n return { sqlType: 'bool' };\n case arrow.Type.Date:\n return { sqlType: 'date' };\n case arrow.Type.DateDay:\n return { sqlType: 'date32[d]' };\n case arrow.Type.DateMillisecond:\n return { sqlType: 'date64[ms]' };\n case arrow.Type.Decimal: {\n const dec = type as arrow.Decimal;\n return { sqlType: 'decimal', precision: dec.precision, scale: dec.scale };\n }\n case arrow.Type.Float:\n return { sqlType: 'float' };\n case arrow.Type.Float16:\n return { sqlType: 'float16' };\n case arrow.Type.Float32:\n return { sqlType: 'float32' };\n case arrow.Type.Float64:\n return { sqlType: 'float64' };\n case arrow.Type.Int:\n return { sqlType: 'int32' };\n case arrow.Type.Int16:\n return { sqlType: 'int16' };\n case arrow.Type.Int32:\n return { sqlType: 'int32' };\n case arrow.Type.Int64:\n return { sqlType: 'int64' };\n case arrow.Type.Uint16:\n return { sqlType: 'uint16' };\n case arrow.Type.Uint32:\n return { sqlType: 'uint32' };\n case arrow.Type.Uint64:\n return { sqlType: 'uint64' };\n case arrow.Type.Uint8:\n return { sqlType: 'uint8' };\n case arrow.Type.IntervalDayTime:\n return { sqlType: 'interval[dt]' };\n case arrow.Type.IntervalYearMonth:\n return { sqlType: 'interval[m]' };\n case arrow.Type.List: {\n const list = type as arrow.List;\n return {\n sqlType: 'list',\n valueType: arrowToSQLType(list.valueType),\n };\n }\n case arrow.Type.FixedSizeBinary: {\n const bin = type as arrow.FixedSizeBinary;\n return { sqlType: 'fixedsizebinary', byteWidth: bin.byteWidth };\n }\n case arrow.Type.Null:\n return { sqlType: 'null' };\n case arrow.Type.Utf8:\n return { sqlType: 'utf8' };\n case arrow.Type.Struct: {\n const struct_ = type as arrow.Struct;\n return {\n sqlType: 'struct',\n fields: struct_.children.map(c => arrowToSQLField(c.name, c.type)),\n };\n }\n case arrow.Type.Map: {\n const map_ = type as arrow.Map_;\n return {\n sqlType: 'map',\n keyType: arrowToSQLType(map_.keyType),\n valueType: arrowToSQLType(map_.valueType),\n };\n }\n case arrow.Type.Time:\n return { sqlType: 'time[s]' };\n case arrow.Type.TimeMicrosecond:\n return { sqlType: 'time[us]' };\n case arrow.Type.TimeMillisecond:\n return { sqlType: 'time[ms]' };\n case arrow.Type.TimeNanosecond:\n return { sqlType: 'time[ns]' };\n case arrow.Type.TimeSecond:\n return { sqlType: 'time[s]' };\n case arrow.Type.Timestamp: {\n const ts = type as arrow.Timestamp;\n return { sqlType: 'timestamp', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampSecond: {\n const ts = type as arrow.TimestampSecond;\n return { sqlType: 'timestamp[s]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMicrosecond: {\n const ts = type as arrow.TimestampMicrosecond;\n return { sqlType: 'timestamp[us]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampNanosecond: {\n const ts = type as arrow.TimestampNanosecond;\n return { sqlType: 'timestamp[ns]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMillisecond: {\n const ts = type as arrow.TimestampMillisecond;\n return { sqlType: 'timestamp[ms]', timezone: ts.timezone || undefined };\n }\n }\n throw new Error(`unsupported arrow type: ${type.toString()}`);\n}\n\nexport type SQLField = SQLType & { name: string };\n\nexport function arrowToSQLField(name: string, type: arrow.DataType): SQLField {\n const t = arrowToSQLType(type) as SQLField;\n t.name = name;\n return t;\n}\n", "import * as arrow from 'apache-arrow';\nimport { DuckDBBindings } from './bindings_interface';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\n\n/** A thin helper to bind the connection id and talk record batches */\nexport class DuckDBConnection {\n /** The bindings */\n protected _bindings: DuckDBBindings;\n /** The connection handle */\n protected _conn: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, conn: number) {\n this._bindings = bindings;\n this._conn = conn;\n }\n\n /** Close a connection */\n public close(): void {\n this._bindings.disconnect(this._conn);\n }\n\n /** Brave souls may use this function to consume the underlying connection id */\n public useUnsafe<R>(callback: (bindings: DuckDBBindings, conn: number) => R) {\n return callback(this._bindings, this._conn);\n }\n\n /** Run a query */\n public query<T extends { [key: string]: arrow.DataType } = any>(text: string): arrow.Table<T> {\n const buffer = this._bindings.runQuery(this._conn, text);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return new arrow.Table(reader);\n }\n\n /** Send a query */\n public async send<T extends { [key: string]: arrow.DataType } = any>(\n text: string,\n allowStreamResult: boolean = false,\n ): Promise<arrow.RecordBatchStreamReader<T>> {\n let header = this._bindings.startPendingQuery(this._conn, text, allowStreamResult);\n while (header == null) {\n header = await new Promise((resolve, reject) => {\n try {\n resolve(this._bindings.pollPendingQuery(this._conn));\n } catch (e: any) {\n console.log(e);\n // If the worker is not set, the worker has been terminated\n if (e.message.includes('worker is not set!')) {\n reject(new Error('Worker has been terminated'));\n } else {\n //Otherwise, reject with the error\n reject(e);\n }\n }\n });\n }\n const iter = new ResultStreamIterator(this._bindings, this._conn, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader;\n }\n\n /** Cancel a query that was sent earlier */\n public cancelSent(): boolean {\n return this._bindings.cancelPendingQuery(this._conn);\n }\n\n /** Get table names */\n public getTableNames(query: string): string[] {\n return this._bindings.getTableNames(this._conn, query);\n }\n\n /** Create a prepared statement */\n public prepare<T extends { [key: string]: arrow.DataType } = any>(text: string): PreparedStatement {\n const stmt = this._bindings.createPrepared(this._conn, text);\n return new PreparedStatement<T>(this._bindings, this._conn, stmt);\n }\n\n /** Create a scalar function */\n public createScalarFunction(name: string, returns: arrow.DataType, func: (...args: any[]) => void): void {\n this._bindings.createScalarFunction(this._conn, name, returns, func);\n }\n\n /** Insert an arrow table */\n public insertArrowTable(table: arrow.Table, options: ArrowInsertOptions): void {\n const buffer = arrow.tableToIPC(table, 'stream');\n this.insertArrowFromIPCStream(buffer, options);\n }\n /** Insert an arrow table from an ipc stream */\n public insertArrowFromIPCStream(buffer: Uint8Array, options: ArrowInsertOptions): void {\n this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);\n }\n\n /** Inesrt csv file from path */\n public insertCSVFromPath(path: string, options: CSVInsertOptions): void {\n this._bindings.insertCSVFromPath(this._conn, path, options);\n }\n /** Insert json file from path */\n public insertJSONFromPath(path: string, options: JSONInsertOptions): void {\n this._bindings.insertJSONFromPath(this._conn, path, options);\n }\n}\n\n/** A result stream iterator */\nexport class ResultStreamIterator implements Iterable<Uint8Array> {\n /** First chunk? */\n _first: boolean;\n /** Reached end of stream? */\n _depleted: boolean;\n\n constructor(\n protected bindings: DuckDBBindings,\n protected conn: number,\n protected header: Uint8Array,\n ) {\n this._first = true;\n this._depleted = false;\n }\n\n next(): IteratorResult<Uint8Array> {\n if (this._first) {\n this._first = false;\n return { done: false, value: this.header };\n }\n if (this._depleted) {\n return { done: true, value: null };\n }\n let bufferI8 = null;\n do {\n bufferI8 = this.bindings.fetchQueryResults(this.conn);\n } while (bufferI8 == null);\n this._depleted = bufferI8.length == 0;\n return {\n done: this._depleted,\n value: bufferI8,\n };\n }\n\n [Symbol.iterator]() {\n return this;\n }\n}\n\n/** A thin helper to bind the prepared statement id*/\nexport class PreparedStatement<T extends { [key: string]: arrow.DataType } = any> {\n /** The bindings */\n protected readonly bindings: DuckDBBindings;\n /** The connection id */\n protected readonly connectionId: number;\n /** The statement id */\n protected readonly statementId: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, connectionId: number, statementId: number) {\n this.bindings = bindings;\n this.connectionId = connectionId;\n this.statementId = statementId;\n }\n\n /** Close a prepared statement */\n public close() {\n this.bindings.closePrepared(this.connectionId, this.statementId);\n }\n\n /** Run a prepared statement */\n public query(...params: any[]): arrow.Table<T> {\n const buffer = this.bindings.runPrepared(this.connectionId, this.statementId, params);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return new arrow.Table(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a prepared statement */\n public send(...params: any[]): arrow.RecordBatchStreamReader<T> {\n const header = this.bindings.sendPrepared(this.connectionId, this.statementId, params);\n const iter = new ResultStreamIterator(this.bindings, this.connectionId, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader as arrow.RecordBatchStreamReader;\n }\n}\n", "export enum StatusCode {\n SUCCESS = 0,\n MAX_ARROW_ERROR = 255,\n DUCKDB_WASM_RETRY = 256,\n}\n\nexport function IsArrowBuffer(status: StatusCode): boolean {\n return status <= StatusCode.MAX_ARROW_ERROR;\n}\n\nexport function IsDuckDBWasmRetry(status: StatusCode): boolean {\n return status === StatusCode.DUCKDB_WASM_RETRY;\n}\n", "import { DuckDBRuntime } from './runtime';\nimport { DuckDBModule } from './duckdb_module';\n\nconst TEXT_ENCODER = new TextEncoder();\nconst TEXT_DECODER = new TextDecoder('utf-8');\n\nfunction storeError(mod: DuckDBModule, response: number, message: string) {\n const msgBuffer = TEXT_ENCODER.encode(message);\n const heapAddr = mod._malloc(msgBuffer.byteLength);\n const heapArray = mod.HEAPU8.subarray(heapAddr, heapAddr + msgBuffer.byteLength);\n heapArray.set(msgBuffer);\n mod.HEAPF64[(response >> 3) + 0] = 1;\n mod.HEAPF64[(response >> 3) + 1] = heapAddr;\n mod.HEAPF64[(response >> 3) + 2] = heapArray.byteLength;\n}\n\nfunction getTypeSize(ptype: string) {\n switch (ptype) {\n case 'UINT8':\n case 'INT8':\n return 1;\n case 'INT32':\n case 'FLOAT':\n return 4;\n case 'INT64':\n case 'UINT64':\n case 'DOUBLE':\n case 'VARCHAR':\n return 8;\n default:\n return 0;\n }\n}\n\nfunction ptrToArray(mod: DuckDBModule, ptr: number, ptype: string, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n * getTypeSize(ptype));\n switch (ptype) {\n case 'UINT8':\n return new Uint8Array(heap.buffer, heap.byteOffset, n);\n case 'INT8':\n return new Int8Array(heap.buffer, heap.byteOffset, n);\n case 'INT32':\n return new Int32Array(heap.buffer, heap.byteOffset, n);\n case 'FLOAT':\n return new Float32Array(heap.buffer, heap.byteOffset, n);\n case 'DOUBLE':\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n case 'VARCHAR':\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n default:\n return new Array<string | undefined | null>(0); // cough\n }\n}\n\nfunction ptrToUint8Array(mod: DuckDBModule, ptr: number, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n);\n return new Uint8Array(heap.buffer, heap.byteOffset, n);\n}\nfunction ptrToFloat64Array(mod: DuckDBModule, ptr: number, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n * 8);\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n}\n\ninterface ArgumentTypeDescription {\n name?: string;\n sqlType: string;\n physicalType: string;\n validityBuffer?: number;\n dataBuffer?: number;\n lengthBuffer?: number;\n children?: ArgumentTypeDescription[];\n}\n\ninterface ReturnTypeDescription {\n sqlType: string;\n physicalType: string;\n}\n\ninterface SchemaDescription {\n rows: number;\n args: ArgumentTypeDescription[];\n ret: ReturnTypeDescription;\n}\n\ntype ArgumentResolver = (row: number) => any | null;\n\n// this is called from webdb.cc/CallScalarUDFFunction, changes here need to be matched there\nexport function callScalarUDF(\n runtime: DuckDBRuntime,\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n) {\n try {\n const udf = runtime._udfFunctions.get(funcId);\n if (!udf) {\n storeError(mod, response, 'Unknown UDF with id: ' + funcId);\n return;\n }\n const rawDesc = TEXT_DECODER.decode(mod.HEAPU8.subarray(descPtr, descPtr + descSize));\n const desc = JSON.parse(rawDesc) as SchemaDescription;\n const ptrs = ptrToFloat64Array(mod, ptrsPtr, ptrsSize / 8);\n\n const buildResolver = (arg: ArgumentTypeDescription): ArgumentResolver => {\n let validity: Uint8Array | null = null;\n if (arg.validityBuffer !== undefined) {\n validity = ptrToUint8Array(mod, ptrs[arg.validityBuffer] as number, desc.rows);\n }\n switch (arg.physicalType) {\n case 'VARCHAR': {\n if (arg.dataBuffer === null || arg.dataBuffer === undefined) {\n throw new Error('malformed data view, expected data buffer for VARCHAR argument');\n }\n if (arg.lengthBuffer === null || arg.lengthBuffer === undefined) {\n throw new Error('malformed data view, expected data length buffer for VARCHAR argument');\n }\n const raw = ptrToArray(mod, ptrs[arg.dataBuffer] as number, arg.physicalType, desc.rows);\n const strings: (string | null)[] = [];\n const stringLengths = ptrToFloat64Array(mod, ptrs[arg.lengthBuffer] as number, desc.rows);\n for (let j = 0; j < desc.rows; ++j) {\n if (validity != null && !validity[j]) {\n strings.push(null);\n continue;\n }\n const subarray = mod.HEAPU8.subarray(\n raw[j] as number,\n (raw[j] as number) + (stringLengths[j] as number),\n );\n const str = TEXT_DECODER.decode(subarray);\n strings.push(str);\n }\n return (row: number) => strings[row];\n }\n case 'STRUCT': {\n const tmp: any = {};\n const children: ArgumentResolver[] = [];\n for (let j = 0; j < (arg.children?.length || 0); ++j) {\n const attr = arg.children![j];\n const child = buildResolver(attr);\n children.push((row: number) => {\n tmp[attr.name!] = child(row);\n });\n }\n if (validity != null) {\n return (row: number) => {\n if (!validity![row]) {\n return null;\n }\n for (const resolver of children) {\n resolver(row);\n }\n return tmp;\n };\n } else {\n return (row: number) => {\n for (const resolver of children) {\n resolver(row);\n }\n return tmp;\n };\n }\n }\n default: {\n if (arg.dataBuffer === undefined) {\n throw new Error(\n 'malformed data view, expected data buffer for argument of type: ' + arg.physicalType,\n );\n }\n const data = ptrToArray(mod, ptrs[arg.dataBuffer] as number, arg.physicalType, desc.rows);\n if (validity != null) {\n return (row: number) => (!validity![row] ? null : data[row]);\n } else {\n return (row: number) => data[row];\n }\n }\n }\n };\n\n // Translate argument data\n const argResolvers = [];\n for (let i = 0; i < desc.args.length; ++i) {\n argResolvers.push(buildResolver(desc.args[i]));\n }\n\n // Prepare result buffers\n // TODO: we probably do not want to recreate those every time\n const resultDataLen = desc.rows * getTypeSize(desc.ret.physicalType);\n const resultDataPtr = mod._malloc(resultDataLen);\n const resultData = ptrToArray(mod, resultDataPtr, desc.ret.physicalType, desc.rows);\n const resultValidityPtr = mod._malloc(desc.rows);\n const resultValidity = ptrToUint8Array(mod, resultValidityPtr, desc.rows);\n if (resultData.length == 0 || resultValidity.length == 0) {\n storeError(mod, response, \"Can't create physical arrays for result\");\n return;\n }\n let rawResultData = resultData;\n if (desc.ret.physicalType == 'VARCHAR') {\n rawResultData = new Array<string | undefined | null>(desc.rows);\n }\n\n // Call the function\n const args = [];\n for (let i = 0; i < desc.args.length; ++i) {\n args.push(null);\n }\n for (let i = 0; i < desc.rows; ++i) {\n for (let j = 0; j < desc.args.length; ++j) {\n args[j] = argResolvers[j](i);\n }\n const res = udf.func(...args);\n rawResultData[i] = res;\n resultValidity[i] = res === undefined || res === null ? 0 : 1;\n }\n\n // Encode return values\n let resultLengthsPtr = 0;\n switch (desc.ret.physicalType) {\n case 'VARCHAR': {\n // Allocate result buffers\n const resultDataUTF8 = new Array<Uint8Array>(0); // cough\n resultLengthsPtr = mod._malloc(desc.rows * getTypeSize('DOUBLE'));\n const resultLengths = ptrToFloat64Array(mod, resultLengthsPtr, desc.rows);\n\n // TODO: We need two loops to figure out the total length but maybe we can avoid the double allocation\n let totalLength = 0;\n for (let row = 0; row < desc.rows; ++row) {\n const utf8 = TEXT_ENCODER.encode((rawResultData as (string | null | undefined)[])[row] || '');\n resultDataUTF8.push(utf8);\n resultLengths[row] = utf8.length;\n totalLength += utf8.length;\n }\n\n // We malloc a buffer for the strings to live in for now\n const resultStringPtr = mod._malloc(totalLength);\n const resultStringBuf = mod.HEAPU8.subarray(resultStringPtr, resultStringPtr + totalLength);\n\n // Now copy all the strings to the new buffer back to back\n let writerOffset = 0;\n for (let row = 0; row < desc.rows; ++row) {\n resultData[row] = writerOffset;\n const resultUTF8 = resultDataUTF8[row];\n const writer = resultStringBuf.subarray(writerOffset, writerOffset + resultUTF8.length);\n writer.set(resultUTF8);\n writerOffset += resultUTF8.length;\n }\n }\n }\n\n // Need to store three pointers, data, validity and length\n const retLen = 3 * 8;\n const retPtr = mod._malloc(retLen);\n const retBuffer = ptrToFloat64Array(mod, retPtr, 3);\n retBuffer[0] = resultDataPtr;\n retBuffer[1] = resultValidityPtr;\n retBuffer[2] = resultLengthsPtr;\n\n // Pack response\n mod.HEAPF64[(response >> 3) + 0] = 0;\n mod.HEAPF64[(response >> 3) + 1] = retPtr;\n mod.HEAPF64[(response >> 3) + 2] = 0;\n } catch (e: any) {\n storeError(mod, response, e.toString());\n }\n}\n", "import { DuckDBModule } from './duckdb_module';\nimport { UDFFunction } from './udf_function';\nimport * as udf_rt from './udf_runtime';\n\n/** Wrapper for TextDecoder to support shared array buffers */\nfunction TextDecoderWrapper(): (input?: BufferSource) => string {\n const decoder = new TextDecoder();\n return (data: any) => {\n if (typeof SharedArrayBuffer !== 'undefined' && data.buffer instanceof SharedArrayBuffer) {\n data = new Uint8Array(data);\n }\n return decoder.decode(data);\n };\n}\n/** Helper to decode text */\nexport const decodeText = TextDecoderWrapper();\n\n/** Copy a buffer */\nexport function failWith(mod: DuckDBModule, msg: string): void {\n console.error(`FAIL WITH: ${msg}`);\n mod.ccall('duckdb_web_fail_with', null, ['string'], [msg]);\n}\n\n/** Copy a buffer */\nexport function copyBuffer(mod: DuckDBModule, begin: number, length: number): Uint8Array {\n const buffer = new Uint8Array(mod.HEAPU8.buffer, begin >>> 0, length);\n const copy = new Uint8Array(new ArrayBuffer(buffer.byteLength));\n copy.set(buffer);\n return copy;\n}\n\n/** Decode a string */\nexport function readString(mod: DuckDBModule, begin: number, length: number): string {\n return decodeText(new Uint8Array(mod.HEAPU8.buffer, begin >>> 0, length));\n}\n\n/** The data protocol */\nexport enum DuckDBDataProtocol {\n BUFFER = 0,\n NODE_FS = 1,\n BROWSER_FILEREADER = 2,\n BROWSER_FSACCESS = 3,\n HTTP = 4,\n S3 = 5,\n}\n\n/** File flags for opening files*/\nexport enum FileFlags {\n //! Open file with read access\n FILE_FLAGS_READ = 1 << 0,\n //! Open file with write access\n FILE_FLAGS_WRITE = 1 << 1,\n //! Use direct IO when reading/writing to the file\n FILE_FLAGS_DIRECT_IO = 1 << 2,\n //! Create file if not exists, can only be used together with WRITE\n FILE_FLAGS_FILE_CREATE = 1 << 3,\n //! Always create a new file. If a file exists, the file is truncated. Cannot be used together with CREATE.\n FILE_FLAGS_FILE_CREATE_NEW = 1 << 4,\n //! Open file in append mode\n FILE_FLAGS_APPEND = 1 << 5,\n FILE_FLAGS_PRIVATE = 1 << 6,\n FILE_FLAGS_NULL_IF_NOT_EXISTS = 1 << 7,\n FILE_FLAGS_PARALLEL_ACCESS = 1 << 8,\n FILE_FLAGS_EXCLUSIVE_CREATE = 1 << 9,\n FILE_FLAGS_NULL_IF_EXISTS = 1 << 10\n}\n\n/** Configuration for the AWS S3 Filesystem */\nexport interface S3Config {\n region?: string;\n endpoint?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n sessionToken?: string;\n}\n\n/** An info for a file registered with DuckDB */\nexport interface DuckDBFileInfo {\n cacheEpoch: number;\n fileId: number;\n fileName: string;\n dataProtocol: DuckDBDataProtocol;\n dataUrl: string | null;\n reliableHeadRequests?: boolean;\n allowFullHttpReads?: boolean;\n forceFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Global info for all files registered with DuckDB */\nexport interface DuckDBGlobalFileInfo {\n cacheEpoch: number;\n reliableHeadRequests?: boolean;\n allowFullHttpReads?: boolean;\n forceFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\nexport interface PreparedDBFileHandle {\n path: string;\n handle: any;\n fromCached: boolean;\n}\n\n/** Call a function with packed response buffer */\nexport function callSRet(\n mod: DuckDBModule,\n funcName: string,\n argTypes: Array<Emscripten.JSType>,\n args: Array<any>,\n): [number, number, number] {\n const stackPointer = mod.stackSave();\n\n // Allocate the packed response buffer\n const response = mod.stackAlloc(3 * 8);\n argTypes.unshift('number');\n args.unshift(response);\n\n // Do the call\n mod.ccall(funcName, null, argTypes, args);\n\n // Read the response\n const status = mod.HEAPF64[(response >> 3) + 0];\n const data = mod.HEAPF64[(response >> 3) + 1];\n const dataSize = mod.HEAPF64[(response >> 3) + 2];\n\n // Restore the stack\n mod.stackRestore(stackPointer);\n return [status, data, dataSize];\n}\n\n/** Drop response buffers */\nexport function dropResponseBuffers(mod: DuckDBModule): void {\n mod.ccall('duckdb_web_clear_response', null, [], []);\n}\n\n/** The duckdb runtime */\nexport interface DuckDBRuntime {\n _files?: Map<string, any>;\n _udfFunctions: Map<number, UDFFunction>;\n\n // Test a platform feature\n testPlatformFeature(mod: DuckDBModule, feature: number): boolean;\n\n // File APIs with dedicated file identifier\n getDefaultDataProtocol(mod: DuckDBModule): number;\n openFile(mod: DuckDBModule, fileId: number, flags: FileFlags): void;\n syncFile(mod: DuckDBModule, fileId: number): void;\n closeFile(mod: DuckDBModule, fileId: number): void;\n dropFile(mod: DuckDBModule, fileNamePtr: number, fileNameLen: number): void;\n getLastFileModificationTime(mod: DuckDBModule, fileId: number): number;\n truncateFile(mod: DuckDBModule, fileId: number, newSize: number): void;\n readFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n writeFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n\n // File APIs with path parameter\n removeDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n checkDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n createDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n listDirectoryEntries(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n glob(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n moveFile(mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number): void;\n checkFile(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n removeFile(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n\n // Prepare a file handle that could only be acquired aschronously\n prepareFileHandle?: (path: string, protocol: DuckDBDataProtocol) => Promise<PreparedDBFileHandle[]>;\n prepareFileHandles?: (path: string[], protocol: DuckDBDataProtocol) => Promise<PreparedDBFileHandle[]>;\n prepareDBFileHandle?: (path: string, protocol: DuckDBDataProtocol) => Promise<PreparedDBFileHandle[]>;\n\n // Internal API - experimental\n progressUpdate(final: number, percentage: number, iteration: number): void;\n\n // Call a scalar UDF function\n callScalarUDF(\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void;\n}\n\nexport const DEFAULT_RUNTIME: DuckDBRuntime = {\n _udfFunctions: new Map(),\n\n testPlatformFeature: (_mod: DuckDBModule, _feature: number): boolean => false,\n getDefaultDataProtocol: (_mod: DuckDBModule): number => DuckDBDataProtocol.BUFFER,\n openFile: (_mod: DuckDBModule, _fileId: number, flags: FileFlags): void => {},\n syncFile: (_mod: DuckDBModule, _fileId: number): void => {},\n closeFile: (_mod: DuckDBModule, _fileId: number): void => {},\n dropFile: (_mod: DuckDBModule, _fileNamePtr: number, _fileNameLen: number): void => {},\n getLastFileModificationTime: (_mod: DuckDBModule, _fileId: number): number => {\n return 0;\n },\n progressUpdate: (_final: number, _percentage: number, _iteration: number): void => {\n return;\n },\n truncateFile: (_mod: DuckDBModule, _fileId: number, _newSize: number): void => {},\n readFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n writeFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n\n removeDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n checkDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n createDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n listDirectoryEntries: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n glob: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n moveFile: (_mod: DuckDBModule, _fromPtr: number, _fromLen: number, _toPtr: number, _toLen: number): void => {},\n checkFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf_rt.callScalarUDF(DEFAULT_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n", "export interface FileBlockStatistics {\n /** The file reads cold */\n file_reads_cold: number;\n /** The file reads aheads */\n file_reads_ahead: number;\n /** The file reads cached */\n file_reads_cached: number;\n /** The file writes */\n file_writes: number;\n /** The page accesses */\n page_accesses: number;\n /** The page loads */\n page_loads: number;\n}\n\n/** The file block statistics */\nexport class FileStatistics {\n /** The cold file reads */\n public totalFileReadsCold: number;\n /** The file readaheads */\n public totalFileReadsAhead: number;\n /** The cached file reads */\n public totalFileReadsCached: number;\n /** The file writes */\n public totalFileWrites: number;\n /** The page accesses */\n public totalPageAccesses: number;\n /** The page loads */\n public totalPageLoads: number;\n /** The blocks */\n public blockSize: number;\n /** The blocks */\n public blockStats: Uint8Array;\n\n constructor(u8array: Uint8Array) {\n const f64 = new Float64Array(u8array.buffer, u8array.byteOffset, u8array.byteLength / 8);\n const blocks = new Uint8Array(new ArrayBuffer(u8array.byteLength));\n blocks.set(u8array.subarray(7 * 8));\n this.totalFileReadsCold = f64[0];\n this.totalFileReadsAhead = f64[1];\n this.totalFileReadsCached = f64[2];\n this.totalFileWrites = f64[3];\n this.totalPageAccesses = f64[4];\n this.totalPageLoads = f64[5];\n this.blockSize = f64[6];\n this.blockStats = blocks;\n }\n\n /** The block stats */\n public getBlockStats(index: number, out?: FileBlockStatistics): FileBlockStatistics {\n out = out || {\n file_reads_cold: 0,\n file_reads_ahead: 0,\n file_reads_cached: 0,\n file_writes: 0,\n page_accesses: 0,\n page_loads: 0,\n };\n out.file_writes = this.blockStats[index * 3 + 0] & 0b1111;\n out.file_reads_cold = this.blockStats[index * 3 + 0] >> 4;\n out.file_reads_ahead = this.blockStats[index * 3 + 1] & 0b1111;\n out.file_reads_cached = this.blockStats[index * 3 + 1] >> 4;\n out.page_accesses = this.blockStats[index * 3 + 1] & 0b1111;\n out.page_loads = this.blockStats[index * 3 + 1] >> 4;\n return out;\n }\n}\n", "import { DuckDBModule, PThread } from './duckdb_module';\nimport { DuckDBConfig } from './config';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from './progress';\nimport { DuckDBBindings } from './bindings_interface';\nimport { DuckDBConnection } from './connection';\nimport { StatusCode, IsArrowBuffer, IsDuckDBWasmRetry } from '../status';\nimport { dropResponseBuffers, DuckDBRuntime, readString, callSRet, copyBuffer, DuckDBDataProtocol } from './runtime';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\nimport { ScriptTokens } from './tokens';\nimport { FileStatistics } from './file_stats';\nimport { arrowToSQLField, arrowToSQLType } from '../json_typedef';\nimport { WebFile } from './web_file';\nimport { UDFFunction, UDFFunctionDeclaration } from './udf_function';\nimport * as arrow from 'apache-arrow';\n\nconst TEXT_ENCODER = new TextEncoder();\n\ndeclare global {\n // eslint-disable-next-line no-var\n var DUCKDB_RUNTIME: any;\n}\n\n/** A DuckDB Feature */\nexport enum DuckDBFeature {\n WASM_EXCEPTIONS = 1 << 0,\n WASM_THREADS = 1 << 1,\n WASM_SIMD = 1 << 2,\n WASM_BULK_MEMORY = 1 << 3,\n EMIT_BIGINT = 1 << 4,\n WASMFS = 1 << 5,\n}\n\n/** The proxy for either the browser- order node-based DuckDB API */\nexport abstract class DuckDBBindingsBase implements DuckDBBindings {\n /** The logger */\n protected readonly _logger: Logger;\n /** Backend-dependent native-glue code for DuckDB */\n protected readonly _runtime: DuckDBRuntime;\n /** The instance */\n protected _instance: DuckDBModule | null = null;\n /** The loading promise */\n protected _initPromise: Promise<void> | null = null;\n /** The resolver for the open promise (called by onRuntimeInitialized) */\n protected _initPromiseResolver: () => void = () => {};\n /** The next UDF id */\n protected _nextUDFId: number;\n\n constructor(logger: Logger, runtime: DuckDBRuntime) {\n this._logger = logger;\n this._runtime = runtime;\n this._nextUDFId = 1;\n }\n\n /** Get the logger */\n public get logger(): Logger {\n return this._logger;\n }\n /** Get the instance */\n public get mod(): DuckDBModule {\n return this._instance!;\n }\n /** Get the instance */\n public get pthread(): PThread | null {\n return this.mod.PThread || null;\n }\n\n /** Instantiate the module */\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n /** Instantiate the module */\n protected onInstantiationProgress: ((p: InstantiationProgress) => void)[] = [];\n /** Instantiate the database */\n public async instantiate(onProgress: (progress: InstantiationProgress) => void = _ => {}): Promise<this> {\n // Already opened?\n if (this._instance != null) {\n return this;\n }\n // Open in progress?\n if (this._initPromise != null) {\n this.onInstantiationProgress.push(onProgress);\n await this._initPromise;\n }\n // Create a promise that we can await\n this._initPromise = new Promise(resolve => {\n this._initPromiseResolver = resolve;\n });\n // Register progress handler\n this.onInstantiationProgress = [onProgress];\n // Initialize duckdb\n this._instance = await this.instantiateImpl({\n print: console.log.bind(console),\n printErr: console.log.bind(console),\n onRuntimeInitialized: this._initPromiseResolver,\n });\n // Wait for onRuntimeInitialized\n await this._initPromise;\n this._initPromise = null;\n // Remove own progress callback\n this.onInstantiationProgress = this.onInstantiationProgress.filter(x => x != onProgress);\n (globalThis as any).DUCKDB_BINDINGS = this;\n return this;\n }\n /** Open a database with a config */\n public open(config: DuckDBConfig): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_open', ['string'], [JSON.stringify(config)]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Reset the database */\n public reset(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_reset', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Get the version */\n public getVersion(): string {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_version', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const version = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return version;\n }\n /** Get the feature flags */\n public getFeatureFlags(): number {\n return this.mod.ccall('duckdb_web_get_feature_flags', 'number', [], []);\n }\n\n /** Tokenize a script */\n public tokenize(text: string): ScriptTokens {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_tokenize_buffer',\n ['number', 'number'],\n [bufferPtr, BUF.length],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as ScriptTokens;\n }\n\n /** Connect to database */\n public connect(): DuckDBConnection {\n const conn = this.mod.ccall('duckdb_web_connect', 'number', [], []);\n return new DuckDBConnection(this, conn);\n }\n /** Disconnect from database */\n public disconnect(conn: number): void {\n this.mod.ccall('duckdb_web_disconnect', null, ['number'], [conn]);\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'dropUDFFunctions',\n connectionId: conn,\n });\n }\n }\n }\n\n /** Send a query and return the full result */\n public runQuery(conn: number, text: string): Uint8Array {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_query_run_buffer',\n ['number', 'number', 'number'],\n [conn, bufferPtr, BUF.length],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /**\n * Start a pending query asynchronously.\n * This method returns either the arrow ipc schema or null.\n * On null, the query has to be executed using `pollPendingQuery` until that returns != null.\n * Results can then be fetched using `fetchQueryResults`\n */\n public startPendingQuery(conn: number, text: string, allowStreamResult: boolean = false): Uint8Array | null {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_pending_query_start_buffer',\n ['number', 'number', 'number', 'boolean'],\n [conn, bufferPtr, BUF.length, allowStreamResult],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n if (d == 0) {\n return null;\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Poll a pending query */\n public pollPendingQuery(conn: number): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_pending_query_poll', ['number'], [conn]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n if (d == 0) {\n return null;\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Cancel a pending query */\n public cancelPendingQuery(conn: number): boolean {\n return this.mod.ccall('duckdb_web_pending_query_cancel', 'boolean', ['number'], [conn]);\n }\n /** Fetch query results */\n public fetchQueryResults(conn: number): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_fetch_results', ['number'], [conn]);\n if (IsDuckDBWasmRetry(s)) {\n dropResponseBuffers(this.mod);\n return null; // Retry\n }\n\n if (!IsArrowBuffer(s)) {\n throw new Error(\n 'Unexpected StatusCode from duckdb_web_query_fetch_results (' +\n s +\n ') and with self reported error as' +\n readString(this.mod, d, n),\n );\n }\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Get table names */\n public getTableNames(conn: number, text: string): string[] {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_get_tablenames_buffer',\n ['number', 'number', 'number'],\n [conn, bufferPtr, BUF.length],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as string[];\n }\n\n /** Create a scalar function */\n public createScalarFunction(\n conn: number,\n name: string,\n returns: arrow.DataType,\n func: (...args: any[]) => void,\n ): void {\n const decl: UDFFunctionDeclaration = {\n functionId: this._nextUDFId,\n name: name,\n returnType: arrowToSQLType(returns),\n };\n const def: UDFFunction = {\n functionId: decl.functionId,\n connectionId: conn,\n name: name,\n returnType: returns,\n func,\n };\n this._nextUDFId += 1;\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_udf_scalar_create',\n ['number', 'string'],\n [conn, JSON.stringify(decl)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._udfFunctions = (globalThis.DUCKDB_RUNTIME._udfFunctions || new Map()).set(\n def.functionId,\n def,\n );\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'registerUDFFunction',\n udf: def,\n });\n }\n }\n }\n\n /** Prepare a statement and return its identifier */\n public createPrepared(conn: number, text: string): number {\n const BUF = TEXT_ENCODER.encode(text);\n const bufferPtr = this.mod._malloc(BUF.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, BUF.length);\n bufferOfs.set(BUF);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_create_buffer',\n ['number', 'number', 'number'],\n [conn, bufferPtr, BUF.length],\n );\n this.mod._free(bufferPtr);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n return d;\n }\n\n /** Close a prepared statement */\n public closePrepared(conn: number, statement: number): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_close', ['number', 'number'], [conn, statement]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Execute a prepared statement and return the full result */\n public runPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_run',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Execute a prepared statement and stream the result */\n public sendPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_send',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Insert record batches from an arrow ipc stream */\n public insertArrowFromIPCStream(conn: number, buffer: Uint8Array, options?: ArrowInsertOptions): void {\n if (buffer.length == 0) return;\n // Store buffer\n const bufferPtr = this.mod._malloc(buffer.length) >>> 0;\n const bufferOfs = new Uint8Array(this.mod.HEAPU8.buffer, bufferPtr, buffer.length);\n bufferOfs.set(buffer);\n const optJSON = options ? JSON.stringify(options) : '';\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_arrow_from_ipc_stream',\n ['number', 'number', 'number', 'string'],\n [conn, bufferPtr, buffer.length, optJSON],\n );\n\n this.mod._free(bufferPtr);\n\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n\n /** Insert csv from path */\n public insertCSVFromPath(conn: number, path: string, options: CSVInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(arrowToSQLField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_csv_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Insert json from path */\n public insertJSONFromPath(conn: number, path: string, options: JSONInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(arrowToSQLField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_json_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Glob file infos */\n public globFiles(path: string): WebFile[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_glob_file_infos', ['string'], [path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const infoStr = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n const info = JSON.parse(infoStr) as WebFile[];\n if (info == null) {\n return [];\n }\n return info;\n }\n /** Register a file object URL */\n public registerFileURL(name: string, url: string, proto: DuckDBDataProtocol, directIO = false): void {\n if (url === undefined) {\n url = name;\n }\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string'],\n [name, url, proto, directIO],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register file text */\n public registerFileText(name: string, text: string): void {\n const buffer = TEXT_ENCODER.encode(text);\n this.registerFileBuffer(name, buffer);\n }\n /** Register a file buffer */\n public registerFileBuffer(name: string, buffer: Uint8Array): void {\n const ptr = this.mod._malloc(buffer.length) >>> 0;\n const dst = new Uint8Array(this.mod.HEAPU8.buffer, ptr, buffer.length);\n dst.set(buffer);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_buffer',\n ['string', 'number', 'number'],\n [name, ptr, buffer.length],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n public async prepareFileHandle(fileName: string, protocol: DuckDBDataProtocol): Promise<void> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS && this._runtime.prepareFileHandles) {\n const list = await this._runtime.prepareFileHandles([fileName], DuckDBDataProtocol.BROWSER_FSACCESS);\n for (const item of list) {\n const { handle, path: filePath, fromCached } = item;\n if (!fromCached && handle.getSize()) {\n await this.registerFileHandleAsync(filePath, handle, DuckDBDataProtocol.BROWSER_FSACCESS, true);\n }\n }\n return;\n }\n throw new Error(`prepareFileHandle: unsupported protocol ${protocol}`);\n }\n /** Prepare a file handle that could only be acquired aschronously */\n public async prepareDBFileHandle(path: string, protocol: DuckDBDataProtocol): Promise<void> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS && this._runtime.prepareDBFileHandle) {\n const list = await this._runtime.prepareDBFileHandle(path, DuckDBDataProtocol.BROWSER_FSACCESS);\n for (const item of list) {\n const { handle, path: filePath, fromCached } = item;\n if (!fromCached && handle.getSize()) {\n await this.registerFileHandleAsync(filePath, handle, DuckDBDataProtocol.BROWSER_FSACCESS, true);\n }\n }\n return;\n }\n throw new Error(`prepareDBFileHandle: unsupported protocol ${protocol}`);\n }\n /** Prepare a file object URL */\n public async prepareFileHandleAsync<HandleType>(\n name: string,\n handle: HandleType,\n protocol: DuckDBDataProtocol,\n directIO: boolean,\n ): Promise<HandleType> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS) {\n if (handle instanceof FileSystemSyncAccessHandle) {\n // already a handle is sync handle.\n } else if (handle instanceof FileSystemFileHandle) {\n // handle is an async handle, should convert to sync handle\n const fileHandle: FileSystemFileHandle = handle as any;\n try {\n handle = (await fileHandle.createSyncAccessHandle()) as any;\n } catch (e: any) {\n throw new Error(e.message + ':' + name);\n }\n } else if (name != null) {\n // should get sync handle from the file name.\n try {\n const opfsRoot = await navigator.storage.getDirectory();\n const fileHandle = await opfsRoot.getFileHandle(name);\n handle = (await fileHandle.createSyncAccessHandle()) as any;\n } catch (e: any) {\n throw new Error(e.message + ':' + name);\n }\n }\n }\n return handle;\n }\n /** Register a file object URL async */\n public async registerFileHandleAsync<HandleType>(\n name: string,\n handle: HandleType,\n protocol: DuckDBDataProtocol,\n directIO: boolean,\n ): Promise<void> {\n const handle_inner = await this.prepareFileHandleAsync(name, handle, protocol, directIO);\n this.registerFileHandle(name, handle_inner, protocol, directIO);\n }\n /** Register a file object URL */\n public registerFileHandle<HandleType>(\n name: string,\n handle: HandleType,\n protocol: DuckDBDataProtocol,\n directIO: boolean,\n ): void {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string', 'number', 'boolean'],\n [name, name, protocol, directIO],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._files = (globalThis.DUCKDB_RUNTIME._files || new Map()).set(name, handle);\n if (globalThis.DUCKDB_RUNTIME._preparedHandles?.[name]) {\n delete globalThis.DUCKDB_RUNTIME._preparedHandles[name];\n }\n if (this.pthread) {\n for (const worker of this.pthread.runningWorkers) {\n worker.postMessage({\n cmd: 'registerFileHandle',\n fileName: name,\n fileHandle: handle,\n });\n }\n for (const worker of this.pthread.unusedWorkers) {\n worker.postMessage({\n cmd: 'dropFileHandle',\n fileName: name,\n });\n }\n }\n }\n /** Drop file */\n public dropFile(name: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_file', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Drop files */\n public dropFiles(names?:string[]): void {\n const pointers:number[] = [];\n let pointerOfArray:number = -1;\n try {\n for (const str of (names ?? [])) {\n if (str !== null && str !== undefined && str.length > 0) {\n const size = this.mod.lengthBytesUTF8(str) + 1;\n const ret = this.mod._malloc(size);\n if (!ret) {\n throw new Error(`Failed to allocate memory for string: ${str}`);\n }\n this.mod.stringToUTF8(str, ret, size);\n pointers.push(ret);\n }\n }\n pointerOfArray = this.mod._malloc(pointers.length * 4);\n if (!pointerOfArray) {\n throw new Error(`Failed to allocate memory for pointers array`);\n }\n for (let i = 0; i < pointers.length; i++) {\n this.mod.HEAP32[(pointerOfArray >> 2) + i] = pointers[i];\n }\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_drop_files',\n [\n 'number',\n 'number'\n ],\n [\n pointerOfArray,\n pointers.length\n ]\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n } finally {\n for (const pointer of pointers) {\n this.mod._free(pointer);\n }\n if( pointerOfArray > 0 ){\n this.mod._free(pointerOfArray);\n }\n }\n }\n /** Flush all files */\n public flushFiles(): void {\n this.mod.ccall('duckdb_web_flush_files', null, [], []);\n }\n /** Write a file to a path */\n public copyFileToPath(name: string, path: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_path', ['string', 'string'], [name, path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Write a file to a buffer */\n public copyFileToBuffer(name: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_buffer', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const buffer = new Uint8Array(this.mod.HEAPU8.buffer, d >>> 0, n);\n const copy = new Uint8Array(buffer.length);\n copy.set(buffer);\n dropResponseBuffers(this.mod);\n return copy;\n }\n /** Enable tracking of file statistics */\n public async registerOPFSFileName(file: string): Promise<void> {\n if (file.startsWith('opfs://')) {\n return this.prepareFileHandle(file, DuckDBDataProtocol.BROWSER_FSACCESS);\n } else {\n throw new Error('Not an OPFS file name: ' + file);\n }\n }\n public collectFileStatistics(file: string, enable: boolean): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_collect_file_stats', ['string', 'boolean'], [file, enable]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Export file statistics */\n public exportFileStatistics(file: string): FileStatistics {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_export_file_stats', ['string'], [file]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n return new FileStatistics(new Uint8Array(this.mod.HEAPU8.buffer, d >>> 0, n));\n }\n}\n", "import { DuckDBBindings, DuckDBDataProtocol, DuckDBFeature } from '../bindings';\nimport { WorkerResponseVariant, WorkerRequestVariant, WorkerRequestType, WorkerResponseType } from './worker_request';\nimport { Logger, LogEntryVariant } from '../log';\nimport { InstantiationProgress } from '../bindings/progress';\n\nexport abstract class AsyncDuckDBDispatcher implements Logger {\n /** The bindings */\n protected _bindings: DuckDBBindings | null = null;\n /** The next message id */\n protected _nextMessageId = 0;\n\n /** Instantiate the wasm module */\n protected abstract instantiate(\n mainModule: string,\n pthreadWorker: string | null,\n progress: (p: InstantiationProgress) => void,\n ): Promise<DuckDBBindings>;\n /** Post a response to the main thread */\n protected abstract postMessage(response: WorkerResponseVariant, transfer: ArrayBuffer[]): void;\n\n /** Send log entry to the main thread */\n public log(entry: LogEntryVariant): void {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: 0,\n type: WorkerResponseType.LOG,\n data: entry,\n },\n [],\n );\n }\n\n /** Send plain OK without further data */\n protected sendOK(request: WorkerRequestVariant): void {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.OK,\n data: null,\n },\n [],\n );\n }\n\n /** Fail with an error */\n protected failWith(request: WorkerRequestVariant, e: Error): void {\n // Workaround for Firefox not being able to perform structured-clone on Native Errors\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n const obj: any = {\n name: e.name,\n message: e.message,\n stack: e.stack || undefined,\n };\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.ERROR,\n data: obj,\n },\n [],\n );\n return;\n }\n\n /** Process a request from the main thread */\n public async onMessage(request: WorkerRequestVariant): Promise<void> {\n // First process those requests that don't need bindings\n switch (request.type) {\n case WorkerRequestType.PING:\n this.sendOK(request);\n return;\n case WorkerRequestType.INSTANTIATE:\n if (this._bindings != null) {\n this.failWith(request, new Error('duckdb already initialized'));\n }\n try {\n this._bindings = await this.instantiate(request.data[0], request.data[1], p => {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.INSTANTIATE_PROGRESS,\n data: p,\n },\n [],\n );\n });\n this.sendOK(request);\n } catch (e: any) {\n console.log(e);\n this._bindings = null;\n this.failWith(request, e);\n }\n return;\n default:\n break;\n }\n\n // Bindings not initialized?\n if (!this._bindings) {\n return this.failWith(request, new Error('duckdb is not initialized'));\n }\n\n // Catch every exception and forward it as error message to the main thread\n try {\n switch (request.type) {\n case WorkerRequestType.GET_VERSION:\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.VERSION_STRING,\n data: this._bindings.getVersion(),\n },\n [],\n );\n break;\n case WorkerRequestType.GET_FEATURE_FLAGS:\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FEATURE_FLAGS,\n data: this._bindings.getFeatureFlags(),\n },\n [],\n );\n break;\n case WorkerRequestType.RESET:\n this._bindings.reset();\n this.sendOK(request);\n break;\n\n case WorkerRequestType.OPEN: {\n const path = request.data.path;\n const hasWasmFS = !!(this._bindings!.getFeatureFlags() & DuckDBFeature.WASMFS);\n if (path?.startsWith('opfs://') && !hasWasmFS) {\n await this._bindings.prepareDBFileHandle(path, DuckDBDataProtocol.BROWSER_FSACCESS);\n request.data.useDirectIO = true;\n }\n this._bindings.open(request.data);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.DROP_FILE:\n this._bindings.dropFile(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.DROP_FILES:\n this._bindings.dropFiles(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.FLUSH_FILES:\n this._bindings.flushFiles();\n this.sendOK(request);\n break;\n case WorkerRequestType.CONNECT: {\n const conn = this._bindings.connect();\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.CONNECTION_INFO,\n data: conn.useUnsafe((_, c) => c),\n },\n [],\n );\n break;\n }\n case WorkerRequestType.DISCONNECT:\n this._bindings.disconnect(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.CREATE_PREPARED: {\n const result = this._bindings.createPrepared(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.PREPARED_STATEMENT_ID,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.CLOSE_PREPARED: {\n this._bindings.closePrepared(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.RUN_PREPARED: {\n const result = this._bindings.runPrepared(request.data[0], request.data[1], request.data[2]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.RUN_QUERY: {\n const result = this._bindings.runQuery(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.SEND_PREPARED: {\n const result = this._bindings.sendPrepared(request.data[0], request.data[1], request.data[2]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.START_PENDING_QUERY: {\n const result = this._bindings.startPendingQuery(request.data[0], request.data[1], request.data[2]);\n const transfer = [];\n if (result) {\n transfer.push(result.buffer);\n }\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.POLL_PENDING_QUERY: {\n const result = this._bindings.pollPendingQuery(request.data);\n const transfer = [];\n if (result) {\n transfer.push(result.buffer);\n }\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.CANCEL_PENDING_QUERY: {\n const result = this._bindings.cancelPendingQuery(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.SUCCESS,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.FETCH_QUERY_RESULTS: {\n const result = this._bindings.fetchQueryResults(request.data);\n const transfer = result ? [result.buffer] : [];\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_CHUNK,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.GET_TABLE_NAMES: {\n const result = this._bindings.getTableNames(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.TABLE_NAMES,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.GLOB_FILE_INFOS: {\n const infos = this._bindings.globFiles(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_INFOS,\n data: infos,\n },\n [],\n );\n break;\n }\n\n case WorkerRequestType.REGISTER_FILE_URL:\n this._bindings.registerFileURL(request.data[0], request.data[1], request.data[2], request.data[3]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_FILE_BUFFER:\n this._bindings.registerFileBuffer(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_FILE_HANDLE:\n await this._bindings.registerFileHandleAsync(\n request.data[0],\n request.data[1],\n request.data[2],\n request.data[3],\n );\n this.sendOK(request);\n break;\n\n case WorkerRequestType.COPY_FILE_TO_PATH:\n this._bindings.copyFileToPath(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.COPY_FILE_TO_BUFFER: {\n const buffer = this._bindings.copyFileToBuffer(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_BUFFER,\n data: buffer,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.COLLECT_FILE_STATISTICS:\n this._bindings.collectFileStatistics(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_OPFS_FILE_NAME: {\n const hasWasmFS = !!(this._bindings!.getFeatureFlags() & DuckDBFeature.WASMFS);\n if (!hasWasmFS) {\n await this._bindings.registerOPFSFileName(request.data[0]);\n }\n this.sendOK(request);\n break;\n }\n\n case WorkerRequestType.EXPORT_FILE_STATISTICS: {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_STATISTICS,\n data: this._bindings.exportFileStatistics(request.data),\n },\n [],\n );\n break;\n }\n case WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM: {\n this._bindings.insertArrowFromIPCStream(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.INSERT_CSV_FROM_PATH: {\n this._bindings.insertCSVFromPath(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.INSERT_JSON_FROM_PATH: {\n this._bindings.insertJSONFromPath(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.TOKENIZE: {\n const result = this._bindings.tokenize(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.SCRIPT_TOKENS,\n data: result,\n },\n [],\n );\n break;\n }\n }\n } catch (e: any) {\n console.log(e);\n return this.failWith(request, e);\n }\n }\n}\n", "import DuckDBWasm from './duckdb-coi.js';\nimport { DuckDBBrowserBindings } from './bindings_browser_base';\nimport { DuckDBModule } from './duckdb_module';\nimport { DuckDBRuntime } from './runtime';\nimport { Logger } from '../log';\n\n/** DuckDB bindings for the browser */\nexport class DuckDB extends DuckDBBrowserBindings {\n /** Constructor */\n public constructor(\n logger: Logger,\n runtime: DuckDBRuntime,\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n ) {\n super(logger, runtime, mainModuleURL, pthreadWorkerURL);\n }\n\n /** Instantiate the bindings */\n protected instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule> {\n const opts: any = {\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n };\n // Emscripten 4.0.3 uses mainScriptUrlOrBlob (not locateFile) for pthread workers\n if (this.pthreadWorkerURL) {\n opts.mainScriptUrlOrBlob = this.pthreadWorkerURL;\n }\n return DuckDBWasm(opts);\n }\n}\n\nexport default DuckDB;\n", "import { DuckDBModule } from './duckdb_module';\nimport { DuckDBBindingsBase } from './bindings_base';\nimport { DuckDBRuntime } from './runtime';\nimport { LogLevel, LogTopic, LogOrigin, LogEvent } from '../log';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from '.';\n\n/** DuckDB bindings for the browser */\nexport abstract class DuckDBBrowserBindings extends DuckDBBindingsBase {\n /** The path of the wasm module */\n protected readonly mainModuleURL: string;\n /** The path of the pthread worker script */\n protected readonly pthreadWorkerURL: string | null;\n\n /** Constructor */\n public constructor(logger: Logger, runtime: DuckDBRuntime, mainModuleURL: string, pthreadWorkerURL: string | null) {\n super(logger, runtime);\n this.mainModuleURL = mainModuleURL;\n this.pthreadWorkerURL = pthreadWorkerURL;\n }\n\n /** Locate a file */\n protected locateFile(path: string, prefix: string): string {\n if (path.endsWith('.wasm')) {\n return this.mainModuleURL;\n }\n if (path.endsWith('.worker.js')) {\n if (!this.pthreadWorkerURL) {\n throw new Error('Missing DuckDB worker URL!');\n }\n return this.pthreadWorkerURL!;\n }\n throw new Error(`WASM instantiation requested unexpected file: prefix=${prefix} path=${path}`);\n }\n\n /** Instantiate the wasm module */\n protected instantiateWasm(\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n imports: any,\n success: (instance: WebAssembly.Instance, module: WebAssembly.Module) => void,\n ): Emscripten.WebAssemblyExports {\n // We rely on the following here:\n //\n // ...when a Request object is created using the Request.Request constructor,\n // the value of the mode property for that Request is set to cors.\n // [ref: MDN]\n //\n // Cloudflare throws when mode: 'cors' is set\n //\n globalThis.DUCKDB_RUNTIME = this._runtime;\n const handlers = this.onInstantiationProgress;\n\n // Does the browser support streaming instantiation?\n if (WebAssembly.instantiateStreaming) {\n // Does the browser support transform streams?\n if (typeof TransformStream === 'function') {\n const fetchWithProgress = async () => {\n // Try to determine file size\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const contentLengthHdr = response.headers.get('content-length');\n const contentLength = contentLengthHdr ? parseInt(contentLengthHdr, 10) || 0 : 0;\n\n // Transform the stream\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: contentLength || 0,\n bytesLoaded: 0,\n };\n const tracker = {\n transform(chunk: any, ctrl: TransformStreamDefaultController) {\n progress.bytesLoaded += chunk.byteLength;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n ctrl.enqueue(chunk);\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n ctrl.enqueue(chunk);\n },\n };\n const ts = new TransformStream(tracker);\n return new Response(response.body?.pipeThrough(ts), response);\n };\n // Instantiate streaming\n const response = fetchWithProgress();\n WebAssembly.instantiateStreaming(response, imports).then(output => {\n success(output.instance, output.module);\n });\n } else {\n console.warn('instantiating without progress handler since transform streams are unavailable');\n const request = new Request(this.mainModuleURL);\n WebAssembly.instantiateStreaming(fetch(request), imports).then(output => {\n success(output.instance, output.module);\n });\n }\n } else if (typeof XMLHttpRequest == 'function') {\n // Otherwise we fall back to XHRs\n const xhr = new XMLHttpRequest();\n const url = this.mainModuleURL;\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: 0,\n bytesLoaded: 0,\n };\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.onerror = error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to load WASM: ' + error,\n });\n throw new Error(error.toString());\n };\n xhr.onprogress = e => {\n progress.bytesTotal = e.total;\n progress.bytesLoaded = e.loaded;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n };\n xhr.onload = () => {\n WebAssembly.instantiate(xhr.response, imports)\n .then(output => {\n success(output.instance, output.module);\n })\n .catch(error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to instantiate WASM: ' + error,\n });\n throw new Error(error);\n });\n };\n xhr.send();\n } else {\n console.warn('instantiating with manual fetch since streaming instantiation and xhrs are unavailable');\n const run = async () => {\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const buffer = await response.arrayBuffer();\n WebAssembly.instantiate(buffer, imports).then(output => {\n success(output.instance, output.module);\n });\n };\n run();\n }\n return [];\n }\n\n /// Instantiation must be done by the browser variants\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n}\n", "import { S3Config } from '../bindings';\nimport { sha256 } from 'js-sha256';\n\nexport interface S3Params {\n url: string;\n query: string;\n host: string;\n region: string;\n service: string;\n method: string;\n accessKeyId: string;\n secretAccessKey: string;\n sessionToken: string;\n dateNow: string;\n datetimeNow: string;\n}\n\nexport interface S3PayloadParams {\n contentHash: string | null;\n contentType: string | null;\n}\n\nconst getHTTPHost = function (config: S3Config | undefined, url: string, bucket: string): string {\n if (config?.endpoint?.startsWith('http')) {\n // Endpoint is a full url, extract just the host (no path)\n const endpointUrl = new URL(config.endpoint);\n return endpointUrl.host;\n } else if (config?.endpoint) {\n // Endpoint is not a full url and the https://{bucket}.{domain} format will be used\n return `${bucket}.${config?.endpoint}`;\n } else {\n // Default aws s3 url\n return `${bucket}.s3.amazonaws.com`;\n }\n};\n\nexport function getS3Params(config: S3Config | undefined, url: string, method: string): S3Params {\n const parsedS3Url = parseS3Url(url);\n\n // when using S3 path-style access, the signed URL should also include the endpoint's path + bucket name,\n // as they will both be present in the HTTP URL path.\n // See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html#path-style-url-ex\n let path = parsedS3Url.path;\n if (isPathStyleAccess(config)) {\n // Extract endpoint path if present (e.g., \"/some/path\" from \"https://host/some/path\")\n let endpointPath = '';\n if (config?.endpoint) {\n const endpointUrl = new URL(config.endpoint);\n if (endpointUrl.pathname !== '/') {\n endpointPath = endpointUrl.pathname;\n }\n }\n path = `${endpointPath}/${parsedS3Url.bucket}${path}`;\n }\n return {\n url: path,\n query: '',\n host: getHTTPHost(config, url, parsedS3Url.bucket),\n region: config?.region ?? '',\n service: 's3',\n method: method,\n accessKeyId: config?.accessKeyId ?? '',\n secretAccessKey: config?.secretAccessKey ?? '',\n sessionToken: config?.sessionToken ?? '',\n dateNow: new Date().toISOString().replace(/-/g, '').split('T')[0],\n datetimeNow: new Date().toISOString().replace(/-/g, '').replace(/:/g, '').split('.')[0] + 'Z',\n };\n}\n\nexport function uriEncode(input: string, encode_slash = false) {\n // https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html\n\n const hexDigit = '0123456789ABCDEF';\n let result = '';\n\n for (let i = 0; i < input.length; i++) {\n const ch: string = input[i];\n\n if (\n (ch >= 'A' && ch <= 'Z') ||\n (ch >= 'a' && ch <= 'z') ||\n (ch >= '0' && ch <= '9') ||\n ch == '_' ||\n ch == '-' ||\n ch == '~' ||\n ch == '.'\n ) {\n result += ch;\n } else if (ch == '/') {\n if (encode_slash) {\n result += '%2F';\n } else {\n result += ch;\n }\n } else {\n result += '%';\n result += hexDigit[ch.charCodeAt(0) >> 4];\n result += hexDigit[ch.charCodeAt(0) & 15];\n }\n }\n return result;\n}\n\nexport function createS3Headers(params: S3Params, payloadParams: S3PayloadParams | null = null): Map<string, string> {\n // this is the sha256 of the empty string, its useful since we have no payload for GET requests\n const payloadHash =\n payloadParams?.contentHash ?? 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';\n\n const res = new Map<string, string>();\n // res.set(\"host\", params.host)\n res.set('x-amz-date', params.datetimeNow);\n res.set('x-amz-content-sha256', payloadHash);\n\n if (params.sessionToken) {\n res.set('x-amz-security-token', params.sessionToken);\n }\n\n // construct string to sign\n let signedHeaders = '';\n if (payloadParams?.contentType) {\n signedHeaders += 'content-type;';\n }\n signedHeaders += 'host;x-amz-content-sha256;x-amz-date';\n if (params.sessionToken) {\n signedHeaders += ';x-amz-security-token';\n }\n\n let canonicalRequest = params.method + '\\n' + uriEncode(params.url) + '\\n' + params.query;\n if (payloadParams?.contentType) {\n canonicalRequest += '\\ncontent-type:' + payloadParams?.contentType;\n }\n canonicalRequest +=\n '\\nhost:' + params.host + '\\nx-amz-content-sha256:' + payloadHash + '\\nx-amz-date:' + params.datetimeNow;\n if (params.sessionToken && params.sessionToken.length > 0) {\n canonicalRequest += '\\nx-amz-security-token:' + params.sessionToken;\n }\n\n canonicalRequest += '\\n\\n' + signedHeaders + '\\n' + payloadHash;\n const canonicalRequestHashStr = sha256(canonicalRequest);\n\n const stringToSign =\n 'AWS4-HMAC-SHA256\\n' +\n params.datetimeNow +\n '\\n' +\n params.dateNow +\n '/' +\n params.region +\n '/' +\n params.service +\n '/aws4_request\\n' +\n canonicalRequestHashStr;\n\n const signKey = 'AWS4' + params.secretAccessKey;\n const kDate = sha256.hmac.arrayBuffer(signKey, params.dateNow);\n\n const kRegion = sha256.hmac.arrayBuffer(kDate, params.region);\n const kService = sha256.hmac.arrayBuffer(kRegion, params.service);\n const signingKey = sha256.hmac.arrayBuffer(kService, 'aws4_request');\n const signature = sha256.hmac(signingKey, stringToSign);\n\n res.set(\n 'Authorization',\n 'AWS4-HMAC-SHA256 Credential=' +\n params.accessKeyId +\n '/' +\n params.dateNow +\n '/' +\n params.region +\n '/' +\n params.service +\n '/aws4_request, SignedHeaders=' +\n signedHeaders +\n ', Signature=' +\n signature,\n );\n\n return res;\n}\n\nconst createS3HeadersFromS3Config = function (\n config: S3Config | undefined,\n url: string,\n method: string,\n contentType: string | null = null,\n payload: Uint8Array | null = null,\n): Map<string, string> {\n const params = getS3Params(config, url, method);\n const payloadParams = {\n contentType: contentType,\n contentHash: payload ? sha256.hex(payload!) : null,\n } as S3PayloadParams;\n return createS3Headers(params, payloadParams);\n};\n\nexport function addS3Headers(\n xhr: XMLHttpRequest,\n config: S3Config | undefined,\n url: string,\n method: string,\n contentType: string | null = null,\n payload: Uint8Array | null = null,\n) {\n if (config?.accessKeyId || config?.sessionToken) {\n const headers = createS3HeadersFromS3Config(config, url, method, contentType, payload);\n headers.forEach((value: string, header: string) => {\n xhr.setRequestHeader(header, value);\n });\n\n if (contentType) {\n xhr.setRequestHeader('content-type', contentType);\n }\n }\n}\n\nexport function parseS3Url(url: string): { bucket: string; path: string } {\n if (url.indexOf('s3://') != 0) {\n throw new Error('URL needs to start with s3://');\n }\n const slashPos = url.indexOf('/', 5);\n\n if (slashPos == -1) {\n throw new Error(\"URL needs to contain a '/' after the host\");\n }\n\n const bucket = url.substring(5, slashPos);\n if (!bucket) {\n throw new Error('URL needs to contain a bucket name');\n }\n const path = url.substring(slashPos);\n if (!path) {\n throw new Error('URL needs to contain key');\n }\n\n return { bucket: bucket, path: path };\n}\n\nfunction isPathStyleAccess(config: S3Config | undefined): boolean {\n if (config?.endpoint?.startsWith('http')) {\n return true;\n }\n return false;\n}\n\nexport function getHTTPUrl(config: S3Config | undefined, url: string): string {\n const parsedUrl = parseS3Url(url);\n if (isPathStyleAccess(config)) {\n // Endpoint is a full url, we append the bucket\n return `${config?.endpoint}/${parsedUrl.bucket}` + parsedUrl.path;\n }\n return 'https://' + getHTTPHost(config, url, parsedUrl.bucket) + parsedUrl.path;\n}\n", "import { StatusCode } from '../status';\nimport { WorkerResponseType } from '../parallel/worker_request';\nimport { addS3Headers, getHTTPUrl } from '../utils';\n\nimport {\n callSRet,\n dropResponseBuffers,\n DuckDBDataProtocol,\n DuckDBFileInfo,\n DuckDBGlobalFileInfo,\n DuckDBRuntime,\n failWith,\n FileFlags,\n readString,\n PreparedDBFileHandle,\n} from './runtime';\nimport { DuckDBModule } from './duckdb_module';\nimport * as udf from './udf_runtime';\n\nconst OPFS_PREFIX_LEN = 'opfs://'.length;\nconst PATH_SEP_REGEX = /\\/|\\\\/;\n\nexport const BROWSER_RUNTIME: DuckDBRuntime & {\n _files: Map<string, any>;\n _fileInfoCache: Map<number, DuckDBFileInfo>;\n _globalFileInfo: DuckDBGlobalFileInfo | null;\n _preparedHandles: Record<string, FileSystemSyncAccessHandle>;\n _opfsRoot: FileSystemDirectoryHandle | null;\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null;\n assignOPFSRoot(): Promise<void>;\n} = {\n _files: new Map<string, any>(),\n _fileInfoCache: new Map<number, DuckDBFileInfo>(),\n _udfFunctions: new Map(),\n _globalFileInfo: null,\n _preparedHandles: {} as any,\n _opfsRoot: null,\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null {\n try {\n const cached = BROWSER_RUNTIME._fileInfoCache.get(fileId);\n const [s, d, n] = callSRet(\n mod,\n 'duckdb_web_fs_get_file_info_by_id',\n ['number', 'number'],\n [fileId, cached?.cacheEpoch || 0],\n );\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return cached!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n try {\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n const file = { ...info, blob: null } as DuckDBFileInfo;\n BROWSER_RUNTIME._fileInfoCache.set(fileId, file);\n if (!BROWSER_RUNTIME._files.has(file.fileName) && BROWSER_RUNTIME._preparedHandles[file.fileName]) {\n BROWSER_RUNTIME._files.set(file.fileName, BROWSER_RUNTIME._preparedHandles[file.fileName]);\n delete BROWSER_RUNTIME._preparedHandles[file.fileName];\n }\n return file;\n } catch (error) {\n console.warn(error);\n return null;\n }\n } catch (e: any) {\n console.log(e);\n return null;\n }\n },\n\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null {\n try {\n const [s, d, n] = callSRet(\n mod,\n 'duckdb_web_get_global_file_info',\n ['number'],\n [BROWSER_RUNTIME._globalFileInfo?.cacheEpoch || 0],\n );\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return BROWSER_RUNTIME._globalFileInfo!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n BROWSER_RUNTIME._globalFileInfo = { ...info, blob: null } as DuckDBGlobalFileInfo;\n\n return BROWSER_RUNTIME._globalFileInfo;\n } catch (e: any) {\n console.log(e);\n return null;\n }\n },\n async assignOPFSRoot(): Promise<void> {\n if (!BROWSER_RUNTIME._opfsRoot) {\n BROWSER_RUNTIME._opfsRoot = await navigator.storage.getDirectory();\n }\n },\n /** Prepare a file handle that could only be acquired aschronously */\n async prepareFileHandles(filePaths: string[], protocol: DuckDBDataProtocol): Promise<PreparedDBFileHandle[]> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS) {\n await BROWSER_RUNTIME.assignOPFSRoot();\n const prepare = async (path: string): Promise<PreparedDBFileHandle> => {\n if (BROWSER_RUNTIME._files.has(path)) {\n return {\n path,\n handle: BROWSER_RUNTIME._files.get(path),\n fromCached: true,\n };\n }\n const opfsRoot = BROWSER_RUNTIME._opfsRoot!;\n let dirHandle: FileSystemDirectoryHandle = opfsRoot;\n // check if mkdir -p is needed\n const opfsPath = path.slice(OPFS_PREFIX_LEN);\n let fileName = opfsPath;\n if (PATH_SEP_REGEX.test(opfsPath)) {\n const folders = opfsPath.split(PATH_SEP_REGEX);\n if (folders.length === 0) {\n throw new Error(`Invalid path ${opfsPath}`);\n }\n fileName = folders[folders.length - 1];\n if (!fileName) {\n throw new Error(`Invalid path ${opfsPath}. File Not Found.`);\n }\n folders.pop();\n for (const folder of folders) {\n dirHandle = await dirHandle.getDirectoryHandle(folder, { create: true });\n }\n }\n const fileHandle = await dirHandle.getFileHandle(fileName, { create: false }).catch(e => {\n if (e?.name === 'NotFoundError') {\n console.debug(`File ${path} does not exists yet, creating...`);\n return dirHandle.getFileHandle(fileName, { create: true });\n }\n throw e;\n });\n try {\n const handle = await fileHandle.createSyncAccessHandle();\n BROWSER_RUNTIME._preparedHandles[path] = handle;\n return {\n path,\n handle,\n fromCached: false,\n };\n } catch (e: any) {\n throw new Error(e.message + ':' + name);\n }\n };\n const result: PreparedDBFileHandle[] = [];\n for (const filePath of filePaths) {\n const res = await prepare(filePath);\n result.push(res);\n }\n return result;\n }\n throw new Error(`Unsupported protocol ${protocol} for paths ${filePaths} with protocol ${protocol}`);\n },\n /** Prepare a file handle that could only be acquired aschronously */\n async prepareDBFileHandle(dbPath: string, protocol: DuckDBDataProtocol): Promise<PreparedDBFileHandle[]> {\n if (protocol === DuckDBDataProtocol.BROWSER_FSACCESS && this.prepareFileHandles) {\n const filePaths = [dbPath, `${dbPath}.wal`];\n return this.prepareFileHandles(filePaths, protocol);\n }\n throw new Error(`Unsupported protocol ${protocol} for path ${dbPath} with protocol ${protocol}`);\n },\n\n testPlatformFeature: (_mod: DuckDBModule, feature: number): boolean => {\n switch (feature) {\n case 1:\n return typeof BigInt64Array !== 'undefined';\n default:\n console.warn(`test for unknown feature: ${feature}`);\n return false;\n }\n },\n\n getDefaultDataProtocol(mod: DuckDBModule): number {\n return DuckDBDataProtocol.BROWSER_FILEREADER;\n },\n\n openFile: (mod: DuckDBModule, fileId: number, flags: FileFlags): number => {\n try {\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (flags & FileFlags.FILE_FLAGS_READ && flags & FileFlags.FILE_FLAGS_WRITE) {\n throw new Error(\n `Opening file ${file.fileName} failed: cannot open file with both read and write flags set`,\n );\n } else if (flags & FileFlags.FILE_FLAGS_APPEND) {\n throw new Error(\n `Opening file ${file.fileName} failed: appending to HTTP/S3 files is not supported`,\n );\n } else if (flags & FileFlags.FILE_FLAGS_WRITE) {\n // We send a HEAD request to try to determine if we can write to data_url\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.send(null);\n\n // Expect 200 for existing files that we will overwrite or 404 for non-existent files can be created\n if (xhr.status != 200 && xhr.status != 404) {\n throw new Error(\n `Opening file ${file.fileName} failed: Unexpected return status from server (${xhr.status})`,\n );\n } else if (\n xhr.status == 404 &&\n !(flags & FileFlags.FILE_FLAGS_FILE_CREATE || flags & FileFlags.FILE_FLAGS_FILE_CREATE_NEW)\n ) {\n throw new Error(\n `Opening file ${file.fileName} failed: Cannot write to non-existent file without FILE_FLAGS_FILE_CREATE or FILE_FLAGS_FILE_CREATE_NEW flag.`,\n );\n }\n // Return an empty buffer that can be used to buffer the writes to this s3/http file\n const data = mod._malloc(1);\n const src = new Uint8Array();\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = data;\n mod.HEAPF64[(result >> 3) + 2] = new Date().getTime() / 1000;\n return result;\n } else if ((flags & FileFlags.FILE_FLAGS_READ) == 0) {\n throw new Error(`Opening file ${file.fileName} failed: unsupported file flags: ${flags}`);\n }\n\n // Supports ranges?\n let contentLength = null;\n let error: any | null = null;\n if (!file.forceFullHttpReads && (file.reliableHeadRequests || !file.allowFullHttpReads)) {\n try {\n // Send a dummy HEAD request with range protocol\n // -> good IFF status is 206 and contentLenght is present\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.setRequestHeader('Range', `bytes=0-`);\n xhr.send(null);\n\n // Supports range requests\n contentLength = null;\n try { contentLength = xhr.getResponseHeader('Content-Length'); } catch (e: any) {console.warn(`Failed to get Content-Length on request`);}\n if (contentLength !== null && xhr.status == 206) {\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n let modification_time = 0;\n try { modification_time = new Date(xhr.getResponseHeader('Last-Modified')??\"\").getTime() / 1000; } catch (e: any) {console.warn(`Failed to get Last-Modified on request`);}\n mod.HEAPF64[(result >> 3) + 2] = +modification_time;\n return result;\n }\n } catch (e: any) {\n error = e;\n console.warn(`HEAD request with range header failed: ${e}`);\n }\n }\n\n // Try to fallback to full read?\n if (file.allowFullHttpReads) {\n if (!file.forceFullHttpReads) {\n // 2. Send a dummy GET range request querying the first byte of the file\n // -> good IFF status is 206 and contentLenght2 is 1\n // -> otherwise, iff 200 and contentLenght2 == contentLenght\n // we just downloaded the file, save it and move further\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.setRequestHeader('Range', `bytes=0-0`);\n xhr.send(null);\n let actualContentLength = null;\n try { actualContentLength = xhr.getResponseHeader('Content-Length'); } catch (e: any) {console.warn(`Failed to get Content-Length on request`);}\n const contentRange = actualContentLength?.split('/')[1];\n const contentLength2 = actualContentLength;\n\n let presumedLength = null;\n if (contentRange !== undefined) {\n presumedLength = contentRange;\n } else if (!file.reliableHeadRequests) {\n // Send a dummy HEAD request with range protocol\n // -> good IFF status is 206 and contentLenght is present\n const head = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n head.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(head, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n head.open('HEAD', file.dataUrl!, false);\n }\n head.setRequestHeader('Range', `bytes=0-`);\n head.send(null);\n\n // Supports range requests\n contentLength = null;\n try { contentLength = head.getResponseHeader('Content-Length'); } catch (e: any) {console.warn(`Failed to get Content-Length on request`);}\n if (contentLength !== null && +contentLength > 1) {\n presumedLength = contentLength;\n }\n }\n\n if (\n xhr.status == 206 &&\n contentLength2 !== null &&\n +contentLength2 == 1 &&\n presumedLength !== null\n ) {\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +presumedLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n let modification_time = 0;\n try { modification_time = new Date(xhr.getResponseHeader('Last-Modified')??\"\").getTime() / 1000; } catch (e: any) {console.warn(`Failed to get Last-Modified on request`);}\n mod.HEAPF64[(result >> 3) + 2] = +modification_time;\n return result;\n }\n if (\n xhr.status == 200 &&\n contentLength2 !== null &&\n contentLength !== null &&\n +contentLength2 == +contentLength\n ) {\n console.warn(`fall back to full HTTP read for: ${file.dataUrl}`);\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n let modification_time = 0;\n try { modification_time = new Date(xhr.getResponseHeader('Last-Modified')??\"\").getTime() / 1000; } catch (e: any) {console.warn(`Failed to get Last-Modified on request`);}\n mod.HEAPF64[(result >> 3) + 2] = +modification_time;\n return result;\n }\n console.warn(`falling back to full HTTP read for: ${file.dataUrl}`);\n }\n // 3. Send non-range request\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.send(null);\n\n // Return buffer\n if (xhr.status == 200) {\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n let modification_time = 0;\n try { modification_time = new Date(xhr.getResponseHeader('Last-Modified')??\"\").getTime() / 1000; } catch (e: any) {console.warn(`Failed to get Last-Modified on request`);}\n mod.HEAPF64[(result >> 3) + 2] = +modification_time;\n return result;\n }\n }\n\n // Raise error?\n if (error != null) {\n throw new Error(`Reading file ${file.fileName} failed with error: ${error}`);\n }\n return 0;\n }\n // File reader File\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (handle) {\n const result = mod._malloc(3 * 8);\n mod.HEAPF64[(result >> 3) + 0] = handle.size;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n mod.HEAPF64[(result >> 3) + 2] = 0;\n return result;\n }\n\n // Depending on file flags, return nullptr\n if (flags & FileFlags.FILE_FLAGS_NULL_IF_NOT_EXISTS) {\n return 0;\n }\n\n // Fall back to empty buffered file in the browser\n console.warn(`Buffering missing file: ${file.fileName}`);\n const result = mod._malloc(3 * 8);\n const buffer = mod._malloc(1); // malloc(0) is allowed to return a nullptr\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = buffer;\n mod.HEAPF64[(result >> 3) + 2] = 0;\n return result;\n }\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n if (flags & FileFlags.FILE_FLAGS_FILE_CREATE_NEW) {\n handle.truncate(0);\n }\n const result = mod._malloc(3 * 8);\n const fileSize = handle.getSize();\n mod.HEAPF64[(result >> 3) + 0] = fileSize;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n mod.HEAPF64[(result >> 3) + 2] = 0;\n return result;\n }\n }\n } catch (e: any) {\n // TODO (samansmink): this path causes the WASM code to hang\n console.error(e.toString());\n failWith(mod, e.toString());\n }\n return 0;\n },\n glob: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n if (xhr.status != 200 && xhr.status !== 206) {\n // Pre-signed resources on S3 in common configurations fail on any HEAD request\n // https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/s3-example-presigned-urls.html\n // so we need (if enabled) to bump to a ranged GET\n if (!BROWSER_RUNTIME.getGlobalFileInfo(mod)?.allowFullHttpReads) {\n console.log(`HEAD request failed: ${path}, with full http reads are disabled`);\n return 0;\n }\n const xhr2 = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr2.open('GET', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr2, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr2.open('GET', path!, false);\n }\n xhr2.setRequestHeader('Range', `bytes=0-0`);\n xhr2.send(null);\n if (xhr2.status != 200 && xhr2.status !== 206) {\n console.log(`HEAD and GET requests failed: ${path}`);\n return 0;\n }\n let contentLength = null;\n try { contentLength = xhr2.getResponseHeader('Content-Length'); } catch (e: any) {console.warn(`Failed to get Content-Length on request`);}\n if (contentLength && +contentLength > 1) {\n console.warn(\n `Range request for ${path} did not return a partial response: ${xhr2.status} \"${xhr2.statusText}\"`,\n );\n }\n }\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [path]);\n } else {\n for (const [filePath] of BROWSER_RUNTIME._files!.entries() || []) {\n if (filePath.startsWith(path)) {\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [filePath]);\n }\n }\n }\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n return 0;\n }\n },\n checkFile: (mod: DuckDBModule, pathPtr: number, pathLen: number): boolean => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http or S3?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n return xhr.status == 206 || xhr.status == 200;\n } else {\n return BROWSER_RUNTIME._files.has(path);\n }\n } catch (e: any) {\n console.log(e);\n return false;\n }\n return false;\n },\n syncFile: (_mod: DuckDBModule, _fileId: number) => {},\n closeFile: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n try {\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.BUFFER:\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n break;\n case DuckDBDataProtocol.NODE_FS:\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n // XXX Remove from registry\n return;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n return handle.flush();\n }\n }\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n }\n },\n dropFile: (mod: DuckDBModule, fileNamePtr: number, fileNameLen: number) => {\n const fileName = readString(mod, fileNamePtr, fileNameLen);\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files?.get(fileName);\n if (handle) {\n BROWSER_RUNTIME._files.delete(fileName);\n if (handle instanceof FileSystemSyncAccessHandle) {\n try {\n handle.flush();\n handle.close();\n } catch (e: any) {\n throw new Error(`Cannot drop file with name: ${fileName}`);\n }\n }\n if (handle instanceof Blob) {\n // nothing\n }\n }\n },\n truncateFile: (mod: DuckDBModule, fileId: number, newSize: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, `Cannot truncate a http file`);\n return;\n case DuckDBDataProtocol.S3:\n failWith(mod, `Cannot truncate an s3 file`);\n return;\n case DuckDBDataProtocol.BUFFER:\n case DuckDBDataProtocol.NODE_FS:\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n failWith(mod, `truncateFile not implemented`);\n return;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n return handle.truncate(newSize);\n }\n }\n return 0;\n },\n readFile(mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) {\n if (bytes == 0) {\n // Be robust to empty reads\n return 0;\n }\n try {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n // File reading from BLOB or HTTP MUST be done with range requests.\n // We have to check in OPEN if such file supports range requests and upgrade to BUFFER if not.\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (!file.dataUrl) {\n throw new Error(`Missing data URL for file ${fileId}`);\n }\n try {\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.setRequestHeader('Range', `bytes=${location}-${location + bytes - 1}`);\n xhr.send(null);\n if (\n xhr.status == 206 /* Partial content */ ||\n (xhr.status == 200 && bytes == xhr.response.byteLength && location == 0)\n ) {\n const src = new Uint8Array(xhr.response, 0, Math.min(xhr.response.byteLength, bytes));\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else if (xhr.status == 200) {\n // TODO: here we are actually throwing away all non-relevant bytes, but this is still better than failing\n // proper solution would require notifying duckdb-wasm cache, while we are piggybackign on browser cache\n console.warn(\n `Range request for ${file.dataUrl} did not return a partial response: ${xhr.status} \"${xhr.statusText}\"`,\n );\n const src = new Uint8Array(\n xhr.response,\n location,\n Math.min(xhr.response.byteLength - location, bytes),\n );\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else {\n throw new Error(\n `Range request for ${file.dataUrl} did returned non-success status: ${xhr.status} \"${xhr.statusText}\"`,\n );\n }\n } catch (e) {\n console.log(e);\n throw new Error(`Range request for ${file.dataUrl} failed with error: ${e}\"`);\n }\n }\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No HTML5 file registered with name: ${file.fileName}`);\n }\n const sliced = handle!.slice(location, location + bytes);\n const data = new Uint8Array(new FileReaderSync().readAsArrayBuffer(sliced));\n mod.HEAPU8.set(data, buf);\n return data.byteLength;\n }\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n const out = mod.HEAPU8.subarray(buf, buf + bytes);\n return handle.read(out, { at: location });\n }\n }\n return 0;\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n return 0;\n }\n },\n writeFile: (mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, 'Cannot write to HTTP file');\n return 0;\n case DuckDBDataProtocol.S3: {\n const buffer = mod.HEAPU8.subarray(buf, buf + bytes);\n const xhr = new XMLHttpRequest();\n xhr.open('PUT', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'PUT', '', buffer);\n xhr.send(buffer);\n if (xhr.status !== 200) {\n failWith(mod, 'Failed writing file: HTTP ' + xhr.status);\n return 0;\n }\n return bytes;\n }\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n failWith(mod, 'cannot write using the html5 file reader api');\n return 0;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle: FileSystemSyncAccessHandle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n const input = mod.HEAPU8.subarray(buf, buf + bytes);\n return handle.write(input, { at: location });\n }\n }\n return 0;\n },\n getLastFileModificationTime: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw Error(`No handle available for file: ${file.fileName}`);\n }\n return 0;\n }\n\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n // getTime() returns milliseconds, we need seconds\n return new Date().getTime() / 1000;\n }\n return 0;\n },\n progressUpdate: (done: number, percentage: number, repeat: number): void => {\n if (postMessage) {\n postMessage({\n requestId: 0,\n type: WorkerResponseType.PROGRESS_UPDATE,\n data: { status: done ? 'completed' : 'in-progress', percentage: percentage, repetitions: repeat },\n });\n }\n },\n checkDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`checkDirectory: ${path}`);\n return false;\n },\n createDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`createDirectory: ${path}`);\n },\n removeDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`removeDirectory: ${path}`);\n },\n listDirectoryEntries: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`listDirectoryEntries: ${path}`);\n return false;\n },\n moveFile: (mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number) => {\n const from = readString(mod, fromPtr, fromLen);\n const to = readString(mod, toPtr, toLen);\n const handle = BROWSER_RUNTIME._files?.get(from);\n if (handle !== undefined) {\n BROWSER_RUNTIME._files!.delete(handle);\n BROWSER_RUNTIME._files!.set(to, handle);\n }\n for (const [key, value] of BROWSER_RUNTIME._fileInfoCache?.entries() || []) {\n if (value.dataUrl == from) {\n BROWSER_RUNTIME._fileInfoCache.delete(key);\n break;\n }\n }\n return true;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number) => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf.callScalarUDF(BROWSER_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n\nexport default BROWSER_RUNTIME;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["require_duckdb_coi", "__commonJSMin", "exports", "module", "DuckDB", "_a", "_scriptName", "moduleArg", "moduleRtn", "Module", "readyPromiseResolve", "readyPromiseReject", "readyPromise", "resolve", "reject", "ENVIRONMENT_IS_WEB", "ENVIRONMENT_IS_WORKER", "ENVIRONMENT_IS_NODE", "ENVIRONMENT_IS_PTHREAD", "worker_threads", "moduleOverrides", "arguments_", "thisProgram", "quit_", "status", "toThrow", "scriptDirectory", "locateFile", "path", "readAsync", "readBinary", "fs", "nodePath", "filename", "isFileURI", "ret", "binary", "url", "xhr", "response", "defaultPrint", "defaultPrintErr", "args", "out", "err", "wasmBinary", "wasmMemory", "wasmModule", "ABORT", "EXITSTATUS", "assert", "condition", "text", "abort", "HEAP8", "HEAPU8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAPF32", "HEAPF64", "runtimeInitialized", "GROWABLE_HEAP_I8", "updateMemoryViews", "GROWABLE_HEAP_U8", "GROWABLE_HEAP_I16", "GROWABLE_HEAP_I32", "GROWABLE_HEAP_U32", "GROWABLE_HEAP_F64", "threadPrintErr", "threadAlert", "_pthread_self", "handleMessage", "e", "msgData", "cmd", "messageQueue", "instance", "msg", "handler", "wasmModuleReceived", "establishStackSpace", "__emscripten_thread_init", "PThread", "__emscripten_thread_mailbox_await", "initializedJS", "invokeEntryPoint", "ex", "checkMailbox", "__emscripten_thread_crashed", "parentPort", "b", "INITIAL_MEMORY", "preRun", "addOnPreRun", "callRuntimeCallbacks", "onPreRuns", "initRuntime", "wasmExports", "preMain", "postRun", "addOnPostRun", "onPostRuns", "runDependencies", "dependenciesFulfilled", "addRunDependency", "id", "removeRunDependency", "callback", "what", "wasmBinaryFile", "findWasmBinary", "getBinarySync", "file", "getWasmBinary", "binaryFile", "instantiateArrayBuffer", "imports", "reason", "instantiateAsync", "instantiationResult", "getWasmImports", "assignWasmImports", "wasmImports", "createWasm", "receiveInstance", "applySignatureConversions", "registerTLSInit", "wasmTable", "receiveInstantiationResult", "result", "info", "mod", "inst", "tempDouble", "tempI64", "ASM_CONSTS", "$0", "$1", "$2", "$3", "UTF8ToString", "i", "len", "ptr1", "ptr2", "z", "error", "uInt8Array", "fileOnWasmHeap", "_malloc", "properArray", "iii", "LEN123", "headers", "letter", "headersOnWasmHeap", "$4", "$5", "post_payload", "ExitStatus", "__publicField", "terminateWorker", "worker", "cleanupThread", "pthread_ptr", "callbacks", "cb", "spawnThread", "threadParams", "runtimeKeepaliveCounter", "keepRuntimeAlive", "noExitRuntime", "stackSave", "_emscripten_stack_get_current", "stackRestore", "val", "__emscripten_stack_restore", "stackAlloc", "sz", "__emscripten_stack_alloc", "convertI32PairToI53Checked", "lo", "hi", "proxyToMainThread", "funcIndex", "emAsmAddr", "sync", "callArgs", "serializedNumCallArgs", "sp", "arg", "rtn", "__emscripten_run_on_main_thread_js", "_proc_exit", "code", "handleException", "exitOnMainThread", "returnCode", "_exit", "exitJS", "implicit", "pthreadPoolSize", "__emscripten_thread_free_data", "data", "f", "onFinishedLoading", "d", "targetWorker", "message", "handlers", "knownHandlers", "onMaybeReady", "workerOptions", "pthreadMainJs", "stackHigh", "stackSize", "stackLow", "_emscripten_stack_set_limits", "wasmTableMirror", "getWasmTableEntry", "funcPtr", "func", "ptr", "finish", "__emscripten_thread_exit", "tlsInitFunc", "___call_sighandler", "fp", "sig", "pthreadCreateProxied", "attr", "startRoutine", "___pthread_create_js", "_emscripten_has_threading_support", "transferList", "__abort_js", "__emscripten_init_main_thread_js", "tb", "maybeExit", "callUserCallback", "wait", "waitingAsync", "__emscripten_check_mailbox", "__emscripten_notify_mailbox_postmessage", "targetThread", "currThreadId", "proxiedJSCallArgs", "__emscripten_receive_on_main_thread_js", "callingThread", "numCallArgs", "proxiedFunctionTable", "__emscripten_runtime_keepalive_clear", "UTF8Decoder", "UTF8ArrayToString", "heapOrArray", "idx", "maxBytesToRead", "endIdx", "endPtr", "str", "u0", "u1", "u2", "ch", "__emscripten_system", "command", "cmdstr", "cp", "__require", "_W_EXITCODE", "signalToNumber", "__emscripten_thread_cleanup", "thread", "__emscripten_thread_set_strongref", "__emval_call_method", "__emval_decref", "__emval_get_global", "__emval_get_method_caller", "__emval_run_destructors", "__gmtime_js", "time_low", "time_high", "tmPtr", "time", "date", "start", "yday", "isLeapYear", "year", "MONTH_DAYS_LEAP_CUMULATIVE", "MONTH_DAYS_REGULAR_CUMULATIVE", "ydayFromDate", "leap", "monthDaysCumulative", "__localtime_js", "summerOffset", "winterOffset", "dst", "setTempRet0", "__emscripten_tempret_set", "__mktime_js", "guessedOffset", "dstOffset", "nonDstOffset", "trueOffset", "timeMs", "stringToUTF8Array", "heap", "outIdx", "maxBytesToWrite", "startIdx", "u", "stringToUTF8", "outPtr", "__tzset_js", "timezone", "daylight", "std_name", "dst_name", "currentYear", "winter", "summer", "stdTimezoneOffset", "extractZone", "timezoneOffset", "sign", "absOffset", "hours", "minutes", "winterName", "summerName", "__wasmfs_copy_preloaded_file_data", "index", "buffer", "wasmFSPreloadedFiles", "wasmFSPreloadedDirs", "__wasmfs_get_num_preloaded_dirs", "wasmFSPreloadingFlushed", "__wasmfs_get_num_preloaded_files", "__wasmfs_get_preloaded_child_path", "childNameBuffer", "s", "lengthBytesUTF8", "__wasmfs_get_preloaded_file_mode", "__wasmfs_get_preloaded_file_size", "__wasmfs_get_preloaded_parent_path", "parentPathBuffer", "c", "__wasmfs_get_preloaded_path_name", "fileNameBuffer", "HandleAllocator", "handle", "wasmfsOPFSAccessHandles", "wasmfsOPFSProxyFinish", "ctx", "_emscripten_proxy_finish", "__wasmfs_opfs_close_access", "accessID", "errPtr", "accessHandle", "wasmfsOPFSBlobs", "__wasmfs_opfs_close_blob", "blobID", "__wasmfs_opfs_flush_access", "wasmfsOPFSDirectoryHandles", "__wasmfs_opfs_free_directory", "dirID", "wasmfsOPFSFileHandles", "__wasmfs_opfs_free_file", "fileID", "wasmfsOPFSGetOrCreateFile", "parent", "name", "create", "parentHandle", "fileHandle", "wasmfsOPFSGetOrCreateDir", "childHandle", "__wasmfs_opfs_get_child", "namePtr", "childTypePtr", "childIDPtr", "childType", "childID", "__wasmfs_opfs_get_entries", "entriesPtr", "dirHandle", "iter", "entry", "child", "stringToUTF8OnStack", "type", "__wasmfs_opfs_get_size_access", "sizePtr", "size", "__wasmfs_opfs_get_size_blob", "__wasmfs_opfs_get_size_file", "__wasmfs_opfs_init_root_directory", "root", "__wasmfs_opfs_insert_directory", "__wasmfs_opfs_insert_file", "__wasmfs_opfs_move_file", "newParentID", "newDirHandle", "__wasmfs_opfs_open_access", "accessIDPtr", "__wasmfs_opfs_open_blob", "blobIDPtr", "blob", "__wasmfs_opfs_read_access", "bufPtr", "pos_low", "pos_high", "pos", "__wasmfs_opfs_read_blob", "nreadPtr", "slice", "nread", "buf", "__wasmfs_opfs_remove_child", "__wasmfs_opfs_set_size_access", "size_low", "size_high", "__wasmfs_opfs_set_size_file", "writable", "__wasmfs_opfs_write_access", "FS_stdin_getChar_buffer", "intArrayFromString", "stringy", "dontAddNull", "length", "u8array", "numBytesWritten", "FS_stdin_getChar", "BUFSIZE", "bytesRead", "fd", "__wasmfs_stdin_get_char", "__wasmfs_thread_utils_heartbeat", "queue", "intervalID", "_emscripten_proxy_execute_queue", "_emscripten_get_now", "_emscripten_date_now", "nowIsMonotonic", "checkWasiClock", "clock_id", "_clock_time_get", "clk_id", "ignored_precision_low", "ignored_precision_high", "ptime", "ignored_precision", "now", "nsec", "_duckdb_web_fs_directory_create", "pathLen", "_duckdb_web_fs_directory_exists", "_duckdb_web_fs_directory_list_files", "_duckdb_web_fs_directory_remove", "_duckdb_web_fs_file_close", "fileId", "_duckdb_web_fs_file_drop_file", "fileName", "fileNameLen", "_duckdb_web_fs_file_exists", "_duckdb_web_fs_file_move", "from", "fromLen", "to", "toLen", "_duckdb_web_fs_file_open", "flags", "_duckdb_web_fs_file_read", "location", "_duckdb_web_fs_file_truncate", "newSize", "_duckdb_web_fs_file_write", "_duckdb_web_fs_get_default_data_protocol", "_duckdb_web_fs_glob", "_duckdb_web_test_platform_feature", "feature", "_duckdb_web_udf_scalar_call", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "readEmAsmArgsArray", "readEmAsmArgs", "sigPtr", "wide", "runEmAsmFunction", "argbuf", "_emscripten_asm_const_ptr", "warnOnce", "_emscripten_check_blocking_allowed", "_emscripten_err", "runtimeKeepalivePush", "_emscripten_exit_with_live_runtime", "getHeapMax", "_emscripten_get_heap_max", "_emscripten_num_logical_cores", "_emscripten_out", "alignMemory", "alignment", "growMemory", "pages", "_emscripten_resize_heap", "requestedSize", "oldSize", "maxHeapSize", "cutDown", "overGrownHeapSize", "replacement", "_emscripten_unwind_to_js_event_loop", "ENV", "getExecutableName", "getEnvStrings", "lang", "env", "x", "strings", "stringToAscii", "_environ_get", "__environ", "environ_buf", "bufSize", "string", "_environ_sizes_get", "penviron_count", "penviron_buf_size", "inetPton4", "tmp", "jstoi_q", "inetPton6", "words", "w", "offset", "valid6regx", "parts", "DNS", "res", "addr", "inetNtop4", "inetNtop6", "ints", "word", "longest", "lastzero", "zstart", "hasipv4", "v4part", "zeroMemory", "address", "writeSockaddr", "sa", "family", "port", "addrlen", "_getaddrinfo", "node", "service", "hint", "proto", "ai", "allocaddrinfo", "canon", "salen", "errno", "initRandomFill", "nodeCrypto", "view", "randomFill", "_random_get", "getCFunc", "ident", "writeArrayToMemory", "array", "ccall", "returnType", "argTypes", "opts", "toC", "arr", "convertReturnValue", "cArgs", "stack", "converter", "onDone", "getTempRet0", "__emscripten_tempret_get", "_main", "a0", "a1", "_duckdb_web_fs_glob_add_path", "_duckdb_web_clear_response", "_duckdb_web_fail_with", "_duckdb_web_reset", "_duckdb_web_connect", "_duckdb_web_disconnect", "_duckdb_web_flush_files", "_duckdb_web_flush_file", "_duckdb_web_open", "_duckdb_web_get_global_file_info", "_duckdb_web_collect_file_stats", "a2", "_duckdb_web_export_file_stats", "_duckdb_web_fs_drop_file", "_duckdb_web_fs_drop_files", "_duckdb_web_fs_glob_file_infos", "_duckdb_web_fs_get_file_info_by_id", "_duckdb_web_fs_get_file_info_by_name", "_duckdb_web_fs_register_file_url", "a3", "a4", "_duckdb_web_fs_register_file_buffer", "_duckdb_web_copy_file_to_buffer", "_duckdb_web_copy_file_to_path", "_duckdb_web_get_version", "_duckdb_web_get_feature_flags", "_duckdb_web_tokenize", "_duckdb_web_tokenize_buffer", "_duckdb_web_udf_scalar_create", "_duckdb_web_prepared_create", "_duckdb_web_prepared_create_buffer", "_duckdb_web_prepared_close", "_duckdb_web_prepared_run", "_duckdb_web_prepared_send", "_duckdb_web_query_run", "_duckdb_web_query_run_buffer", "_duckdb_web_pending_query_start", "_duckdb_web_pending_query_start_buffer", "_duckdb_web_pending_query_poll", "_duckdb_web_pending_query_cancel", "_duckdb_web_query_fetch_results", "_duckdb_web_get_tablenames", "_duckdb_web_get_tablenames_buffer", "_duckdb_web_insert_arrow_from_ipc_stream", "_duckdb_web_insert_csv_from_path", "_duckdb_web_insert_json_from_path", "__emscripten_tls_init", "a5", "_free", "_calloc", "makeWrapper_p", "makeWrapper_pp", "makeWrapper_ppp", "callMain", "entryFunction", "argc", "argv", "run", "doRun", "noInitialRun", "_b", "isPthread", "isNode", "require_sha256", "__commonJSMin", "exports", "module", "ERROR", "WINDOW", "root", "WEB_WORKER", "NODE_JS", "COMMON_JS", "AMD", "ARRAY_BUFFER", "HEX_CHARS", "EXTRA", "SHIFT", "K", "OUTPUT_TYPES", "blocks", "obj", "createOutputMethod", "outputType", "is224", "message", "Sha256", "createMethod", "method", "nodeWrap", "i", "type", "crypto", "Buffer", "algorithm", "bufferFrom", "nodeMethod", "createHmacOutputMethod", "key", "HmacSha256", "createHmacMethod", "sharedMemory", "notString", "code", "index", "length", "a", "b", "c", "d", "e", "f", "g", "h", "j", "s0", "s1", "maj", "t1", "t2", "ch", "ab", "da", "cd", "bc", "h0", "h1", "h2", "h3", "h4", "h5", "h6", "h7", "hex", "arr", "buffer", "dataView", "bytes", "oKeyPad", "iKeyPad", "innerHash", "duckdb_browser_coi_worker_exports", "__export", "registerWorker", "__rest", "s", "e", "t", "p", "__awaiter", "thisArg", "_arguments", "P", "generator", "adopt", "value", "resolve", "reject", "fulfilled", "step", "e", "rejected", "result", "__values", "o", "s", "m", "i", "__await", "v", "__asyncGenerator", "thisArg", "_arguments", "generator", "g", "q", "verb", "n", "a", "b", "resume", "step", "e", "settle", "r", "fulfill", "reject", "value", "f", "__asyncDelegator", "o", "i", "p", "__asyncValues", "m", "__values", "resolve", "d", "buffer_exports", "__export", "compareArrayLike", "joinUint8Arrays", "memcpy", "rebaseValueOffsets", "toArrayBufferView", "toArrayBufferViewAsyncIterator", "toArrayBufferViewIterator", "toBigInt64Array", "toBigUint64Array", "toFloat32Array", "toFloat32ArrayAsyncIterator", "toFloat32ArrayIterator", "toFloat64Array", "toFloat64ArrayAsyncIterator", "toFloat64ArrayIterator", "toInt16Array", "toInt16ArrayAsyncIterator", "toInt16ArrayIterator", "toInt32Array", "toInt32ArrayAsyncIterator", "toInt32ArrayIterator", "toInt8Array", "toInt8ArrayAsyncIterator", "toInt8ArrayIterator", "toUint16Array", "toUint16ArrayAsyncIterator", "toUint16ArrayIterator", "toUint32Array", "toUint32ArrayAsyncIterator", "toUint32ArrayIterator", "toUint8Array", "toUint8ArrayAsyncIterator", "toUint8ArrayIterator", "toUint8ClampedArray", "toUint8ClampedArrayAsyncIterator", "toUint8ClampedArrayIterator", "decoder", "decodeUtf8", "buffer", "encoder", "encodeUtf8", "value", "isNumber", "x", "isBoolean", "isFunction", "isObject", "isPromise", "isIterable", "x", "isObject", "isFunction", "isAsyncIterable", "isArrowJSON", "isIteratorResult", "x", "isObject", "isFileHandle", "x", "isObject", "isFunction", "isNumber", "isFetchResponse", "x", "isObject", "isReadableDOMStream", "isReadableInterop", "isWritableDOMStream", "isFunction", "isWritableNodeStream", "isBoolean", "isReadableNodeStream", "isFlatbuffersByteBuffer", "SharedArrayBuf", "collapseContiguousByteRanges", "chunks", "result", "xOffset", "yOffset", "xLen", "yLen", "x", "y", "i", "j", "n", "memcpy", "target", "source", "targetByteOffset", "sourceByteLength", "targetByteLength", "dst", "src", "joinUint8Arrays", "size", "byteLength", "b", "sliced", "buffer", "offset", "index", "length", "toArrayBufferView", "ArrayBufferViewCtor", "input", "value", "isIteratorResult", "encodeUtf8", "isFlatbuffersByteBuffer", "toInt8Array", "toInt16Array", "toInt32Array", "toBigInt64Array", "toUint8Array", "toUint16Array", "toUint32Array", "toBigUint64Array", "toFloat32Array", "toFloat64Array", "toUint8ClampedArray", "pump", "iterator", "toArrayBufferViewIterator", "ArrayCtor", "wrap", "buffers", "isIterable", "__yieldStar", "it", "r", "toInt8ArrayIterator", "toInt16ArrayIterator", "toInt32ArrayIterator", "toUint8ArrayIterator", "toUint16ArrayIterator", "toUint32ArrayIterator", "toFloat32ArrayIterator", "toFloat64ArrayIterator", "toUint8ClampedArrayIterator", "toArrayBufferViewAsyncIterator", "isPromise", "__await", "__asyncDelegator", "__asyncValues", "__asyncGenerator", "emit", "isAsyncIterable", "toInt8ArrayAsyncIterator", "toInt16ArrayAsyncIterator", "toInt32ArrayAsyncIterator", "toUint8ArrayAsyncIterator", "toUint16ArrayAsyncIterator", "toUint32ArrayAsyncIterator", "toFloat32ArrayAsyncIterator", "toFloat64ArrayAsyncIterator", "toUint8ClampedArrayAsyncIterator", "rebaseValueOffsets", "valueOffsets", "compareArrayLike", "a", "adapters_default", "source", "pump", "fromIterable", "fromAsyncIterable", "fromDOMStream", "stream", "fromNodeStream", "options", "iterator", "done", "threw", "buffers", "buffer", "cmd", "size", "bufferLength", "byteRange", "joinUint8Arrays", "it", "toUint8ArrayIterator", "e", "__await", "toUint8ArrayAsyncIterator", "AdaptiveByteReader", "toUint8Array", "reason", "reader", "result", "onEvent", "event", "handler", "_", "resolve", "r", "events", "err", "x", "cleanup", "reject", "evt", "fn", "destroy", "MetadataVersion", "UnionMode", "Precision", "DateUnit", "TimeUnit", "IntervalUnit", "int32", "float32", "float64", "isLittleEndian", "Encoding", "ByteBuffer", "_ByteBuffer", "bytes_", "byte_size", "position", "offset", "int32", "float32", "isLittleEndian", "float64", "value", "result", "i", "bb_pos", "vtable_offset", "vtable", "opt_encoding", "length", "utf8bytes", "Encoding", "o", "ident", "listAccessor", "listLength", "ret", "val", "Builder", "_Builder", "opt_initial_size", "initial_size", "ByteBuffer", "forceDefaults", "size", "additional_bytes", "align_size", "old_buf_size", "byte_size", "i", "value", "voffset", "defaultValue", "obj", "bb", "new_buf_size", "nbb", "offset", "numfields", "vtableloc", "trimmed_size", "standard_fields", "len", "existing_vtable", "vt1", "outer_loop", "vt2", "j", "root_table", "opt_file_identifier", "opt_size_prefix", "size_prefix", "file_identifier", "table", "field", "table_start", "vtable_start", "elem_size", "num_elems", "alignment", "s", "utf8", "v", "list", "ret", "val", "startFunc", "BodyCompressionMethod", "CompressionType", "BodyCompression", "_BodyCompression", "i", "bb", "obj", "offset", "CompressionType", "BodyCompressionMethod", "builder", "codec", "method", "Buffer", "i", "bb", "builder", "offset", "length", "FieldNode", "i", "bb", "builder", "length", "null_count", "RecordBatch", "_RecordBatch", "i", "bb", "obj", "offset", "index", "FieldNode", "Buffer", "BodyCompression", "builder", "length", "nodesOffset", "numElems", "buffersOffset", "compressionOffset", "DictionaryBatch", "_DictionaryBatch", "i", "bb", "obj", "offset", "RecordBatch", "builder", "id", "dataOffset", "isDelta", "Endianness", "DictionaryKind", "Int", "_Int", "i", "bb", "obj", "offset", "builder", "bitWidth", "isSigned", "DictionaryEncoding", "_DictionaryEncoding", "i", "bb", "obj", "offset", "Int", "DictionaryKind", "builder", "id", "indexTypeOffset", "isOrdered", "dictionaryKind", "KeyValue", "_KeyValue", "i", "bb", "obj", "optionalEncoding", "offset", "builder", "keyOffset", "valueOffset", "Binary", "_Binary", "i", "bb", "obj", "builder", "Bool", "_Bool", "i", "bb", "obj", "builder", "Date", "_Date", "i", "bb", "obj", "offset", "DateUnit", "builder", "unit", "Decimal", "_Decimal", "i", "bb", "obj", "offset", "builder", "precision", "scale", "bitWidth", "Duration", "_Duration", "i", "bb", "obj", "offset", "TimeUnit", "builder", "unit", "FixedSizeBinary", "_FixedSizeBinary", "i", "bb", "obj", "offset", "builder", "byteWidth", "FixedSizeList", "_FixedSizeList", "i", "bb", "obj", "offset", "builder", "listSize", "FloatingPoint", "_FloatingPoint", "i", "bb", "obj", "offset", "Precision", "builder", "precision", "Interval", "_Interval", "i", "bb", "obj", "offset", "IntervalUnit", "builder", "unit", "LargeBinary", "_LargeBinary", "i", "bb", "obj", "builder", "LargeUtf8", "_LargeUtf8", "i", "bb", "obj", "builder", "List", "_List", "i", "bb", "obj", "builder", "Map", "_Map", "i", "bb", "obj", "offset", "builder", "keysSorted", "Null", "_Null", "i", "bb", "obj", "builder", "Struct_", "_Struct_", "i", "bb", "obj", "builder", "Time", "_Time", "i", "bb", "obj", "offset", "TimeUnit", "builder", "unit", "bitWidth", "Timestamp", "_Timestamp", "i", "bb", "obj", "offset", "TimeUnit", "optionalEncoding", "builder", "unit", "timezoneOffset", "Union", "_Union", "i", "bb", "obj", "offset", "UnionMode", "index", "builder", "mode", "typeIdsOffset", "data", "numElems", "Utf8", "_Utf8", "i", "bb", "obj", "builder", "Type", "Field", "_Field", "i", "bb", "obj", "optionalEncoding", "offset", "Type", "DictionaryEncoding", "index", "KeyValue", "builder", "nameOffset", "nullable", "typeType", "typeOffset", "dictionaryOffset", "childrenOffset", "data", "numElems", "customMetadataOffset", "Schema", "_Schema", "i", "bb", "obj", "offset", "Endianness", "index", "Field", "KeyValue", "builder", "endianness", "fieldsOffset", "data", "numElems", "customMetadataOffset", "featuresOffset", "MessageHeader", "Type", "BufferType", "vector_exports", "__export", "clampRange", "createElementComparator", "wrapIndex", "pretty_exports", "__export", "valueToString", "valueToString", "x", "_", "y", "bn_exports", "__export", "BN", "bigNumToBigInt", "bigNumToNumber", "bigNumToString", "isArrowBigNumSymbol", "bigIntToNumber", "number", "divideBigInts", "divisor", "isArrowBigNumSymbol", "BigNum", "x", "xs", "toArrayBufferView", "bigNumToString", "scale", "bigNumToNumber", "hint", "bigNumToBigInt", "SignedBigNum", "args", "UnsignedBigNum", "DecimalBigNum", "TWO_TO_THE_64", "TWO_TO_THE_64_MINUS_1", "bn", "buffer", "byteOffset", "byteLength", "signed", "words", "negative", "number", "i", "word", "denominator", "quotient", "remainder", "bigIntToNumber", "a", "bigIntArray", "unsignedBigNumToString", "array", "carry", "elem", "updated", "negated", "digits", "base64", "base32", "checks", "n", "BN", "_BN", "num", "isSigned", "DataType", "_DataType", "x", "Type", "UnionMode", "typeId", "_a", "proto", "Null", "_b", "Int_", "isSigned", "bitWidth", "_c", "Int8", "Int_", "Int16", "Int32", "Int64", "Uint8", "Uint16", "Uint32", "Uint64", "Float", "DataType", "precision", "Type", "Precision", "_d", "proto", "Float16", "Float32", "Float64", "Binary", "_e", "LargeBinary", "_f", "Utf8", "_g", "LargeUtf8", "_h", "Bool", "_j", "Decimal", "scale", "bitWidth", "_k", "Date_", "unit", "DateUnit", "_l", "Time_", "DataType", "unit", "bitWidth", "Type", "TimeUnit", "_m", "proto", "Timestamp_", "DataType", "unit", "timezone", "Type", "TimeUnit", "_o", "proto", "Interval_", "DataType", "unit", "Type", "IntervalUnit", "_p", "proto", "Duration", "DataType", "unit", "Type", "TimeUnit", "_q", "proto", "List", "DataType", "child", "Type", "_r", "proto", "Struct", "children", "f", "_s", "Union_", "mode", "typeIds", "typeIdToChildIndex", "typeId", "idx", "x", "_t", "FixedSizeBinary", "DataType", "byteWidth", "Type", "_u", "proto", "FixedSizeList", "listSize", "child", "_v", "Map_", "entries", "keysSorted", "_y", "key", "_z", "val", "_0", "f", "_w", "getId", "atomicDictionaryId", "Dictionary", "dictionary", "indices", "id", "isOrdered", "bigIntToNumber", "_x", "strideForType", "type", "Visitor", "nodes", "args", "node", "x", "throwIfNotFound", "getVisitFn", "typeId", "getVisitFnByTypeId", "_node", "_args", "visitor", "Type", "DataType", "inferDType", "dtype", "fn", "type", "bitWidth", "isSigned", "Precision", "TimeUnit", "DateUnit", "IntervalUnit", "UnionMode", "math_exports", "__export", "float64ToUint16", "uint16ToFloat64", "f64", "u32", "h", "expo", "sigf", "sign", "d", "SetVisitor", "Visitor", "wrapSet", "fn", "data", "_1", "_2", "setEpochMsToDays", "index", "epochMs", "setVariableWidthBytes", "values", "valueOffsets", "value", "x", "bigIntToNumber", "y", "setBool", "offset", "val", "idx", "setInt", "setFloat", "setFloat16", "float64ToUint16", "setAnyFloat", "Precision", "setDateDay", "setDateMillisecond", "setFixedSizeBinary", "stride", "setBinary", "setUtf8", "encodeUtf8", "setDate", "DateUnit", "setTimestampSecond", "setTimestampMillisecond", "setTimestampMicrosecond", "setTimestampNanosecond", "setTimestamp", "TimeUnit", "setTimeSecond", "setTimeMillisecond", "setTimeMicrosecond", "setTimeNanosecond", "setTime", "setDecimal", "setList", "set", "instance", "itr", "end", "setMap", "entries", "_setStructArrayValue", "o", "v", "c", "_", "i", "_setStructVectorValue", "_setStructMapValue", "f", "_setStructObjectValue", "setStruct", "childSetters", "Vector", "setUnion", "UnionMode", "setDenseUnion", "setSparseUnion", "childIndex", "child", "setDictionary", "_a", "setIntervalValue", "IntervalUnit", "setIntervalDayTime", "setIntervalYearMonth", "setDurationSecond", "setDurationMillisecond", "setDurationMicrosecond", "setDurationNanosecond", "setDuration", "setFixedSizeList", "kParent", "kRowIndex", "StructRow", "parent", "rowIndex", "StructRowProxyHandler", "i", "keys", "json", "j", "n", "instance", "key", "val", "valueToString", "StructRowIterator", "data", "row", "f", "idx", "GetVisitor", "Visitor", "wrapGet", "fn", "data", "_1", "epochDaysToMs", "index", "getNull", "_data", "_index", "getVariableWidthBytes", "values", "valueOffsets", "x", "bigIntToNumber", "y", "getBool", "offset", "idx", "getDateDay", "getDateMillisecond", "getNumeric", "stride", "getFloat16", "uint16ToFloat64", "getBigInts", "getFixedSizeBinary", "getBinary", "getUtf8", "bytes", "decodeUtf8", "getInt", "getFloat", "type", "Precision", "getDate", "DateUnit", "getTimestampSecond", "getTimestampMillisecond", "getTimestampMicrosecond", "divideBigInts", "getTimestampNanosecond", "getTimestamp", "TimeUnit", "getTimeSecond", "getTimeMillisecond", "getTimeMicrosecond", "getTimeNanosecond", "getTime", "getDecimal", "BN", "getList", "children", "begin", "end", "slice", "Vector", "getMap", "child", "MapRow", "getStruct", "StructRow", "getUnion", "UnionMode", "getDenseUnion", "getSparseUnion", "childIndex", "instance", "getDictionary", "_a", "getInterval", "IntervalUnit", "getIntervalDayTime", "getIntervalYearMonth", "interval", "int32s", "getDurationSecond", "getDurationMillisecond", "getDurationMicrosecond", "getDurationNanosecond", "getDuration", "getFixedSizeList", "kKeys", "kVals", "kKeysAsStrings", "_kKeysAsStrings", "MapRow", "slice", "Vector", "MapRowProxyHandler", "MapRowIterator", "keys", "vals", "json", "n", "instance", "key", "val", "valueToString", "i", "row", "idx", "tmp", "clampRange", "source", "begin", "end", "then", "len", "lhs", "rhs", "wrapIndex", "index", "isNaNFast", "value", "createElementComparator", "search", "valueOfSearch", "compareArrayLike", "createMapComparator", "createArrayLikeComparator", "Vector", "createVectorComparator", "createObjectComparator", "comparators", "i", "createSubElementsComparator", "v", "allowEmpty", "keys", "n", "compareArray", "compareObject", "MapRow", "StructRow", "compareVector", "arr", "vec", "obj", "lKeyItr", "rKeyItr", "rValItr", "rVal", "lKey", "rKey", "bit_exports", "__export", "BitIterator", "getBit", "getBool", "packBools", "popcnt_array", "popcnt_bit_range", "popcnt_uint32", "setBool", "truncateBitmap", "_data", "_index", "byte", "bit", "bytes", "index", "value", "offset", "length", "bitmap", "alignedSize", "values", "xs", "i", "b", "begin", "context", "get", "data", "lhs", "rhs", "sum", "rhsInside", "lhsInside", "arr", "byteOffset", "byteLength", "cnt", "pos", "view", "len", "uint32", "kUnknownNullCount", "Data", "_Data", "type", "DataType", "child", "byteLength", "valueOffsets", "values", "nullBitmap", "typeIds", "nullCount", "popcnt_bit_range", "offset", "length", "buffers", "children", "dictionary", "buffer", "strideForType", "index", "union", "indexInChild", "UnionMode", "pos", "value", "prev", "idx", "mask", "byteOffset", "truncateBitmap", "byte", "stride", "typeId", "childStride", "newLength", "Type", "bitmap", "BufferType", "arr", "MakeDataVisitor", "_MakeDataVisitor", "Visitor", "props", "toUint8Array", "data", "toArrayBufferView", "toInt32Array", "toBigInt64Array", "len", "Vector", "makeDataVisitor", "makeData", "ChunkedIterator", "numChunks", "getChunkIterator", "next", "computeChunkNullable", "chunks", "chunk", "computeChunkNullCounts", "nullCount", "computeChunkOffsets", "offsets", "index", "sliceChunks", "begin", "end", "slices", "i", "n", "offset", "length", "from", "to", "binarySearch", "idx", "fn", "lhs", "mid", "rhs", "isChunkedValid", "data", "wrapChunkedCall1", "chunkedFn", "j", "wrapChunkedCall2", "_2", "value", "result", "wrapChunkedIndexOf", "indexOf", "_1", "chunkedIndexOf", "chunkIndex", "fromIndex", "total", "element", "IndexOfVisitor", "Visitor", "nullIndexOf", "data", "searchElement", "indexOfNull", "fromIndex", "nullBitmap", "i", "isValid", "BitIterator", "getBool", "indexOfValue", "Type", "get", "instance", "compare", "createElementComparator", "n", "indexOfUnion", "IteratorVisitor", "Visitor", "vectorIterator", "vector", "type", "DataType", "Precision", "ChunkedIterator", "chunkIndex", "data", "offset", "length", "inner", "VectorIterator", "instance", "visitorsByTypeId", "vectorPrototypesByTypeId", "Vector", "_Vector", "input", "data", "x", "Data", "type", "_b", "get", "set", "indexOf", "unchunkedData", "index", "isChunkedValid", "value", "computeChunkOffsets", "strideForType", "_d", "_c", "byteLength", "computeChunkNullable", "computeChunkNullCounts", "Type", "wrapIndex", "element", "offset", "instance", "others", "begin", "end", "clampRange", "_offsets", "sliceChunks", "length", "stride", "ArrayType", "memo", "values", "chunk_length", "name", "f", "children", "DataType", "dictionary", "MemoizedVector", "newData", "cloned", "_a", "proto", "typeIds", "T", "typeId", "wrapChunkedCall1", "wrapChunkedCall2", "wrapChunkedIndexOf", "_MemoizedVector", "vector", "slice", "cache", "cachedValue", "createIsValidFunction", "nullValues", "value", "fnBody", "noNaNs", "x", "valueToCase", "valueToString", "roundLengthUpToNearest64Bytes", "len", "BPE", "bytesMinus1", "resizeArray", "arr", "memcpy", "BufferBuilder", "bufferType", "initialSize", "stride", "index", "value", "extra", "length", "reserved", "array", "newLength", "DataBufferBuilder", "BitmapBufferBuilder", "idx", "val", "buffer", "byte", "bit", "cur", "OffsetsBufferBuilder", "type", "offset", "Builder", "options", "type", "nulls", "strideForType", "BitmapBufferBuilder", "createIsValidFunction", "Vector", "size", "_offsets", "_values", "_nulls", "_typeIds", "children", "child", "value", "index", "valid", "name", "data", "typeIds", "nullBitmap", "valueOffsets", "length", "nullCount", "makeData", "_a", "_b", "_c", "_d", "FixedWidthBuilder", "opts", "DataBufferBuilder", "values", "VariableWidthBuilder", "OffsetsBufferBuilder", "pending", "current", "MapRow", "kKeys", "isValid", "pendingLength", "Block", "i", "bb", "builder", "offset", "metaDataLength", "bodyLength", "Footer", "_Footer", "i", "bb", "obj", "offset", "MetadataVersion", "Schema", "index", "Block", "KeyValue", "builder", "version", "schemaOffset", "dictionariesOffset", "numElems", "recordBatchesOffset", "customMetadataOffset", "data", "Schema", "_Schema", "fields", "metadata", "dictionaries", "metadataVersion", "MetadataVersion", "generateDictionaryMap", "f", "i", "fieldNames", "names", "fieldIndices", "args", "other", "curFields", "mergeMaps", "newFields", "f2", "newDictionaries", "Field", "_Field", "name", "type", "nullable", "m1", "m2", "DataType", "Builder", "ByteBuffer", "Footer_", "buf", "toUint8Array", "footer", "Footer", "schema", "Schema", "OffHeapFooter", "b", "schemaOffset", "rb", "FileBlock", "recordBatchesOffset", "db", "dictionaryBatchesOffset", "MetadataVersion", "version", "recordBatches", "dictionaryBatches", "block", "i", "index", "OffHeapFooter", "Footer_", "schema", "_footer", "index", "fileBlock", "FileBlock", "_FileBlock", "block", "b", "metaDataLength", "offset", "bodyLength", "Block", "bigIntToNumber", "ITERATOR_DONE", "ArrowJSON", "_json", "ReadableInterop", "writable", "options", "duplex", "AsyncQueue", "r", "reason", "value", "resolvers", "adapters_default", "_", "size", "_args", "resolve", "reject", "AsyncByteQueue", "AsyncQueue", "value", "toUint8Array", "sync", "decodeUtf8", "joinUint8Arrays", "__awaiter", "buffers", "byteLength", "_d", "_e", "__asyncValues", "_f", "_a", "_c", "chunk", "ByteStream", "source", "ByteStreamSource", "adapters_default", "size", "AsyncByteStream", "_AsyncByteStream", "AsyncByteStreamSource", "isReadableNodeStream", "isReadableDOMStream", "isFetchResponse", "isIterable", "isPromise", "isAsyncIterable", "reason", "cmd", "ITERATOR_DONE", "r", "size_1", "result", "RandomAccessFile", "ByteStream", "buffer", "byteLength", "toUint8Array", "position", "byteOffset", "nBytes", "size", "buf", "end", "value", "AsyncRandomAccessFile", "AsyncByteStream", "file", "__awaiter", "pos", "offset", "bytesRead", "f", "int_exports", "__export", "BaseInt64", "Int128", "Int64", "Uint64", "intAsHex", "value", "kInt32DecimalDigits", "kPowersOfTen", "BaseInt64", "buffer", "other", "L", "R", "product", "sum", "Uint64", "_Uint64", "val", "out_buffer", "num", "str", "length", "out", "posn", "group", "chunk", "multiple", "values", "data", "i", "n", "left", "right", "Int64", "_Int64", "this_high", "other_high", "negate", "Int128", "_Int128", "L0", "L1", "L2", "L3", "R0", "R1", "R2", "R3", "sums", "VectorLoader", "Visitor", "bytes", "nodes", "buffers", "dictionaries", "metadataVersion", "MetadataVersion", "node", "Field", "type", "length", "makeData", "nullCount", "UnionMode", "buffer", "_type", "offset", "JSONVectorLoader", "sources", "packBools", "toArrayBufferView", "DataType", "Int64", "DateUnit", "Int128", "binaryDataFromJSON", "encodeUtf8", "x", "values", "joined", "data", "i", "BinaryBuilder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "toUint8Array", "pending", "pendingLength", "offsets", "data", "offset", "length", "LargeBinaryBuilder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "toUint8Array", "pending", "pendingLength", "offsets", "data", "offset", "length", "BoolBuilder", "Builder", "options", "BitmapBufferBuilder", "index", "value", "DateBuilder", "FixedWidthBuilder", "setDate", "DateDayBuilder", "setDateDay", "DateMillisecondBuilder", "setDateMillisecond", "DecimalBuilder", "FixedWidthBuilder", "setDecimal", "DictionaryBuilder", "Builder", "type", "nulls", "hashFn", "Dictionary", "makeBuilder", "value", "index", "valid", "indices", "keysToIndices", "key", "idx", "prev", "curr", "data", "val", "FixedSizeBinaryBuilder", "FixedWidthBuilder", "setFixedSizeBinary", "FixedSizeListBuilder", "Builder", "index", "value", "child", "start", "i", "n", "name", "childIndex", "FixedSizeList", "Field", "FloatBuilder", "FixedWidthBuilder", "index", "value", "Float16Builder", "float64ToUint16", "Float32Builder", "Float64Builder", "IntervalBuilder", "FixedWidthBuilder", "setIntervalValue", "IntervalDayTimeBuilder", "setIntervalDayTime", "IntervalYearMonthBuilder", "setIntervalYearMonth", "DurationBuilder", "FixedWidthBuilder", "setDuration", "DurationSecondBuilder", "setDurationSecond", "DurationMillisecondBuilder", "setDurationMillisecond", "DurationMicrosecondBuilder", "setDurationMicrosecond", "DurationNanosecondBuilder", "setDurationNanosecond", "IntBuilder", "FixedWidthBuilder", "index", "value", "Int8Builder", "Int16Builder", "Int32Builder", "Int64Builder", "Uint8Builder", "Uint16Builder", "Uint32Builder", "Uint64Builder", "ListBuilder", "VariableWidthBuilder", "opts", "OffsetsBufferBuilder", "child", "name", "List", "Field", "pending", "offsets", "index", "value", "v", "n", "start", "i", "MapBuilder", "VariableWidthBuilder", "index", "value", "row", "pending", "current", "child", "name", "Map_", "Field", "offsets", "idx", "end", "val", "NullBuilder", "Builder", "index", "value", "valid", "StructBuilder", "Builder", "index", "value", "children", "type", "_", "i", "f", "valid", "child", "name", "childIndex", "Struct", "Field", "TimestampBuilder", "FixedWidthBuilder", "setTimestamp", "TimestampSecondBuilder", "setTimestampSecond", "TimestampMillisecondBuilder", "setTimestampMillisecond", "TimestampMicrosecondBuilder", "setTimestampMicrosecond", "TimestampNanosecondBuilder", "setTimestampNanosecond", "TimeBuilder", "FixedWidthBuilder", "setTime", "TimeSecondBuilder", "setTimeSecond", "TimeMillisecondBuilder", "setTimeMillisecond", "TimeMicrosecondBuilder", "setTimeMicrosecond", "TimeNanosecondBuilder", "setTimeNanosecond", "UnionBuilder", "Builder", "options", "DataBufferBuilder", "value", "childTypeId", "index", "childIndex", "child", "name", "children", "mode", "typeIds", "fields", "Field", "Union_", "builder", "offset", "SparseUnionBuilder", "DenseUnionBuilder", "id", "denseIndex", "Utf8Builder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "encodeUtf8", "pending", "pendingLength", "BinaryBuilder", "LargeUtf8Builder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "encodeUtf8", "pending", "pendingLength", "LargeBinaryBuilder", "GetBuilderCtor", "Visitor", "NullBuilder", "BoolBuilder", "IntBuilder", "Int8Builder", "Int16Builder", "Int32Builder", "Int64Builder", "Uint8Builder", "Uint16Builder", "Uint32Builder", "Uint64Builder", "FloatBuilder", "Float16Builder", "Float32Builder", "Float64Builder", "Utf8Builder", "LargeUtf8Builder", "BinaryBuilder", "LargeBinaryBuilder", "FixedSizeBinaryBuilder", "DateBuilder", "DateDayBuilder", "DateMillisecondBuilder", "TimestampBuilder", "TimestampSecondBuilder", "TimestampMillisecondBuilder", "TimestampMicrosecondBuilder", "TimestampNanosecondBuilder", "TimeBuilder", "TimeSecondBuilder", "TimeMillisecondBuilder", "TimeMicrosecondBuilder", "TimeNanosecondBuilder", "DecimalBuilder", "ListBuilder", "StructBuilder", "UnionBuilder", "DenseUnionBuilder", "SparseUnionBuilder", "DictionaryBuilder", "IntervalBuilder", "IntervalDayTimeBuilder", "IntervalYearMonthBuilder", "DurationBuilder", "DurationSecondBuilder", "DurationMillisecondBuilder", "DurationMicrosecondBuilder", "DurationNanosecondBuilder", "FixedSizeListBuilder", "MapBuilder", "instance", "TypeComparator", "Visitor", "schema", "other", "fields", "others", "f", "field", "compareConstructor", "type", "compareAny", "compareInt", "compareFloat", "compareFixedSizeBinary", "compareDate", "compareTimestamp", "compareTime", "compareList", "instance", "compareStruct", "compareUnion", "x", "i", "compareDictionary", "compareInterval", "compareDuration", "compareFixedSizeList", "compareMap", "compareSchemas", "compareFields", "compareTypes", "makeBuilder", "options", "type", "builder", "instance", "children", "defaultOptions", "getChildOptions", "_", "i", "name", "index", "field", "opts", "distributeVectorsIntoRecordBatches", "schema", "vecs", "uniformlyDistributeChunksAcrossRecordBatches", "v", "cols", "fields", "batches", "memo", "n", "c", "numBatches", "batchLength", "i", "numColumns", "child", "children", "distributeChildren", "makeData", "Struct", "data", "RecordBatch", "columns", "nullBitmapSize", "length", "field", "_a", "Table", "_Table", "args", "Schema", "schema", "offsets", "unwrap", "x", "RecordBatch", "Data", "Struct", "v", "keys", "vecs", "k", "Vector", "batchSchema", "i", "Field", "batches", "distributeVectorsIntoRecordBatches", "_c", "_b", "batch", "compareSchemas", "computeChunkOffsets", "data", "numRows", "computeChunkNullCounts", "index", "wrapIndex", "value", "element", "offset", "instance", "others", "begin", "end", "clampRange", "sliceChunks", "chunk", "name", "f", "type", "empty", "makeData", "child", "Null", "fields", "field", "children", "_", "columnNames", "nameToIndex", "m", "columnName", "columnIndices", "other", "indices", "oldToNew", "memo", "f2", "newIdx", "columns", "j", "_a", "proto", "wrapChunkedCall1", "isChunkedValid", "Type", "wrapChunkedCall2", "wrapChunkedIndexOf", "RecordBatch", "_RecordBatch", "args", "Schema", "makeData", "Struct", "f", "Data", "ensureSameLengthData", "obj", "fields", "children", "length", "memo", "name", "i", "Field", "schema", "data", "collectDictionaries", "index", "instance", "wrapIndex", "value", "element", "offset", "Vector", "others", "Table", "begin", "end", "slice", "_b", "child", "Null", "field", "columnNames", "type", "columnIndices", "subset", "_a", "proto", "chunks", "maxLength", "max", "col", "nullBitmapSize", "idx", "chunk", "dictionaries", "n", "next", "_c", "DataType", "id", "_InternalEmptyPlaceholderRecordBatch", "Message", "_Message", "i", "bb", "obj", "offset", "MetadataVersion", "MessageHeader", "index", "KeyValue", "builder", "version", "headerType", "headerOffset", "bodyLength", "customMetadataOffset", "data", "numElems", "TypeAssembler", "Visitor", "node", "builder", "_node", "b", "Null", "Int", "FloatingPoint", "Binary", "LargeBinary", "Bool", "Utf8", "LargeUtf8", "Decimal", "Date", "Time", "timezone", "Timestamp", "Interval", "Duration", "List", "Struct_", "Union", "typeIds", "indexType", "DictionaryEncoding", "FixedSizeBinary", "FixedSizeList", "Map", "instance", "schemaFromJSON", "_schema", "dictionaries", "Schema", "schemaFieldsFromJSON", "customMetadataFromJSON", "recordBatchFromJSON", "b", "RecordBatch", "fieldNodesFromJSON", "buffersFromJSON", "dictionaryBatchFromJSON", "DictionaryBatch", "f", "Field", "fieldChildrenFromJSON", "_field", "xs", "fieldNodes", "column", "FieldNode", "nullCountFromJSON", "buffers", "i", "BufferRegion", "validity", "sum", "val", "fieldFromJSON", "id", "keys", "field", "dictMeta", "type", "dictType", "typeFromJSON", "indexTypeFromJSON", "Int32", "Dictionary", "metadata", "key", "value", "_type", "Int_", "children", "typeId", "Null", "Binary", "LargeBinary", "Utf8", "LargeUtf8", "Bool", "List", "Struct", "t", "Float", "Precision", "Decimal", "Date_", "DateUnit", "Time_", "TimeUnit", "Timestamp_", "Interval_", "IntervalUnit", "Duration", "m", "ms", "mode", "Union_", "UnionMode", "FixedSizeBinary", "FixedSizeList", "Map_", "Builder", "ByteBuffer", "Message", "_Message", "msg", "headerType", "message", "MetadataVersion", "messageHeaderFromJSON", "buf", "toUint8Array", "_message", "bodyLength", "version", "decodeMessageHeader", "b", "headerOffset", "Schema", "RecordBatch", "DictionaryBatch", "header", "MessageHeader", "bigIntToNumber", "length", "nodes", "buffers", "data", "id", "isDelta", "BufferRegion", "offset", "FieldNode", "nullCount", "type", "Field", "encodeField", "decodeField", "fieldFromJSON", "encodeSchema", "decodeSchema", "schemaFromJSON", "encodeRecordBatch", "decodeRecordBatch", "recordBatchFromJSON", "encodeDictionaryBatch", "decodeDictionaryBatch", "dictionaryBatchFromJSON", "encodeFieldNode", "decodeFieldNode", "encodeBufferRegion", "decodeBufferRegion", "_schema", "dictionaries", "fields", "decodeSchemaFields", "decodeCustomMetadata", "batch", "decodeFieldNodes", "decodeBuffers", "f", "i", "j", "n", "bufferRegions", "schema", "decodeFieldChildren", "field", "children", "keys", "dictType", "dictMeta", "decodeFieldType", "decodeIndexType", "Int32", "Dictionary", "parent", "entry", "key", "_type", "Int_", "typeId", "Type", "Null", "Binary", "LargeBinary", "Utf8", "LargeUtf8", "Bool", "List", "Struct", "t", "Int", "FloatingPoint", "Float", "Decimal", "Date", "Date_", "Time", "Time_", "Timestamp", "Timestamp_", "Interval", "Interval_", "Duration", "Union", "Union_", "FixedSizeBinary", "FixedSizeList", "Map", "Map_", "fieldOffsets", "fieldsVectorOffset", "metadataOffset", "k", "v", "val", "KeyValue", "platformIsLittleEndian", "Endianness", "nameOffset", "typeOffset", "dictionaryOffset", "DataType", "instance", "childOffsets", "childrenVectorOffset", "recordBatch", "nodesVectorOffset", "b_", "buffersVectorOffset", "dictionaryBatch", "dataOffset", "node", "Buffer", "buffer", "invalidMessageType", "type", "MessageHeader", "nullMessage", "invalidMessageMetadata", "expected", "actual", "invalidMessageBodyLength", "MessageReader", "source", "ByteStream", "r", "ITERATOR_DONE", "value", "bodyLength", "buf", "toUint8Array", "throwIfNull", "message", "schema", "PADDING", "bb", "ByteBuffer", "len", "metadataLength", "Message", "AsyncMessageReader", "byteLength", "AsyncByteStream", "isFileHandle", "AsyncRandomAccessFile", "JSONMessageReader", "ArrowJSON", "_json", "batch", "_bodyLength", "flattenDataSources", "xs", "buffers", "column", "MAGIC_STR", "MAGIC", "i", "checkForMagicArrowString", "buffer", "index", "magicLength", "magicAndPadding", "magicX2AndPadding", "RecordBatchReader", "_RecordBatchReader", "ReadableInterop", "impl", "value", "schema", "options", "opening", "isPromise", "index", "adapters_default", "writableStrategy", "readableStrategy", "source", "isArrowJSON", "fromArrowJSON", "isFileHandle", "fromFileHandle", "__awaiter", "isFetchResponse", "isReadableDOMStream", "isReadableNodeStream", "isAsyncIterable", "fromAsyncByteStream", "AsyncByteStream", "fromByteStream", "ByteStream", "readAllSync", "readAllAsync", "isIterable", "isIteratorResult", "RecordBatchStreamReader", "_impl", "__asyncGenerator", "__await", "__yieldStar", "__asyncDelegator", "__asyncValues", "AsyncRecordBatchStreamReader", "batches", "_d", "_e", "_f", "_a", "_c", "batch", "RecordBatchFileReader", "AsyncRecordBatchFileReader", "RecordBatchReaderImpl", "dictionaries", "header", "body", "children", "data", "makeData", "Struct", "RecordBatch", "id", "isDelta", "dictionary", "type", "Vector", "types", "VectorLoader", "RecordBatchStreamReaderImpl", "JSONMessageReader", "MessageReader", "shouldAutoDestroy", "ITERATOR_DONE", "message", "reader", "buffer", "vector", "_InternalEmptyPlaceholderRecordBatch", "AsyncRecordBatchStreamReaderImpl", "AsyncMessageReader", "RecordBatchFileReaderImpl", "RandomAccessFile", "block", "MessageHeader", "_handle", "offset", "magicAndPadding", "length", "Footer_", "AsyncRecordBatchFileReaderImpl", "rest", "byteLength", "AsyncRandomAccessFile", "_super", "RecordBatchJSONReaderImpl", "JSONVectorLoader", "self", "bytes", "magicLength", "checkForMagicArrowString", "size", "file", "magicX2AndPadding", "VectorAssembler", "_VectorAssembler", "Visitor", "args", "unwrap", "nodes", "node", "RecordBatch", "assembler", "data", "Vector", "type", "DataType", "length", "FieldNode", "nullCount", "addBuffer", "truncateBitmap", "_null", "values", "byteLength", "BufferRegion", "assembleUnion", "typeIds", "valueOffsets", "UnionMode", "assembleNestedVector", "shiftedOffsets", "childOffsets", "childLengths", "typeId", "shift", "index", "_a", "child", "childIndex", "childOffset", "childLength", "assembleBoolVector", "packBools", "assembleFlatVector", "assembleFlatListVector", "begin", "bigIntToNumber", "end", "rebaseValueOffsets", "assembleListVector", "_", "i", "RecordBatchWriter", "ReadableInterop", "options", "writableStrategy", "readableStrategy", "AsyncByteQueue", "isObject", "sync", "input", "isPromise", "x", "isAsyncIterable", "writeAllAsync", "writeAll", "reason", "sink", "schema", "isWritableDOMStream", "isWritableNodeStream", "compareSchemas", "payload", "Table", "RecordBatch", "_InternalEmptyPlaceholderRecordBatch", "isIterable", "message", "alignment", "a", "buffer", "Message", "flatbufferSize", "prefixSize", "alignedSize", "nPaddingBytes", "MessageHeader", "FileBlock", "chunk", "toUint8Array", "MAGIC", "nBytes", "batch", "byteLength", "nodes", "bufferRegions", "buffers", "VectorAssembler", "recordBatch", "dictionary", "id", "isDelta", "Vector", "dictionaryBatch", "DictionaryBatch", "size", "padding", "i", "n", "chunks", "_a", "prevDictionary", "offset", "_b", "index", "RecordBatchStreamWriter", "_RecordBatchStreamWriter", "writer", "RecordBatchFileWriter", "_RecordBatchFileWriter", "Footer_", "MetadataVersion", "writeAll", "writer", "input", "chunks", "Table", "batch", "writeAllAsync", "batches", "_a", "batches_1", "__asyncValues", "batches_1_1", "_b", "_d", "toDOMStream", "source", "options", "isAsyncIterable", "asyncIterableAsReadableDOMStream", "isIterable", "iterableAsReadableDOMStream", "it", "bm", "hwm", "controller", "next", "buf", "r", "size", "toUint8Array", "builderThroughDOMStream", "options", "BuilderTransform", "readableStrategy", "writableStrategy", "queueingStrategy", "builderOptions", "__rest", "makeBuilder", "chunkLength", "chunkByteLength", "readableHighWaterMark", "writableHighWaterMark", "c", "value", "bufferedSize", "builder", "controller", "chunk", "_a", "recordBatchReaderThroughDOMStream", "writableStrategy", "readableStrategy", "queue", "AsyncByteQueue", "reader", "readable", "controller", "next", "open", "RecordBatchReader", "size", "r", "recordBatchWriterThroughDOMStream", "writableStrategy", "readableStrategy", "writer", "reader", "AsyncByteStream", "readable", "controller", "next", "buf", "size", "tableToIPC", "table", "type", "RecordBatchStreamWriter", "RecordBatchFileWriter", "util", "bn_exports", "int_exports", "bit_exports", "math_exports", "buffer_exports", "vector_exports", "pretty_exports", "compareSchemas", "compareFields", "compareTypes", "adapters_default", "toDOMStream", "Builder", "builderThroughDOMStream", "RecordBatchReader", "recordBatchReaderThroughDOMStream", "RecordBatchFileReader", "RecordBatchStreamReader", "RecordBatchWriter", "recordBatchWriterThroughDOMStream", "RecordBatchFileWriter", "RecordBatchStreamWriter", "arrowToSQLType", "type", "Type", "dec", "c", "arrowToSQLField", "map_", "name", "t", "DuckDBConnection", "bindings", "conn", "callback", "text", "buffer", "reader", "RecordBatchReader", "Table", "allowStreamResult", "header", "resolve", "reject", "e", "iter", "ResultStreamIterator", "query", "stmt", "PreparedStatement", "name", "returns", "func", "table", "options", "tableToIPC", "path", "bufferI8", "connectionId", "statementId", "params", "IsArrowBuffer", "status", "IsDuckDBWasmRetry", "TEXT_ENCODER", "TEXT_DECODER", "storeError", "mod", "response", "message", "msgBuffer", "heapAddr", "heapArray", "getTypeSize", "ptype", "ptrToArray", "ptr", "heap", "ptrToUint8Array", "n", "ptrToFloat64Array", "callScalarUDF", "runtime", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "udf", "rawDesc", "desc", "ptrs", "buildResolver", "arg", "_a", "validity", "raw", "strings", "stringLengths", "j", "subarray", "str", "row", "tmp", "children", "attr", "child", "resolver", "data", "argResolvers", "i", "resultDataLen", "resultDataPtr", "resultData", "resultValidityPtr", "resultValidity", "rawResultData", "args", "res", "resultLengthsPtr", "resultDataUTF8", "resultLengths", "totalLength", "utf8", "resultStringPtr", "resultStringBuf", "writerOffset", "resultUTF8", "retLen", "retPtr", "retBuffer", "e", "TextDecoderWrapper", "decoder", "data", "decodeText", "failWith", "mod", "msg", "copyBuffer", "begin", "length", "buffer", "copy", "readString", "callSRet", "mod", "funcName", "argTypes", "args", "stackPointer", "response", "status", "data", "dataSize", "dropResponseBuffers", "FileStatistics", "u8array", "f64", "blocks", "index", "out", "TEXT_ENCODER", "DuckDBBindingsBase", "logger", "runtime", "onProgress", "_", "resolve", "x", "config", "s", "d", "n", "callSRet", "readString", "dropResponseBuffers", "version", "text", "BUF", "TEXT_ENCODER", "bufferPtr", "res", "conn", "DuckDBConnection", "worker", "copyBuffer", "allowStreamResult", "IsDuckDBWasmRetry", "IsArrowBuffer", "name", "returns", "func", "decl", "arrowToSQLType", "def", "statement", "params", "buffer", "options", "optJSON", "path", "k", "arrowToSQLField", "opt", "infoStr", "info", "url", "proto", "directIO", "ptr", "fileName", "protocol", "list", "item", "handle", "filePath", "fromCached", "fileHandle", "e", "handle_inner", "_a", "names", "pointers", "pointerOfArray", "str", "size", "ret", "i", "pointer", "copy", "file", "enable", "FileStatistics", "AsyncDuckDBDispatcher", "entry", "request", "obj", "p", "path", "hasWasmFS", "conn", "_", "c", "result", "transfer", "infos", "buffer", "import_duckdb_coi", "DuckDBBrowserBindings", "DuckDBBindingsBase", "logger", "runtime", "mainModuleURL", "pthreadWorkerURL", "path", "prefix", "imports", "success", "handlers", "response", "_a", "request", "contentLengthHdr", "contentLength", "start", "progress", "tracker", "chunk", "ctrl", "now", "p", "ts", "output", "xhr", "url", "error", "e", "buffer", "DuckDB", "DuckDBBrowserBindings", "logger", "runtime", "mainModuleURL", "pthreadWorkerURL", "moduleOverrides", "opts", "DuckDBWasm", "import_js_sha256", "getHTTPHost", "config", "url", "bucket", "_a", "getS3Params", "method", "_b", "_c", "_d", "parsedS3Url", "parseS3Url", "path", "isPathStyleAccess", "endpointPath", "endpointUrl", "uriEncode", "input", "encode_slash", "hexDigit", "result", "ch", "createS3Headers", "params", "payloadParams", "payloadHash", "res", "signedHeaders", "canonicalRequest", "canonicalRequestHashStr", "stringToSign", "signKey", "kDate", "kRegion", "kService", "signingKey", "signature", "createS3HeadersFromS3Config", "contentType", "payload", "addS3Headers", "xhr", "value", "header", "slashPos", "getHTTPUrl", "parsedUrl", "OPFS_PREFIX_LEN", "PATH_SEP_REGEX", "BROWSER_RUNTIME", "mod", "fileId", "cached", "s", "d", "n", "callSRet", "infoStr", "readString", "dropResponseBuffers", "info", "file", "error", "_a", "filePaths", "protocol", "prepare", "path", "dirHandle", "opfsPath", "fileName", "folders", "folder", "fileHandle", "e", "handle", "result", "filePath", "res", "dbPath", "_mod", "feature", "flags", "_b", "_c", "_d", "_e", "_f", "xhr", "getHTTPUrl", "addS3Headers", "data", "src", "contentLength", "modification_time", "actualContentLength", "contentRange", "contentLength2", "presumedLength", "head", "buffer", "fileSize", "failWith", "pathPtr", "pathLen", "globalInfo", "xhr2", "_fileId", "fileNamePtr", "fileNameLen", "newSize", "buf", "bytes", "location", "sliced", "out", "input", "done", "percentage", "repeat", "fromPtr", "fromLen", "toPtr", "toLen", "from", "to", "key", "value", "_pathPtr", "_pathLen", "response", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "callScalarUDF", "WebWorker", "AsyncDuckDBDispatcher", "response", "transfer", "mainModuleURL", "pthreadWorkerURL", "progress", "DuckDB", "BROWSER_RUNTIME", "registerWorker", "api", "event"]
|
|
7
7
|
}
|