@duckdb/duckdb-wasm 1.27.1-dev123.0 → 1.27.1-dev125.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/bindings/duckdb-eh.js", "../../js-sha256/src/sha256.js", "../src/targets/duckdb-browser-eh.worker.ts", "../../apache-arrow/node_modules/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/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/visitor/visitor/bytelength.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", "../../flatbuffers/mjs/utils.js", "../../flatbuffers/mjs/encoding.js", "../../flatbuffers/mjs/byte-buffer.js", "../../flatbuffers/mjs/builder.js", "../../apache-arrow/fb/fb/key-value.ts", "../../apache-arrow/fb/fb/metadata-version.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/binary.ts", "../../apache-arrow/fb/fb/bool.ts", "../../apache-arrow/fb/fb/date-unit.ts", "../../apache-arrow/fb/fb/date.ts", "../../apache-arrow/fb/fb/decimal.ts", "../../apache-arrow/fb/fb/time-unit.ts", "../../apache-arrow/fb/fb/fixed-size-binary.ts", "../../apache-arrow/fb/fb/fixed-size-list.ts", "../../apache-arrow/fb/fb/precision.ts", "../../apache-arrow/fb/fb/floating-point.ts", "../../apache-arrow/fb/fb/interval-unit.ts", "../../apache-arrow/fb/fb/interval.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-mode.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/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/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/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/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/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/message-header.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/parallel/worker_dispatcher.ts", "../src/bindings/bindings_browser_eh.ts", "../src/bindings/connection.ts", "../src/bindings/udf_runtime.ts", "../src/bindings/runtime.ts", "../src/bindings/file_stats.ts", "../src/bindings/bindings_base.ts", "../src/bindings/bindings_browser_base.ts", "../src/utils/s3_helper.ts", "../src/bindings/runtime_browser.ts"],
4
- "sourcesContent": ["\nvar DuckDB = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;\n return (\nfunction(moduleArg = {}) {\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts==\"function\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");var nodePath=require(\"path\");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:\"utf8\")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:\"utf8\",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module[\"thisProgram\"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\\\/g,\"/\")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module[\"inspect\"]=()=>\"[Emscripten Module object]\"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith(\"file://\")}var wasmBinaryFile;wasmBinaryFile=\"./duckdb-eh.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+binaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(()=>getBinarySync(binaryFile))}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={\"a\":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);wasmMemory=wasmExports[\"fa\"];updateMemoryViews();addOnInit(wasmExports[\"ga\"]);removeRunDependency(\"wasm-instantiate\");return wasmExports}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}if(Module[\"instantiateWasm\"]){try{return Module[\"instantiateWasm\"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name=\"ExitStatus\";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"};var SYSCALLS={varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>>2>>>0];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){readfds>>>=0;writefds>>>=0;exceptfds>>>=0;timeout>>>=0;var total=0;var srcReadLow=readfds?HEAP32[readfds>>>2>>>0]:0,srcReadHigh=readfds?HEAP32[readfds+4>>>2>>>0]:0;var srcWriteLow=writefds?HEAP32[writefds>>>2>>>0]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>>2>>>0]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>>2>>>0]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>>2>>>0]:0)|(writefds?HEAP32[writefds>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds>>>2>>>0]:0);var allHigh=(readfds?HEAP32[readfds+4>>>2>>>0]:0)|(writefds?HEAP32[writefds+4>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=SYSCALLS.getStreamFromFD(fd);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){var timeoutInMillis=-1;if(timeout){var tv_sec=readfds?HEAP32[timeout>>>2>>>0]:0,tv_usec=readfds?HEAP32[timeout+8>>>2>>>0]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>>2>>>0]=dstReadLow;HEAP32[readfds+4>>>2>>>0]=dstReadHigh}if(writefds){HEAP32[writefds>>>2>>>0]=dstWriteLow;HEAP32[writefds+4>>>2>>>0]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>>2>>>0]=dstExceptLow;HEAP32[exceptfds+4>>>2>>>0]=dstExceptHigh}return total}function SOCKFS(){abort(\"missing function: $SOCKFS\")}SOCKFS.stub=true;function FS(){abort(\"missing function: $FS\")}FS.stub=true;var getSocketFromFD=fd=>{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetNtop4=addr=>(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255);var inetNtop6=ints=>{var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;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];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str};var readSockaddr=(sa,salen)=>{var family=HEAP16[sa>>>1>>>0];var port=_ntohs(HEAPU16[sa+2>>>1>>>0]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>>2>>>0];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>>2>>>0],HEAP32[sa+12>>>2>>>0],HEAP32[sa+16>>>2>>>0],HEAP32[sa+20>>>2>>>0]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}};var inetPton4=str=>{var b=str.split(\".\");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;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;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,\"exceeded max address mappings of 65535\");addr=\"172.29.\"+(id&255)+\".\"+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};var getSocketAddress=(addrp,addrlen,allowNull)=>{if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0}function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){buf>>>=0}function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high)}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}}heap[outIdx>>>0]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getdents64(fd,dirp,count){dirp>>>=0;count>>>=0}var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var writeSockaddr=(sa,family,addr,port,addrlen)=>{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>>2>>>0]=16}HEAP16[sa>>>1>>>0]=family;HEAP32[sa+4>>>2>>>0]=addr;HEAP16[sa+2>>>1>>>0]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>>2>>>0]=28}HEAP32[sa>>>2>>>0]=family;HEAP32[sa+8>>>2>>>0]=addr[0];HEAP32[sa+12>>>2>>>0]=addr[1];HEAP32[sa+16>>>2>>>0]=addr[2];HEAP32[sa+20>>>2>>>0]=addr[3];HEAP16[sa+2>>>1>>>0]=_htons(port);break;default:return 5}return 0};function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){optval>>>=0;optlen>>>=0;var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>>2>>>0]=sock.error;HEAP32[optlen>>>2>>>0]=4;sock.error=null;return 0}}return-50}function ___syscall_ioctl(fd,op,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_mkdirat(dirfd,path,mode){path>>>=0}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){buf>>>=0;len>>>=0;addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf>>>0);return msg.buffer.byteLength}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){oldpath>>>=0;newpath>>>=0}function ___syscall_rmdir(path){path>>>=0}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){message>>>=0;length>>>=0;addr>>>=0;addr_len>>>=0}var ___syscall_socket=(domain,type,protocol)=>{};function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0}var nowIsMonotonic=true;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var _abort=()=>{abort(\"\")};function _duckdb_web_fs_directory_create(path,pathLen){return globalThis.DUCKDB_RUNTIME.createDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_list_files(path,pathLen){return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,path,pathLen)}function _duckdb_web_fs_directory_remove(path,pathLen){return globalThis.DUCKDB_RUNTIME.removeDirectory(Module,path,pathLen)}function _duckdb_web_fs_file_close(fileId){return globalThis.DUCKDB_RUNTIME.closeFile(Module,fileId)}function _duckdb_web_fs_file_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkFile(Module,path,pathLen)}function _duckdb_web_fs_file_get_last_modified_time(fileId){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,fileId)}function _duckdb_web_fs_file_move(from,fromLen,to,toLen){return globalThis.DUCKDB_RUNTIME.moveFile(Module,from,fromLen,to,toLen)}function _duckdb_web_fs_file_open(fileId,flags){return globalThis.DUCKDB_RUNTIME.openFile(Module,fileId,flags)}function _duckdb_web_fs_file_read(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.readFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_file_truncate(fileId,newSize){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,fileId,newSize)}function _duckdb_web_fs_file_write(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.writeFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_get_default_data_protocol(Module){return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(Module)}function _duckdb_web_fs_glob(path,pathLen){return globalThis.DUCKDB_RUNTIME.glob(Module,path,pathLen)}function _duckdb_web_test_platform_feature(feature){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,feature)}function _duckdb_web_udf_scalar_call(funcId,descPtr,descSize,ptrsPtr,ptrsSize,response){return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,funcId,descPtr,descSize,ptrsPtr,ptrsSize,response)}var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return getHeapMax()}var _emscripten_get_now;_emscripten_get_now=()=>performance.now();function _emscripten_memcpy_js(dest,src,num){dest>>>=0;src>>>=0;num>>>=0;return HEAPU8.copyWithin(dest>>>0,src>>>0,src+num>>>0)}var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++>>>0>>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0>>>0]=0};var _environ_get=function(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>>2>>>0]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=function(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0};var _fd_close=fd=>52;function _fd_fdstat_get(fd,pbuf){pbuf>>>=0;var rightsBase=0;var rightsInheriting=0;var flags=0;{var type=2;if(fd==0){rightsBase=2}else if(fd==1||fd==2){rightsBase=64}flags=1}HEAP8[pbuf>>>0>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>>2>>>0]=tempI64[0],HEAP32[pbuf+12>>>2>>>0]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>>2>>>0]=tempI64[0],HEAP32[pbuf+20>>>2>>>0]=tempI64[1];return 0}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){iov>>>=0;iovcnt>>>=0;var offset=convertI32PairToI53Checked(offset_low,offset_high);pnum>>>=0;return 52}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){iov>>>=0;iovcnt>>>=0;var offset=convertI32PairToI53Checked(offset_low,offset_high);pnum>>>=0;return 52}function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);newOffset>>>=0;return 70}var _fd_sync=fd=>52;var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j>>>0])}num+=len}HEAPU32[pnum>>>2>>>0]=num;return 0}function _getaddrinfo(node,service,hint,out){node>>>=0;service>>>=0;hint>>>=0;out>>>=0;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>>2>>>0]=family;HEAP32[ai+8>>>2>>>0]=type;HEAP32[ai+12>>>2>>>0]=proto;HEAPU32[ai+24>>>2>>>0]=canon;HEAPU32[ai+20>>>2>>>0]=sa;if(family===10){HEAP32[ai+16>>>2>>>0]=28}else{HEAP32[ai+16>>>2>>>0]=16}HEAP32[ai+28>>>2>>>0]=0;return ai}if(hint){flags=HEAP32[hint>>>2>>>0];family=HEAP32[hint+4>>>2>>>0];type=HEAP32[hint+8>>>2>>>0];proto=HEAP32[hint+12>>>2>>>0]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>>2>>>0]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}var initRandomFill=()=>{if(typeof crypto==\"object\"&&typeof crypto[\"getRandomValues\"]==\"function\"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require(\"crypto\");var randomFillSync=crypto_module[\"randomFillSync\"];if(randomFillSync){return view=>crypto_module[\"randomFillSync\"](view)}var randomBytes=crypto_module[\"randomBytes\"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort(\"initRandomDevice\")};var randomFill=view=>(randomFill=initRandomFill())(view);function _getentropy(buffer,size){buffer>>>=0;size>>>=0;randomFill(HEAPU8.subarray(buffer>>>0,buffer+size>>>0));return 0}function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){sa>>>=0;node>>>=0;serv>>>=0;var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=\"\"+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};function _strftime(s,maxsize,format,tm){s>>>=0;maxsize>>>=0;format>>>=0;tm>>>=0;var tm_zone=HEAPU32[tm+40>>>2>>>0];var date={tm_sec:HEAP32[tm>>>2>>>0],tm_min:HEAP32[tm+4>>>2>>>0],tm_hour:HEAP32[tm+8>>>2>>>0],tm_mday:HEAP32[tm+12>>>2>>>0],tm_mon:HEAP32[tm+16>>>2>>>0],tm_year:HEAP32[tm+20>>>2>>>0],tm_wday:HEAP32[tm+24>>>2>>>0],tm_yday:HEAP32[tm+28>>>2>>>0],tm_isdst:HEAP32[tm+32>>>2>>>0],tm_gmtoff:HEAP32[tm+36>>>2>>>0],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value==\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={\"%a\":date=>WEEKDAYS[date.tm_wday].substring(0,3),\"%A\":date=>WEEKDAYS[date.tm_wday],\"%b\":date=>MONTHS[date.tm_mon].substring(0,3),\"%B\":date=>MONTHS[date.tm_mon],\"%C\":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":date=>leadingNulls(date.tm_mday,2),\"%e\":date=>leadingSomething(date.tm_mday,2,\" \"),\"%g\":date=>getWeekBasedYear(date).toString().substring(2),\"%G\":date=>getWeekBasedYear(date),\"%H\":date=>leadingNulls(date.tm_hour,2),\"%I\":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),\"%m\":date=>leadingNulls(date.tm_mon+1,2),\"%M\":date=>leadingNulls(date.tm_min,2),\"%n\":()=>\"\\n\",\"%p\":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}return\"PM\"},\"%S\":date=>leadingNulls(date.tm_sec,2),\"%t\":()=>\"\\t\",\"%u\":date=>date.tm_wday||7,\"%U\":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},\"%V\":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},\"%w\":date=>date.tm_wday,\"%W\":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},\"%y\":date=>(date.tm_year+1900).toString().substring(2),\"%Y\":date=>date.tm_year+1900,\"%z\":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":date=>date.tm_zone,\"%%\":()=>\"%\"};pattern=pattern.replace(/%%/g,\"\\0\\0\");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\\0\\0/g,\"%\");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){s>>>=0;maxsize>>>=0;format>>>=0;tm>>>=0;loc>>>=0;return _strftime(s,maxsize,format,tm)}var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var getCFunc=ident=>{var func=Module[\"_\"+ident];return func};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={\"string\":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},\"array\":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var wasmImports={Z:___syscall__newselect,ba:___syscall_bind,aa:___syscall_connect,V:___syscall_faccessat,a:___syscall_fcntl64,U:___syscall_fstat64,v:___syscall_ftruncate64,P:___syscall_getdents64,X:___syscall_getpeername,Y:___syscall_getsockopt,o:___syscall_ioctl,R:___syscall_lstat64,Q:___syscall_mkdirat,S:___syscall_newfstatat,p:___syscall_openat,_:___syscall_recvfrom,N:___syscall_renameat,j:___syscall_rmdir,$:___syscall_sendto,l:___syscall_socket,T:___syscall_stat64,k:___syscall_unlinkat,q:__emscripten_get_now_is_monotonic,d:_abort,F:_duckdb_web_fs_directory_create,G:_duckdb_web_fs_directory_exists,D:_duckdb_web_fs_directory_list_files,E:_duckdb_web_fs_directory_remove,h:_duckdb_web_fs_file_close,A:_duckdb_web_fs_file_exists,u:_duckdb_web_fs_file_get_last_modified_time,B:_duckdb_web_fs_file_move,I:_duckdb_web_fs_file_open,e:_duckdb_web_fs_file_read,H:_duckdb_web_fs_file_truncate,i:_duckdb_web_fs_file_write,J:_duckdb_web_fs_get_default_data_protocol,z:_duckdb_web_fs_glob,g:_duckdb_web_test_platform_feature,L:_duckdb_web_udf_scalar_call,r:_emscripten_date_now,s:_emscripten_get_heap_max,c:_emscripten_get_now,da:_emscripten_memcpy_js,ea:_emscripten_resize_heap,C:_environ_get,K:_environ_sizes_get,b:_fd_close,ca:_fd_fdstat_get,x:_fd_pread,w:_fd_pwrite,n:_fd_read,y:_fd_seek,O:_fd_sync,f:_fd_write,m:_getaddrinfo,M:_getentropy,W:_getnameinfo,t:_strftime_l};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"ga\"])();var _main=Module[\"_main\"]=(a0,a1)=>(_main=Module[\"_main\"]=wasmExports[\"ha\"])(a0,a1);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[\"ja\"])(a0);var _duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=()=>(_duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=wasmExports[\"ka\"])();var _duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=a0=>(_duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=wasmExports[\"la\"])(a0);var _duckdb_web_reset=Module[\"_duckdb_web_reset\"]=a0=>(_duckdb_web_reset=Module[\"_duckdb_web_reset\"]=wasmExports[\"ma\"])(a0);var _duckdb_web_connect=Module[\"_duckdb_web_connect\"]=()=>(_duckdb_web_connect=Module[\"_duckdb_web_connect\"]=wasmExports[\"na\"])();var _duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=a0=>(_duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=wasmExports[\"oa\"])(a0);var _duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=()=>(_duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=wasmExports[\"pa\"])();var _duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=a0=>(_duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=wasmExports[\"qa\"])(a0);var _duckdb_web_open=Module[\"_duckdb_web_open\"]=(a0,a1)=>(_duckdb_web_open=Module[\"_duckdb_web_open\"]=wasmExports[\"ra\"])(a0,a1);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[\"sa\"])(a0,a1);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[\"ta\"])(a0,a1,a2);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[\"ua\"])(a0,a1);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[\"va\"])(a0,a1);var _duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=a0=>(_duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=wasmExports[\"wa\"])(a0);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[\"xa\"])(a0,a1);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[\"ya\"])(a0,a1,a2);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[\"za\"])(a0,a1,a2);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[\"Aa\"])(a0,a1,a2,a3,a4);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[\"Ba\"])(a0,a1,a2,a3);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[\"Ca\"])(a0,a1);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[\"Da\"])(a0,a1,a2);var _duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=a0=>(_duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=wasmExports[\"Ea\"])(a0);var _duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=()=>(_duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=wasmExports[\"Fa\"])();var _duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=(a0,a1)=>(_duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=wasmExports[\"Ga\"])(a0,a1);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[\"Ha\"])(a0,a1,a2);var _duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=(a0,a1,a2)=>(_duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=wasmExports[\"Ia\"])(a0,a1,a2);var _duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=(a0,a1,a2)=>(_duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=wasmExports[\"Ja\"])(a0,a1,a2);var _duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=(a0,a1,a2,a3)=>(_duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=wasmExports[\"Ka\"])(a0,a1,a2,a3);var _duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=(a0,a1,a2,a3)=>(_duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=wasmExports[\"La\"])(a0,a1,a2,a3);var _duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=(a0,a1,a2)=>(_duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=wasmExports[\"Ma\"])(a0,a1,a2);var _duckdb_web_pending_query_start=Module[\"_duckdb_web_pending_query_start\"]=(a0,a1,a2)=>(_duckdb_web_pending_query_start=Module[\"_duckdb_web_pending_query_start\"]=wasmExports[\"Na\"])(a0,a1,a2);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[\"Oa\"])(a0,a1,a2);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[\"Pa\"])(a0,a1);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[\"Qa\"])(a0,a1);var _duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=(a0,a1,a2)=>(_duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=wasmExports[\"Ra\"])(a0,a1,a2);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[\"Sa\"])(a0,a1,a2,a3,a4);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[\"Ta\"])(a0,a1,a2,a3);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[\"Ua\"])(a0,a1,a2,a3);var ___errno_location=()=>(___errno_location=wasmExports[\"__errno_location\"])();var _htonl=a0=>(_htonl=wasmExports[\"Va\"])(a0);var _htons=a0=>(_htons=wasmExports[\"Wa\"])(a0);var _ntohs=a0=>(_ntohs=wasmExports[\"Xa\"])(a0);var _malloc=Module[\"_malloc\"]=a0=>(_malloc=Module[\"_malloc\"]=wasmExports[\"Ya\"])(a0);var _free=Module[\"_free\"]=a0=>(_free=Module[\"_free\"]=wasmExports[\"Za\"])(a0);var ___trap=()=>(___trap=wasmExports[\"_a\"])();var stackSave=()=>(stackSave=wasmExports[\"$a\"])();var stackRestore=a0=>(stackRestore=wasmExports[\"ab\"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports[\"bb\"])(a0);function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_p=f=>()=>f()>>>0;var makeWrapper_pp=f=>a0=>f(a0)>>>0;wasmExports[\"__errno_location\"]=makeWrapper_p(wasmExports[\"__errno_location\"]);wasmExports[\"Ya\"]=makeWrapper_pp(wasmExports[\"Ya\"]);wasmExports[\"$a\"]=makeWrapper_p(wasmExports[\"$a\"]);wasmExports[\"bb\"]=makeWrapper_pp(wasmExports[\"bb\"]);return wasmExports}Module[\"stackAlloc\"]=stackAlloc;Module[\"stackSave\"]=stackSave;Module[\"stackRestore\"]=stackRestore;Module[\"ccall\"]=ccall;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;run();\n\n\n return moduleArg.ready\n}\n\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n module.exports = DuckDB;\nelse if (typeof define === 'function' && define['amd'])\n define([], () => DuckDB);\n", "/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.9.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\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;\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 = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var algorithm = is224 ? 'sha224' : 'sha256';\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(new Buffer(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\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\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\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 }\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_eh';\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, null, null, null, null, null, null, null, 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 for (let i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\n bytes[offset++] = utf8[i];\n }\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, "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 { DuckDBBindings } 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 this._bindings.open(request.data);\n this.sendOK(request);\n break;\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();\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]);\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 this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_CHUNK,\n data: result,\n },\n [result.buffer],\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 this._bindings.registerFileHandle(\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.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-eh.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 return DuckDBWasm({\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n });\n }\n}\n\nexport default DuckDB;\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 ): Promise<arrow.RecordBatchStreamReader<T>> {\n let header = this._bindings.startPendingQuery(this._conn, text);\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 reject(e);\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\tconst 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(protected bindings: DuckDBBindings, protected conn: number, protected header: Uint8Array) {\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 const bufferI8 = this.bindings.fetchQueryResults(this.conn);\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", "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 = mod.HEAPU8.subarray(begin, begin + 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(mod.HEAPU8.subarray(begin, begin + 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}\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 allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Global info for all files registered with DuckDB */\nexport interface DuckDBGlobalFileInfo {\n cacheEpoch: number;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\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 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 // 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 getLastFileModificationTime: (_mod: DuckDBModule, _fileId: number): number => {\n return 0;\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 } 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}\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 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 [s, d, n] = callSRet(this.mod, 'duckdb_web_tokenize', ['string'], [text]);\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 [s, d, n] = callSRet(this.mod, 'duckdb_web_query_run', ['number', 'string'], [conn, text]);\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): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_pending_query_start', ['number', 'string'], [conn, text]);\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 {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_fetch_results', ['number'], [conn]);\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 /** Get table names */\n public getTableNames(conn: number, text: string): string[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_tablenames', ['number', 'string'], [conn, text]);\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 [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_create', ['number', 'string'], [conn, text]);\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);\n const bufferOfs = this.mod.HEAPU8.subarray(bufferPtr, 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 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);\n const dst = this.mod.HEAPU8.subarray(ptr, 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 /** 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 (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(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_files', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\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 = this.mod.HEAPU8.subarray(d, d + n);\n const copy = new Uint8Array(buffer.length);\n copy.set(buffer);\n dropResponseBuffers(this.mod);\n return copy;\n }\n\n /** Enable tracking of file statistics */\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(this.mod.HEAPU8.subarray(d, d + n));\n }\n}\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, we append the bucket\n const httpHost = `${config?.endpoint}`;\n const offset = httpHost.indexOf(\"://\")+3;\n return httpHost.substring(offset);\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 bucket name, \n // as it is 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 path = `/${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 ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == '_' ||\n ch == '-' || ch == '~' || ch == '.') {\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 = (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 += \"\\nhost:\" + params.host +\n \"\\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 = \"AWS4-HMAC-SHA256\\n\" + params.datetimeNow + \"\\n\" + params.dateNow + \"/\" + params.region + \"/\" + params.service +\n \"/aws4_request\\n\" + canonicalRequestHashStr;\n\n // ts-ignore's because library can accept array buffer as key, but TS arg is incorrect\n const signKey = \"AWS4\" + params.secretAccessKey;\n const kDate = sha256.hmac.arrayBuffer(signKey, params.dateNow);\n\n // Note, js-sha256 has a bug in the TS interface that only supports strings as keys, while we need a bytearray\n // as key. PR is open but unmerged: https://github.com/emn178/js-sha256/pull/25\n // eslint-disable-next-line\n // @ts-ignore\n const kRegion = sha256.hmac.arrayBuffer(kDate, params.region);\n // eslint-disable-next-line\n // @ts-ignore\n const kService = sha256.hmac.arrayBuffer(kRegion, params.service,);\n // eslint-disable-next-line\n // @ts-ignore\n const signingKey = sha256.hmac.arrayBuffer(kService, \"aws4_request\");\n // eslint-disable-next-line\n // @ts-ignore\n const signature = sha256.hmac(signingKey, stringToSign);\n\n res.set(\"Authorization\", \"AWS4-HMAC-SHA256 Credential=\" + params.accessKeyId + \"/\" + params.dateNow + \"/\" + params.region + \"/\" +\n params.service + \"/aws4_request, SignedHeaders=\" + signedHeaders +\n \", Signature=\" + signature);\n\n return res;\n}\n\nconst createS3HeadersFromS3Config = function (config : S3Config | undefined, url : string, method : string, contentType: string | null = null, payload : Uint8Array | null = null) : 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(xhr: XMLHttpRequest, config : S3Config | undefined, url : string, method: string, contentType: string | null = null, payload : Uint8Array | null = null) {\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}", "import { StatusCode } from '../status';\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} from './runtime';\nimport { DuckDBModule } from './duckdb_module';\nimport * as udf from './udf_runtime';\n\nexport const BROWSER_RUNTIME: DuckDBRuntime & {\n _fileInfoCache: Map<number, DuckDBFileInfo>;\n _globalFileInfo: DuckDBGlobalFileInfo | null;\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null;\n} = {\n _files: new Map<string, any>(),\n _fileInfoCache: new Map<number, DuckDBFileInfo>(),\n _udfFunctions: new Map(),\n _globalFileInfo: 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 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 return file;\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\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(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n } else if (flags != FileFlags.FILE_FLAGS_READ) {\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 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 = xhr.getResponseHeader('Content-Length');\n if (contentLength !== null && xhr.status == 206) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n } catch (e: any) {\n error = e;\n console.warn(`HEAD request with range header failed: ${e}`);\n }\n\n // Try to fallback to full read?\n if (file.allowFullHttpReads) {\n if ((contentLength !== null) && (+contentLength > 1)) {\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.setRequestHeader('Range', `bytes=0-0`);\n xhr.send(null);\n const contentLength2 = xhr.getResponseHeader('Content-Length');\n\n if (xhr.status == 206 && contentLength2 !== null && +contentLength2 == 1) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n if (xhr.status == 200 && contentLength2 !== null && +contentLength2 == +contentLength) {\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(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n }\n }\n console.warn(`falling back to full HTTP read for: ${file.dataUrl}`);\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(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\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(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = handle.size;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\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(2 * 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 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 failWith(mod, `HEAD request failed: ${path}, with full http reads are disabled`);\n return;\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 failWith(mod, `HEAD and GET requests failed: ${path}`);\n return;\n }\n const contentLength = xhr2.getResponseHeader('Content-Length');\n if (contentLength && (+contentLength > 1)) {\n console.warn(`Range request for ${path} did not return a partial response: ${xhr2.status} \"${xhr2.statusText}\"`);\n }\n }\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [path]);\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 }\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 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 = 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 },\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(`Range request for ${file.dataUrl} did not return a partial response: ${xhr.status} \"${xhr.statusText}\"`);\n const src = new Uint8Array(xhr.response, location, Math.min(xhr.response.byteLength-location, bytes));\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 = 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 = 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 return new Date().getTime();\n }\n return 0;\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"],
4
+ "sourcesContent": ["\nvar DuckDB = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;\n return (\nfunction(moduleArg = {}) {\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts==\"function\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");var nodePath=require(\"path\");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:\"utf8\")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:\"utf8\",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module[\"thisProgram\"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\\\/g,\"/\")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module[\"inspect\"]=()=>\"[Emscripten Module object]\"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith(\"file://\")}var wasmBinaryFile;wasmBinaryFile=\"./duckdb-eh.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+binaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(()=>getBinarySync(binaryFile))}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={\"a\":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);wasmMemory=wasmExports[\"fa\"];updateMemoryViews();addOnInit(wasmExports[\"ga\"]);removeRunDependency(\"wasm-instantiate\");return wasmExports}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}if(Module[\"instantiateWasm\"]){try{return Module[\"instantiateWasm\"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name=\"ExitStatus\";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"};var SYSCALLS={varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>>2>>>0];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){readfds>>>=0;writefds>>>=0;exceptfds>>>=0;timeout>>>=0;var total=0;var srcReadLow=readfds?HEAP32[readfds>>>2>>>0]:0,srcReadHigh=readfds?HEAP32[readfds+4>>>2>>>0]:0;var srcWriteLow=writefds?HEAP32[writefds>>>2>>>0]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>>2>>>0]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>>2>>>0]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>>2>>>0]:0)|(writefds?HEAP32[writefds>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds>>>2>>>0]:0);var allHigh=(readfds?HEAP32[readfds+4>>>2>>>0]:0)|(writefds?HEAP32[writefds+4>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=SYSCALLS.getStreamFromFD(fd);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){var timeoutInMillis=-1;if(timeout){var tv_sec=readfds?HEAP32[timeout>>>2>>>0]:0,tv_usec=readfds?HEAP32[timeout+8>>>2>>>0]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>>2>>>0]=dstReadLow;HEAP32[readfds+4>>>2>>>0]=dstReadHigh}if(writefds){HEAP32[writefds>>>2>>>0]=dstWriteLow;HEAP32[writefds+4>>>2>>>0]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>>2>>>0]=dstExceptLow;HEAP32[exceptfds+4>>>2>>>0]=dstExceptHigh}return total}function SOCKFS(){abort(\"missing function: $SOCKFS\")}SOCKFS.stub=true;function FS(){abort(\"missing function: $FS\")}FS.stub=true;var getSocketFromFD=fd=>{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetNtop4=addr=>(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255);var inetNtop6=ints=>{var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;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];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str};var readSockaddr=(sa,salen)=>{var family=HEAP16[sa>>>1>>>0];var port=_ntohs(HEAPU16[sa+2>>>1>>>0]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>>2>>>0];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>>2>>>0],HEAP32[sa+12>>>2>>>0],HEAP32[sa+16>>>2>>>0],HEAP32[sa+20>>>2>>>0]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}};var inetPton4=str=>{var b=str.split(\".\");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;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;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,\"exceeded max address mappings of 65535\");addr=\"172.29.\"+(id&255)+\".\"+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};var getSocketAddress=(addrp,addrlen,allowNull)=>{if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0}function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){buf>>>=0}function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high)}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}}heap[outIdx>>>0]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getdents64(fd,dirp,count){dirp>>>=0;count>>>=0}var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var writeSockaddr=(sa,family,addr,port,addrlen)=>{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>>2>>>0]=16}HEAP16[sa>>>1>>>0]=family;HEAP32[sa+4>>>2>>>0]=addr;HEAP16[sa+2>>>1>>>0]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>>2>>>0]=28}HEAP32[sa>>>2>>>0]=family;HEAP32[sa+8>>>2>>>0]=addr[0];HEAP32[sa+12>>>2>>>0]=addr[1];HEAP32[sa+16>>>2>>>0]=addr[2];HEAP32[sa+20>>>2>>>0]=addr[3];HEAP16[sa+2>>>1>>>0]=_htons(port);break;default:return 5}return 0};function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){optval>>>=0;optlen>>>=0;var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>>2>>>0]=sock.error;HEAP32[optlen>>>2>>>0]=4;sock.error=null;return 0}}return-50}function ___syscall_ioctl(fd,op,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_mkdirat(dirfd,path,mode){path>>>=0}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){buf>>>=0;len>>>=0;addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf>>>0);return msg.buffer.byteLength}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){oldpath>>>=0;newpath>>>=0}function ___syscall_rmdir(path){path>>>=0}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){message>>>=0;length>>>=0;addr>>>=0;addr_len>>>=0}var ___syscall_socket=(domain,type,protocol)=>{};function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0}var nowIsMonotonic=true;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var _abort=()=>{abort(\"\")};function _duckdb_web_fs_directory_create(path,pathLen){return globalThis.DUCKDB_RUNTIME.createDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_list_files(path,pathLen){return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,path,pathLen)}function _duckdb_web_fs_directory_remove(path,pathLen){return globalThis.DUCKDB_RUNTIME.removeDirectory(Module,path,pathLen)}function _duckdb_web_fs_file_close(fileId){return globalThis.DUCKDB_RUNTIME.closeFile(Module,fileId)}function _duckdb_web_fs_file_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkFile(Module,path,pathLen)}function _duckdb_web_fs_file_get_last_modified_time(fileId){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,fileId)}function _duckdb_web_fs_file_move(from,fromLen,to,toLen){return globalThis.DUCKDB_RUNTIME.moveFile(Module,from,fromLen,to,toLen)}function _duckdb_web_fs_file_open(fileId,flags){return globalThis.DUCKDB_RUNTIME.openFile(Module,fileId,flags)}function _duckdb_web_fs_file_read(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.readFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_file_truncate(fileId,newSize){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,fileId,newSize)}function _duckdb_web_fs_file_write(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.writeFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_get_default_data_protocol(Module){return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(Module)}function _duckdb_web_fs_glob(path,pathLen){return globalThis.DUCKDB_RUNTIME.glob(Module,path,pathLen)}function _duckdb_web_test_platform_feature(feature){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,feature)}function _duckdb_web_udf_scalar_call(funcId,descPtr,descSize,ptrsPtr,ptrsSize,response){return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,funcId,descPtr,descSize,ptrsPtr,ptrsSize,response)}var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return getHeapMax()}var _emscripten_get_now;_emscripten_get_now=()=>performance.now();function _emscripten_memcpy_js(dest,src,num){dest>>>=0;src>>>=0;num>>>=0;return HEAPU8.copyWithin(dest>>>0,src>>>0,src+num>>>0)}var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++>>>0>>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0>>>0]=0};var _environ_get=function(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>>2>>>0]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=function(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0};var _fd_close=fd=>52;function _fd_fdstat_get(fd,pbuf){pbuf>>>=0;var rightsBase=0;var rightsInheriting=0;var flags=0;{var type=2;if(fd==0){rightsBase=2}else if(fd==1||fd==2){rightsBase=64}flags=1}HEAP8[pbuf>>>0>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>>2>>>0]=tempI64[0],HEAP32[pbuf+12>>>2>>>0]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>>2>>>0]=tempI64[0],HEAP32[pbuf+20>>>2>>>0]=tempI64[1];return 0}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){iov>>>=0;iovcnt>>>=0;var offset=convertI32PairToI53Checked(offset_low,offset_high);pnum>>>=0;return 52}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){iov>>>=0;iovcnt>>>=0;var offset=convertI32PairToI53Checked(offset_low,offset_high);pnum>>>=0;return 52}function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);newOffset>>>=0;return 70}var _fd_sync=fd=>52;var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j>>>0])}num+=len}HEAPU32[pnum>>>2>>>0]=num;return 0}function _getaddrinfo(node,service,hint,out){node>>>=0;service>>>=0;hint>>>=0;out>>>=0;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>>2>>>0]=family;HEAP32[ai+8>>>2>>>0]=type;HEAP32[ai+12>>>2>>>0]=proto;HEAPU32[ai+24>>>2>>>0]=canon;HEAPU32[ai+20>>>2>>>0]=sa;if(family===10){HEAP32[ai+16>>>2>>>0]=28}else{HEAP32[ai+16>>>2>>>0]=16}HEAP32[ai+28>>>2>>>0]=0;return ai}if(hint){flags=HEAP32[hint>>>2>>>0];family=HEAP32[hint+4>>>2>>>0];type=HEAP32[hint+8>>>2>>>0];proto=HEAP32[hint+12>>>2>>>0]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>>2>>>0]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}var initRandomFill=()=>{if(typeof crypto==\"object\"&&typeof crypto[\"getRandomValues\"]==\"function\"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require(\"crypto\");var randomFillSync=crypto_module[\"randomFillSync\"];if(randomFillSync){return view=>crypto_module[\"randomFillSync\"](view)}var randomBytes=crypto_module[\"randomBytes\"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort(\"initRandomDevice\")};var randomFill=view=>(randomFill=initRandomFill())(view);function _getentropy(buffer,size){buffer>>>=0;size>>>=0;randomFill(HEAPU8.subarray(buffer>>>0,buffer+size>>>0));return 0}function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){sa>>>=0;node>>>=0;serv>>>=0;var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=\"\"+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};function _strftime(s,maxsize,format,tm){s>>>=0;maxsize>>>=0;format>>>=0;tm>>>=0;var tm_zone=HEAPU32[tm+40>>>2>>>0];var date={tm_sec:HEAP32[tm>>>2>>>0],tm_min:HEAP32[tm+4>>>2>>>0],tm_hour:HEAP32[tm+8>>>2>>>0],tm_mday:HEAP32[tm+12>>>2>>>0],tm_mon:HEAP32[tm+16>>>2>>>0],tm_year:HEAP32[tm+20>>>2>>>0],tm_wday:HEAP32[tm+24>>>2>>>0],tm_yday:HEAP32[tm+28>>>2>>>0],tm_isdst:HEAP32[tm+32>>>2>>>0],tm_gmtoff:HEAP32[tm+36>>>2>>>0],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value==\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={\"%a\":date=>WEEKDAYS[date.tm_wday].substring(0,3),\"%A\":date=>WEEKDAYS[date.tm_wday],\"%b\":date=>MONTHS[date.tm_mon].substring(0,3),\"%B\":date=>MONTHS[date.tm_mon],\"%C\":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":date=>leadingNulls(date.tm_mday,2),\"%e\":date=>leadingSomething(date.tm_mday,2,\" \"),\"%g\":date=>getWeekBasedYear(date).toString().substring(2),\"%G\":date=>getWeekBasedYear(date),\"%H\":date=>leadingNulls(date.tm_hour,2),\"%I\":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),\"%m\":date=>leadingNulls(date.tm_mon+1,2),\"%M\":date=>leadingNulls(date.tm_min,2),\"%n\":()=>\"\\n\",\"%p\":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}return\"PM\"},\"%S\":date=>leadingNulls(date.tm_sec,2),\"%t\":()=>\"\\t\",\"%u\":date=>date.tm_wday||7,\"%U\":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},\"%V\":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},\"%w\":date=>date.tm_wday,\"%W\":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},\"%y\":date=>(date.tm_year+1900).toString().substring(2),\"%Y\":date=>date.tm_year+1900,\"%z\":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":date=>date.tm_zone,\"%%\":()=>\"%\"};pattern=pattern.replace(/%%/g,\"\\0\\0\");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\\0\\0/g,\"%\");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){s>>>=0;maxsize>>>=0;format>>>=0;tm>>>=0;loc>>>=0;return _strftime(s,maxsize,format,tm)}var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var getCFunc=ident=>{var func=Module[\"_\"+ident];return func};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={\"string\":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},\"array\":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var wasmImports={Z:___syscall__newselect,ba:___syscall_bind,aa:___syscall_connect,V:___syscall_faccessat,a:___syscall_fcntl64,U:___syscall_fstat64,v:___syscall_ftruncate64,P:___syscall_getdents64,X:___syscall_getpeername,Y:___syscall_getsockopt,o:___syscall_ioctl,R:___syscall_lstat64,Q:___syscall_mkdirat,S:___syscall_newfstatat,p:___syscall_openat,_:___syscall_recvfrom,N:___syscall_renameat,i:___syscall_rmdir,$:___syscall_sendto,l:___syscall_socket,T:___syscall_stat64,j:___syscall_unlinkat,q:__emscripten_get_now_is_monotonic,c:_abort,F:_duckdb_web_fs_directory_create,G:_duckdb_web_fs_directory_exists,D:_duckdb_web_fs_directory_list_files,E:_duckdb_web_fs_directory_remove,g:_duckdb_web_fs_file_close,A:_duckdb_web_fs_file_exists,u:_duckdb_web_fs_file_get_last_modified_time,B:_duckdb_web_fs_file_move,I:_duckdb_web_fs_file_open,d:_duckdb_web_fs_file_read,H:_duckdb_web_fs_file_truncate,h:_duckdb_web_fs_file_write,J:_duckdb_web_fs_get_default_data_protocol,z:_duckdb_web_fs_glob,f:_duckdb_web_test_platform_feature,L:_duckdb_web_udf_scalar_call,r:_emscripten_date_now,s:_emscripten_get_heap_max,k:_emscripten_get_now,da:_emscripten_memcpy_js,ea:_emscripten_resize_heap,C:_environ_get,K:_environ_sizes_get,b:_fd_close,ca:_fd_fdstat_get,x:_fd_pread,w:_fd_pwrite,n:_fd_read,y:_fd_seek,O:_fd_sync,e:_fd_write,m:_getaddrinfo,M:_getentropy,W:_getnameinfo,t:_strftime_l};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"ga\"])();var _main=Module[\"_main\"]=(a0,a1)=>(_main=Module[\"_main\"]=wasmExports[\"ha\"])(a0,a1);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[\"ja\"])(a0);var _duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=()=>(_duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=wasmExports[\"ka\"])();var _duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=a0=>(_duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=wasmExports[\"la\"])(a0);var _duckdb_web_reset=Module[\"_duckdb_web_reset\"]=a0=>(_duckdb_web_reset=Module[\"_duckdb_web_reset\"]=wasmExports[\"ma\"])(a0);var _duckdb_web_connect=Module[\"_duckdb_web_connect\"]=()=>(_duckdb_web_connect=Module[\"_duckdb_web_connect\"]=wasmExports[\"na\"])();var _duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=a0=>(_duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=wasmExports[\"oa\"])(a0);var _duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=()=>(_duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=wasmExports[\"pa\"])();var _duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=a0=>(_duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=wasmExports[\"qa\"])(a0);var _duckdb_web_open=Module[\"_duckdb_web_open\"]=(a0,a1)=>(_duckdb_web_open=Module[\"_duckdb_web_open\"]=wasmExports[\"ra\"])(a0,a1);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[\"sa\"])(a0,a1);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[\"ta\"])(a0,a1,a2);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[\"ua\"])(a0,a1);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[\"va\"])(a0,a1);var _duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=a0=>(_duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=wasmExports[\"wa\"])(a0);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[\"xa\"])(a0,a1);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[\"ya\"])(a0,a1,a2);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[\"za\"])(a0,a1,a2);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[\"Aa\"])(a0,a1,a2,a3,a4);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[\"Ba\"])(a0,a1,a2,a3);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[\"Ca\"])(a0,a1);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[\"Da\"])(a0,a1,a2);var _duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=a0=>(_duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=wasmExports[\"Ea\"])(a0);var _duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=()=>(_duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=wasmExports[\"Fa\"])();var _duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=(a0,a1)=>(_duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=wasmExports[\"Ga\"])(a0,a1);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[\"Ha\"])(a0,a1,a2);var _duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=(a0,a1,a2)=>(_duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=wasmExports[\"Ia\"])(a0,a1,a2);var _duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=(a0,a1,a2)=>(_duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=wasmExports[\"Ja\"])(a0,a1,a2);var _duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=(a0,a1,a2,a3)=>(_duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=wasmExports[\"Ka\"])(a0,a1,a2,a3);var _duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=(a0,a1,a2,a3)=>(_duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=wasmExports[\"La\"])(a0,a1,a2,a3);var _duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=(a0,a1,a2)=>(_duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=wasmExports[\"Ma\"])(a0,a1,a2);var _duckdb_web_pending_query_start=Module[\"_duckdb_web_pending_query_start\"]=(a0,a1,a2)=>(_duckdb_web_pending_query_start=Module[\"_duckdb_web_pending_query_start\"]=wasmExports[\"Na\"])(a0,a1,a2);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[\"Oa\"])(a0,a1,a2);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[\"Pa\"])(a0,a1);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[\"Qa\"])(a0,a1);var _duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=(a0,a1,a2)=>(_duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=wasmExports[\"Ra\"])(a0,a1,a2);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[\"Sa\"])(a0,a1,a2,a3,a4);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[\"Ta\"])(a0,a1,a2,a3);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[\"Ua\"])(a0,a1,a2,a3);var ___errno_location=()=>(___errno_location=wasmExports[\"__errno_location\"])();var _htonl=a0=>(_htonl=wasmExports[\"Va\"])(a0);var _htons=a0=>(_htons=wasmExports[\"Wa\"])(a0);var _ntohs=a0=>(_ntohs=wasmExports[\"Xa\"])(a0);var _malloc=Module[\"_malloc\"]=a0=>(_malloc=Module[\"_malloc\"]=wasmExports[\"Ya\"])(a0);var _free=Module[\"_free\"]=a0=>(_free=Module[\"_free\"]=wasmExports[\"Za\"])(a0);var ___trap=()=>(___trap=wasmExports[\"_a\"])();var stackSave=()=>(stackSave=wasmExports[\"$a\"])();var stackRestore=a0=>(stackRestore=wasmExports[\"ab\"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports[\"bb\"])(a0);function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_p=f=>()=>f()>>>0;var makeWrapper_pp=f=>a0=>f(a0)>>>0;wasmExports[\"__errno_location\"]=makeWrapper_p(wasmExports[\"__errno_location\"]);wasmExports[\"Ya\"]=makeWrapper_pp(wasmExports[\"Ya\"]);wasmExports[\"$a\"]=makeWrapper_p(wasmExports[\"$a\"]);wasmExports[\"bb\"]=makeWrapper_pp(wasmExports[\"bb\"]);return wasmExports}Module[\"stackAlloc\"]=stackAlloc;Module[\"stackSave\"]=stackSave;Module[\"stackRestore\"]=stackRestore;Module[\"ccall\"]=ccall;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;run();\n\n\n return moduleArg.ready\n}\n\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n module.exports = DuckDB;\nelse if (typeof define === 'function' && define['amd'])\n define([], () => DuckDB);\n", "/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.9.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\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;\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 = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var algorithm = is224 ? 'sha224' : 'sha256';\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(new Buffer(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\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\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\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 }\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_eh';\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, null, null, null, null, null, null, null, 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 for (let i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\n bytes[offset++] = utf8[i];\n }\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, "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 { DuckDBBindings } 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 this._bindings.open(request.data);\n this.sendOK(request);\n break;\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();\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]);\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 this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_CHUNK,\n data: result,\n },\n [result.buffer],\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 this._bindings.registerFileHandle(\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.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-eh.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 return DuckDBWasm({\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n });\n }\n}\n\nexport default DuckDB;\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 ): Promise<arrow.RecordBatchStreamReader<T>> {\n let header = this._bindings.startPendingQuery(this._conn, text);\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 reject(e);\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\tconst 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(protected bindings: DuckDBBindings, protected conn: number, protected header: Uint8Array) {\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 const bufferI8 = this.bindings.fetchQueryResults(this.conn);\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", "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 = mod.HEAPU8.subarray(begin, begin + 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(mod.HEAPU8.subarray(begin, begin + 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}\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 allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Global info for all files registered with DuckDB */\nexport interface DuckDBGlobalFileInfo {\n cacheEpoch: number;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\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 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 // 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 getLastFileModificationTime: (_mod: DuckDBModule, _fileId: number): number => {\n return 0;\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 } 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}\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 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 [s, d, n] = callSRet(this.mod, 'duckdb_web_tokenize', ['string'], [text]);\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 [s, d, n] = callSRet(this.mod, 'duckdb_web_query_run', ['number', 'string'], [conn, text]);\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): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_pending_query_start', ['number', 'string'], [conn, text]);\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 {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_fetch_results', ['number'], [conn]);\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 /** Get table names */\n public getTableNames(conn: number, text: string): string[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_tablenames', ['number', 'string'], [conn, text]);\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 [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_create', ['number', 'string'], [conn, text]);\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);\n const bufferOfs = this.mod.HEAPU8.subarray(bufferPtr, 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 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);\n const dst = this.mod.HEAPU8.subarray(ptr, 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 /** 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 (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(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_files', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\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 = this.mod.HEAPU8.subarray(d, d + n);\n const copy = new Uint8Array(buffer.length);\n copy.set(buffer);\n dropResponseBuffers(this.mod);\n return copy;\n }\n\n /** Enable tracking of file statistics */\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(this.mod.HEAPU8.subarray(d, d + n));\n }\n}\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, we append the bucket\n const httpHost = `${config?.endpoint}`;\n const offset = httpHost.indexOf(\"://\")+3;\n return httpHost.substring(offset);\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 bucket name, \n // as it is 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 path = `/${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 ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == '_' ||\n ch == '-' || ch == '~' || ch == '.') {\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 = (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 += \"\\nhost:\" + params.host +\n \"\\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 = \"AWS4-HMAC-SHA256\\n\" + params.datetimeNow + \"\\n\" + params.dateNow + \"/\" + params.region + \"/\" + params.service +\n \"/aws4_request\\n\" + canonicalRequestHashStr;\n\n // ts-ignore's because library can accept array buffer as key, but TS arg is incorrect\n const signKey = \"AWS4\" + params.secretAccessKey;\n const kDate = sha256.hmac.arrayBuffer(signKey, params.dateNow);\n\n // Note, js-sha256 has a bug in the TS interface that only supports strings as keys, while we need a bytearray\n // as key. PR is open but unmerged: https://github.com/emn178/js-sha256/pull/25\n // eslint-disable-next-line\n // @ts-ignore\n const kRegion = sha256.hmac.arrayBuffer(kDate, params.region);\n // eslint-disable-next-line\n // @ts-ignore\n const kService = sha256.hmac.arrayBuffer(kRegion, params.service,);\n // eslint-disable-next-line\n // @ts-ignore\n const signingKey = sha256.hmac.arrayBuffer(kService, \"aws4_request\");\n // eslint-disable-next-line\n // @ts-ignore\n const signature = sha256.hmac(signingKey, stringToSign);\n\n res.set(\"Authorization\", \"AWS4-HMAC-SHA256 Credential=\" + params.accessKeyId + \"/\" + params.dateNow + \"/\" + params.region + \"/\" +\n params.service + \"/aws4_request, SignedHeaders=\" + signedHeaders +\n \", Signature=\" + signature);\n\n return res;\n}\n\nconst createS3HeadersFromS3Config = function (config : S3Config | undefined, url : string, method : string, contentType: string | null = null, payload : Uint8Array | null = null) : 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(xhr: XMLHttpRequest, config : S3Config | undefined, url : string, method: string, contentType: string | null = null, payload : Uint8Array | null = null) {\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}", "import { StatusCode } from '../status';\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} from './runtime';\nimport { DuckDBModule } from './duckdb_module';\nimport * as udf from './udf_runtime';\n\nexport const BROWSER_RUNTIME: DuckDBRuntime & {\n _fileInfoCache: Map<number, DuckDBFileInfo>;\n _globalFileInfo: DuckDBGlobalFileInfo | null;\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null;\n} = {\n _files: new Map<string, any>(),\n _fileInfoCache: new Map<number, DuckDBFileInfo>(),\n _udfFunctions: new Map(),\n _globalFileInfo: 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 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 return file;\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\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(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n } else if (flags != FileFlags.FILE_FLAGS_READ) {\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 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 = xhr.getResponseHeader('Content-Length');\n if (contentLength !== null && xhr.status == 206) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n } catch (e: any) {\n error = e;\n console.warn(`HEAD request with range header failed: ${e}`);\n }\n\n // Try to fallback to full read?\n if (file.allowFullHttpReads) {\n if ((contentLength !== null) && (+contentLength > 1)) {\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.setRequestHeader('Range', `bytes=0-0`);\n xhr.send(null);\n const contentLength2 = xhr.getResponseHeader('Content-Length');\n\n if (xhr.status == 206 && contentLength2 !== null && +contentLength2 == 1) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n if (xhr.status == 200 && contentLength2 !== null && +contentLength2 == +contentLength) {\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(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n }\n }\n console.warn(`falling back to full HTTP read for: ${file.dataUrl}`);\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(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\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(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = handle.size;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\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(2 * 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 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 failWith(mod, `HEAD request failed: ${path}, with full http reads are disabled`);\n return;\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 failWith(mod, `HEAD and GET requests failed: ${path}`);\n return;\n }\n const contentLength = xhr2.getResponseHeader('Content-Length');\n if (contentLength && (+contentLength > 1)) {\n console.warn(`Range request for ${path} did not return a partial response: ${xhr2.status} \"${xhr2.statusText}\"`);\n }\n }\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [path]);\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 }\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 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 = 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 },\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(`Range request for ${file.dataUrl} did not return a partial response: ${xhr.status} \"${xhr.statusText}\"`);\n const src = new Uint8Array(xhr.response, location, Math.min(xhr.response.byteLength-location, bytes));\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 = 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 = 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 return new Date().getTime();\n }\n return 0;\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
5
  "mappings": "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",
6
6
  "names": ["require_duckdb_eh", "__commonJSMin", "exports", "module", "DuckDB", "_scriptDir", "moduleArg", "Module", "readyPromiseResolve", "readyPromiseReject", "resolve", "reject", "moduleOverrides", "arguments_", "thisProgram", "quit_", "status", "toThrow", "ENVIRONMENT_IS_WEB", "ENVIRONMENT_IS_WORKER", "ENVIRONMENT_IS_NODE", "scriptDirectory", "locateFile", "path", "read_", "readAsync", "readBinary", "fs", "nodePath", "filename", "binary", "isFileURI", "ret", "onload", "onerror", "err", "data", "url", "xhr", "out", "wasmBinary", "noExitRuntime", "abort", "wasmMemory", "ABORT", "EXITSTATUS", "assert", "condition", "text", "HEAP8", "HEAPU8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAPF32", "HEAPF64", "updateMemoryViews", "b", "__ATPRERUN__", "__ATINIT__", "__ATMAIN__", "__ATPOSTRUN__", "runtimeInitialized", "runtimeKeepaliveCounter", "keepRuntimeAlive", "preRun", "addOnPreRun", "callRuntimeCallbacks", "initRuntime", "preMain", "postRun", "addOnPostRun", "cb", "addOnInit", "runDependencies", "runDependencyWatcher", "dependenciesFulfilled", "addRunDependency", "id", "removeRunDependency", "callback", "what", "___trap", "e", "dataURIPrefix", "isDataURI", "wasmBinaryFile", "getBinarySync", "file", "getBinaryPromise", "binaryFile", "response", "instantiateArrayBuffer", "imports", "receiver", "instance", "reason", "instantiateAsync", "result", "createWasm", "info", "wasmImports", "receiveInstance", "wasmExports", "applySignatureConversions", "receiveInstantiationResult", "tempDouble", "tempI64", "ExitStatus", "callbacks", "UTF8Decoder", "UTF8ArrayToString", "heapOrArray", "idx", "maxBytesToRead", "endIdx", "endPtr", "str", "u0", "u1", "u2", "ch", "UTF8ToString", "ptr", "SYSCALLS", "convertI32PairToI53Checked", "lo", "hi", "___syscall__newselect", "nfds", "readfds", "writefds", "exceptfds", "timeout", "total", "srcReadLow", "srcReadHigh", "srcWriteLow", "srcWriteHigh", "srcExceptLow", "srcExceptHigh", "dstReadLow", "dstReadHigh", "dstWriteLow", "dstWriteHigh", "dstExceptLow", "dstExceptHigh", "allLow", "allHigh", "check", "fd", "low", "high", "val", "mask", "stream", "flags", "timeoutInMillis", "tv_sec", "tv_usec", "SOCKFS", "FS", "getSocketFromFD", "socket", "inetNtop4", "addr", "inetNtop6", "ints", "word", "longest", "lastzero", "zstart", "len", "i", "parts", "hasipv4", "v4part", "_ntohs", "readSockaddr", "sa", "salen", "family", "port", "inetPton4", "tmp", "jstoi_q", "inetPton6", "words", "w", "offset", "z", "valid6regx", "_htons", "DNS", "name", "res", "getSocketAddress", "addrp", "addrlen", "allowNull", "___syscall_bind", "d1", "d2", "d3", "sock", "___syscall_connect", "___syscall_faccessat", "dirfd", "amode", "___syscall_fcntl64", "cmd", "varargs", "___syscall_fstat64", "buf", "___syscall_ftruncate64", "length_low", "length_high", "length", "stringToUTF8Array", "heap", "outIdx", "maxBytesToWrite", "startIdx", "u", "stringToUTF8", "outPtr", "___syscall_getdents64", "dirp", "count", "zeroMemory", "address", "size", "writeSockaddr", "___syscall_getpeername", "errno", "___syscall_getsockopt", "level", "optname", "optval", "optlen", "___syscall_ioctl", "op", "___syscall_lstat64", "___syscall_mkdirat", "mode", "___syscall_newfstatat", "___syscall_openat", "___syscall_recvfrom", "msg", "___syscall_renameat", "olddirfd", "oldpath", "newdirfd", "newpath", "___syscall_rmdir", "___syscall_sendto", "message", "addr_len", "___syscall_socket", "domain", "type", "protocol", "___syscall_stat64", "___syscall_unlinkat", "nowIsMonotonic", "__emscripten_get_now_is_monotonic", "_abort", "_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_exists", "_duckdb_web_fs_file_get_last_modified_time", "_duckdb_web_fs_file_move", "from", "fromLen", "to", "toLen", "_duckdb_web_fs_file_open", "_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", "_emscripten_date_now", "getHeapMax", "_emscripten_get_heap_max", "_emscripten_get_now", "_emscripten_memcpy_js", "dest", "src", "num", "growMemory", "pages", "_emscripten_resize_heap", "requestedSize", "oldSize", "maxHeapSize", "alignUp", "multiple", "cutDown", "overGrownHeapSize", "replacement", "ENV", "getExecutableName", "getEnvStrings", "lang", "env", "x", "strings", "stringToAscii", "buffer", "_environ_get", "__environ", "environ_buf", "bufSize", "string", "_environ_sizes_get", "penviron_count", "penviron_buf_size", "_fd_close", "_fd_fdstat_get", "pbuf", "rightsBase", "rightsInheriting", "_fd_pread", "iov", "iovcnt", "offset_low", "offset_high", "pnum", "_fd_pwrite", "_fd_read", "_fd_seek", "whence", "newOffset", "_fd_sync", "printCharBuffers", "printChar", "curr", "_fd_write", "j", "_getaddrinfo", "node", "service", "hint", "proto", "ai", "allocaddrinfo", "canon", "_malloc", "_htonl", "initRandomFill", "view", "crypto_module", "randomFillSync", "randomBytes", "randomFill", "_getentropy", "_getnameinfo", "nodelen", "serv", "servlen", "overflowed", "lookup", "numBytesWrittenExclNull", "isLeapYear", "year", "arraySum", "array", "index", "sum", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR", "addDays", "date", "days", "newDate", "leap", "currentMonth", "daysInCurrentMonth", "lengthBytesUTF8", "c", "intArrayFromString", "stringy", "dontAddNull", "u8array", "numBytesWritten", "writeArrayToMemory", "_strftime", "s", "maxsize", "format", "tm", "tm_zone", "pattern", "EXPANSION_RULES_1", "rule", "WEEKDAYS", "MONTHS", "leadingSomething", "value", "digits", "character", "leadingNulls", "compareByDay", "date1", "date2", "sgn", "compare", "getFirstWeekStartDate", "janFourth", "getWeekBasedYear", "thisDate", "janFourthThisYear", "janFourthNextYear", "firstWeekStartThisYear", "firstWeekStartNextYear", "EXPANSION_RULES_2", "twelveHour", "jan1", "dec31", "off", "ahead", "bytes", "_strftime_l", "loc", "_proc_exit", "code", "exitJS", "implicit", "handleException", "getCFunc", "ident", "func", "stringToUTF8OnStack", "stackAlloc", "ccall", "returnType", "argTypes", "args", "opts", "toC", "arr", "convertReturnValue", "cArgs", "stack", "converter", "stackSave", "onDone", "stackRestore", "___wasm_call_ctors", "_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_udf_scalar_create", "_duckdb_web_prepared_create", "_duckdb_web_prepared_close", "_duckdb_web_prepared_run", "_duckdb_web_prepared_send", "_duckdb_web_query_run", "_duckdb_web_pending_query_start", "_duckdb_web_pending_query_poll", "_duckdb_web_pending_query_cancel", "_duckdb_web_query_fetch_results", "_duckdb_web_get_tablenames", "_duckdb_web_insert_arrow_from_ipc_stream", "_duckdb_web_insert_csv_from_path", "_duckdb_web_insert_json_from_path", "___errno_location", "_free", "makeWrapper_p", "f", "makeWrapper_pp", "calledRun", "runCaller", "run", "callMain", "entryFunction", "argc", "argv", "doRun", "shouldRunNow", "require_sha256", "__commonJSMin", "obj", "outputType", "is224", "message", "method", "i", "type", "key", "sharedMemory", "notString", "code", "index", "length", "blocks", "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_eh_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", "MessageHeader", "Type", "BufferType", "vector_exports", "__export", "clampIndex", "clampRange", "createElementComparator", "valueToString", "x", "_", "y", "bn_exports", "__export", "BN", "bigNumToBigInt", "bigNumToString", "isArrowBigNumSymbol", "isArrowBigNumSymbol", "BigNum", "x", "xs", "toArrayBufferView", "bigNumToString", "bigNumToNumber", "hint", "bigNumToBigInt", "SignedBigNum", "args", "UnsignedBigNum", "DecimalBigNum", "bn", "buffer", "byteOffset", "length", "signed", "words", "negative", "number", "i", "word", "a", "bigIntArray", "unsignedBigNumToString", "array", "carry", "elem", "updated", "negated", "digits", "base64", "base32", "checks", "n", "BN", "_BN", "num", "isSigned", "bigIntToNumber", "number", "DataType", "_DataType", "x", "Type", "UnionMode", "_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", "Utf8", "_f", "Bool", "_g", "Decimal", "scale", "bitWidth", "_h", "Date_", "unit", "DateUnit", "_j", "Time_", "DataType", "unit", "bitWidth", "Type", "TimeUnit", "_k", "proto", "Timestamp_", "DataType", "unit", "timezone", "Type", "TimeUnit", "_l", "proto", "Interval_", "DataType", "unit", "Type", "IntervalUnit", "_m", "proto", "List", "DataType", "child", "Type", "_o", "proto", "Struct", "children", "f", "_p", "Union_", "mode", "typeIds", "typeIdToChildIndex", "typeId", "idx", "x", "_q", "FixedSizeBinary", "DataType", "byteWidth", "Type", "_r", "proto", "FixedSizeList", "listSize", "child", "_s", "Map_", "keysSorted", "f", "_t", "getId", "atomicDictionaryId", "Dictionary", "dictionary", "indices", "id", "isOrdered", "bigIntToNumber", "_u", "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", "setEpochMsToMillisecondsLong", "setEpochMsToMicrosecondsLong", "setEpochMsToNanosecondsLong", "setVariableWidthBytes", "values", "valueOffsets", "value", "x", "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", "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", "epochMillisecondsLongToMs", "epochMicrosecondsLongToMs", "epochNanosecondsLongToMs", "epochMillisecondsToDate", "epochMs", "epochDaysToDate", "epochMillisecondsLongToDate", "getNull", "_data", "_index", "getVariableWidthBytes", "values", "valueOffsets", "x", "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", "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", "getFixedSizeList", "kKeys", "kVals", "MapRow", "slice", "Vector", "MapRowProxyHandler", "MapRowIterator", "keys", "vals", "json", "n", "instance", "key", "val", "valueToString", "i", "row", "idx", "clampIndex", "source", "index", "then", "length", "adjust", "tmp", "clampRange", "begin", "end", "len", "lhs", "rhs", "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", "byteLength", "valueOffsets", "values", "nullBitmap", "typeIds", "child", "nullCount", "popcnt_bit_range", "type", "offset", "length", "buffers", "children", "dictionary", "buffer", "strideForType", "index", "pos", "value", "bit", "val", "stride", "typeId", "childStride", "newLength", "Type", "bitmap", "truncateBitmap", "BufferType", "arr", "MakeDataVisitor", "_MakeDataVisitor", "Visitor", "props", "toUint8Array", "data", "toArrayBufferView", "toInt32Array", "len", "DataType", "Vector", "makeData", "ChunkedIterator", "numChunks", "getChunkIterator", "next", "computeChunkNullCounts", "chunks", "nullCount", "chunk", "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", "get", "instance", "compare", "createElementComparator", "n", "indexOfUnion", "IteratorVisitor", "Visitor", "vectorIterator", "vector", "type", "Type", "Int_", "Time_", "Float", "Precision", "ChunkedIterator", "chunkIndex", "data", "offset", "length", "inner", "VectorIterator", "instance", "sum", "x", "y", "GetByteLengthVisitor", "Visitor", "____", "_", "data", "TimeUnit", "i", "total", "child", "instance", "_a", "getUtf8ByteLength", "valueOffsets", "index", "getBinaryByteLength", "getListByteLength", "stride", "children", "start", "end", "visit", "slice", "size", "idx", "len", "getFixedSizeListByteLength", "getUnionByteLength", "UnionMode", "getDenseUnionByteLength", "getSparseUnionByteLength", "type", "typeIds", "childIndex", "visitorsByTypeId", "vectorPrototypesByTypeId", "Vector", "_Vector", "input", "data", "x", "Data", "type", "_b", "get", "set", "indexOf", "byteLength", "unchunkedData", "index", "isChunkedValid", "value", "computeChunkOffsets", "strideForType", "_d", "_c", "computeChunkNullCounts", "Type", "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", "sliceOrExtendArray", "arr", "memcpy", "BufferBuilder", "buffer", "stride", "index", "value", "extra", "length", "reserved", "array", "newLength", "DataBufferBuilder", "BitmapBufferBuilder", "data", "idx", "val", "byte", "bit", "cur", "OffsetsBufferBuilder", "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", "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", "bytes", "list", "ret", "val", "startFunc", "KeyValue", "_KeyValue", "i", "bb", "obj", "optionalEncoding", "offset", "builder", "keyOffset", "valueOffset", "MetadataVersion", "Endianness", "DictionaryKind", "Int", "_Int", "i", "bb", "obj", "offset", "builder", "bitWidth", "isSigned", "DictionaryEncoding", "_DictionaryEncoding", "i", "bb", "obj", "offset", "Int", "DictionaryKind", "builder", "id", "indexTypeOffset", "isOrdered", "dictionaryKind", "Binary", "_Binary", "i", "bb", "obj", "builder", "Bool", "_Bool", "i", "bb", "obj", "builder", "DateUnit", "Date", "_Date", "i", "bb", "obj", "offset", "DateUnit", "builder", "unit", "Decimal", "_Decimal", "i", "bb", "obj", "offset", "builder", "precision", "scale", "bitWidth", "TimeUnit", "FixedSizeBinary", "_FixedSizeBinary", "i", "bb", "obj", "offset", "builder", "byteWidth", "FixedSizeList", "_FixedSizeList", "i", "bb", "obj", "offset", "builder", "listSize", "Precision", "FloatingPoint", "_FloatingPoint", "i", "bb", "obj", "offset", "Precision", "builder", "precision", "IntervalUnit", "Interval", "_Interval", "i", "bb", "obj", "offset", "IntervalUnit", "builder", "unit", "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", "UnionMode", "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", "Footer", "_Footer", "i", "bb", "obj", "offset", "MetadataVersion", "Schema", "index", "Block", "KeyValue", "builder", "version", "schemaOffset", "dictionariesOffset", "numElems", "recordBatchesOffset", "customMetadataOffset", "data", "Schema", "_Schema", "fields", "metadata", "dictionaries", "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", "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", "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", "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", "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", "GetBuilderCtor", "Visitor", "NullBuilder", "BoolBuilder", "IntBuilder", "Int8Builder", "Int16Builder", "Int32Builder", "Int64Builder", "Uint8Builder", "Uint16Builder", "Uint32Builder", "Uint64Builder", "FloatBuilder", "Float16Builder", "Float32Builder", "Float64Builder", "Utf8Builder", "BinaryBuilder", "FixedSizeBinaryBuilder", "DateBuilder", "DateDayBuilder", "DateMillisecondBuilder", "TimestampBuilder", "TimestampSecondBuilder", "TimestampMillisecondBuilder", "TimestampMicrosecondBuilder", "TimestampNanosecondBuilder", "TimeBuilder", "TimeSecondBuilder", "TimeMillisecondBuilder", "TimeMicrosecondBuilder", "TimeNanosecondBuilder", "DecimalBuilder", "ListBuilder", "StructBuilder", "UnionBuilder", "DenseUnionBuilder", "SparseUnionBuilder", "DictionaryBuilder", "IntervalBuilder", "IntervalDayTimeBuilder", "IntervalYearMonthBuilder", "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", "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", "i", "Field", "batches", "distributeVectorsIntoRecordBatches", "_c", "_b", "batch", "compareSchemas", "computeChunkOffsets", "data", "numRows", "computeChunkNullCounts", "index", "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", "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", "DataType", "_InternalEmptyPlaceholderRecordBatch", "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", "MessageHeader", "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", "Bool", "Utf8", "Decimal", "Date", "Time", "timezone", "Timestamp", "Interval", "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", "_type", "Int_", "children", "typeId", "Null", "Binary", "Utf8", "Bool", "List", "Struct", "t", "Float", "Precision", "Decimal", "Date_", "DateUnit", "Time_", "TimeUnit", "Timestamp_", "Interval_", "IntervalUnit", "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", "Utf8", "Bool", "List", "Struct", "t", "Int", "FloatingPoint", "Float", "Decimal", "Date", "Date_", "Time", "Time_", "Timestamp", "Timestamp_", "Interval", "Interval_", "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", "nullCount", "addBuffer", "truncateBitmap", "FieldNode", "_null", "values", "byteLength", "BufferRegion", "assembleUnion", "typeIds", "valueOffsets", "UnionMode", "assembleNestedVector", "maxChildTypeId", "x", "y", "childLengths", "childOffsets", "shiftedOffsets", "unshiftedOffsets", "rebaseValueOffsets", "typeId", "shift", "index", "child", "childIndex", "numChildren", "childLength", "assembleBoolVector", "packBools", "assembleFlatVector", "assembleFlatListVector", "firstOffset", "lastOffset", "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", "offset", "data", "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", "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", "AsyncDuckDBDispatcher", "entry", "request", "obj", "p", "conn", "_", "c", "result", "transfer", "infos", "buffer", "import_duckdb_eh", "DuckDBConnection", "bindings", "conn", "callback", "text", "buffer", "reader", "RecordBatchReader", "Table", "header", "resolve", "reject", "e", "iter", "ResultStreamIterator", "query", "stmt", "PreparedStatement", "name", "returns", "func", "table", "options", "tableToIPC", "path", "bufferI8", "connectionId", "statementId", "params", "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", "res", "conn", "DuckDBConnection", "worker", "copyBuffer", "name", "returns", "func", "decl", "arrowToSQLType", "def", "statement", "params", "buffer", "options", "bufferPtr", "optJSON", "path", "k", "arrowToSQLField", "opt", "infoStr", "info", "url", "proto", "directIO", "TEXT_ENCODER", "ptr", "handle", "protocol", "copy", "file", "enable", "FileStatistics", "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", "DuckDBWasm", "import_js_sha256", "getHTTPHost", "config", "url", "bucket", "_a", "httpHost", "offset", "getS3Params", "method", "_b", "_c", "_d", "parsedS3Url", "parseS3Url", "path", "isPathStyleAccess", "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", "BROWSER_RUNTIME", "mod", "fileId", "cached", "s", "d", "n", "callSRet", "infoStr", "readString", "dropResponseBuffers", "info", "file", "_a", "_mod", "feature", "flags", "xhr", "getHTTPUrl", "addS3Headers", "data", "src", "result", "contentLength", "error", "e", "contentLength2", "handle", "buffer", "failWith", "pathPtr", "pathLen", "path", "globalInfo", "xhr2", "_fileId", "newSize", "buf", "bytes", "location", "_b", "sliced", "out", "input", "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
  }