"use strict";(()=>{var qe=Object.create;var Le=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var je=Object.getOwnPropertyNames;var $e=Object.getPrototypeOf,Xe=Object.prototype.hasOwnProperty;var K=(m=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(m,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):m)(function(m){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+m+'" is not supported')});var $=(m,e)=>()=>(e||m((e={exports:{}}).exports,e),e.exports);var Ke=(m,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of je(e))!Xe.call(m,n)&&n!==r&&Le(m,n,{get:()=>e[n],enumerable:!(t=ze(e,n))||t.enumerable});return m};var be=(m,e,r)=>(r=m!=null?qe($e(m)):{},Ke(e||!m||!m.__esModule?Le(r,"default",{value:m,enumerable:!0}):r,m));var te=$(()=>{});var Z=$(()=>{});var le=$(()=>{});var Me=$(()=>{});var ce=$(()=>{});var ue=$((hr,Re)=>{"use strict";Re.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}});var Pe=$((exports,module)=>{"use strict";var DuckDB=(()=>{var m;var _scriptDir=typeof document<"u"?(m=document.currentScript)==null?void 0:m.src:void 0;return typeof __filename<"u"&&(_scriptDir||(_scriptDir=__filename)),function(moduleArg={}){function GROWABLE_HEAP_I8(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAP8}function GROWABLE_HEAP_U8(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAPU8}function GROWABLE_HEAP_I16(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAP16}function GROWABLE_HEAP_U16(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAPU16}function GROWABLE_HEAP_I32(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAP32}function GROWABLE_HEAP_U32(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAPU32}function GROWABLE_HEAP_F32(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAPF32}function GROWABLE_HEAP_F64(){return wasmMemory.buffer!=HEAP8.buffer&&updateMemoryViews(),HEAPF64}var Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((e,r)=>{readyPromiseResolve=e,readyPromiseReject=r}),moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,r)=>{throw r},ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_PTHREAD=Module.ENVIRONMENT_IS_PTHREAD||!1,scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=Z(),nodePath=le();ENVIRONMENT_IS_WORKER?scriptDirectory=nodePath.dirname(scriptDirectory)+"/":scriptDirectory=__dirname+"/",read_=(e,r)=>(e=isFileURI(e)?new URL(e):nodePath.normalize(e),fs.readFileSync(e,r?void 0:"utf8")),readBinary=e=>{var r=read_(e,!0);return r.buffer||(r=new Uint8Array(r)),r},readAsync=(e,r,t,n=!0)=>{e=isFileURI(e)?new URL(e):nodePath.normalize(e),fs.readFile(e,n?void 0:"utf8",(_,a)=>{_?t(_):r(n?a.buffer:a)})},!Module.thisProgram&&process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),quit_=(e,r)=>{throw process.exitCode=e,r},global.Worker=te().Worker}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:typeof document<"u"&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptDir&&(scriptDirectory=_scriptDir),scriptDirectory.startsWith("blob:")?scriptDirectory="":scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),ENVIRONMENT_IS_NODE||(read_=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(readBinary=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),readAsync=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(n.status==200||n.status==0&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)}));ENVIRONMENT_IS_NODE&&typeof performance>"u"&&(global.performance=Me().performance);var defaultPrint=console.log.bind(console),defaultPrintErr=console.error.bind(console);ENVIRONMENT_IS_NODE&&(defaultPrint=(...e)=>fs.writeSync(1,e.join(" ")+"\n"),defaultPrintErr=(...e)=>fs.writeSync(2,e.join(" ")+"\n"));var out=Module.print||defaultPrint,err=Module.printErr||defaultPrintErr;Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.quit&&(quit_=Module.quit);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary;Module.wasmBinary&&(wasmBinary=Module.wasmBinary);var wasmMemory,wasmModule,ABORT=!1,EXITSTATUS;function assert(e,r){e||abort(r)}var HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e)}var INITIAL_MEMORY=Module.INITIAL_MEMORY||16777216;if(ENVIRONMENT_IS_PTHREAD)wasmMemory=Module.wasmMemory;else if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else if(wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:65536,shared:!0}),!(wasmMemory.buffer instanceof SharedArrayBuffer))throw err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),ENVIRONMENT_IS_NODE&&err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");updateMemoryViews(),INITIAL_MEMORY=wasmMemory.buffer.byteLength;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],__RELOC_FUNCS__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,!ENVIRONMENT_IS_PTHREAD&&(callRuntimeCallbacks(__RELOC_FUNCS__),!Module.noFSInit&&!FS.init.initialized&&FS.init(),FS.ignorePermissions=!1,TTY.init(),SOCKFS.root=FS.mount(SOCKFS,{},null),PIPEFS.root=FS.mount(PIPEFS,{},null),callRuntimeCallbacks(__ATINIT__))}function preMain(){ENVIRONMENT_IS_PTHREAD||callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(!ENVIRONMENT_IS_PTHREAD){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){var r;runDependencies++,(r=Module.monitorRunDependencies)==null||r.call(Module,runDependencies)}function removeRunDependency(e){var t;if(runDependencies--,(t=Module.monitorRunDependencies)==null||t.call(Module,runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var r=dependenciesFulfilled;dependenciesFulfilled=null,r()}}function abort(e){var t;(t=Module.onAbort)==null||t.call(Module,e),e="Aborted("+e+")",err(e),ABORT=!0,EXITSTATUS=1,e+=". Build with -sASSERTIONS for more info.",runtimeInitialized&&___trap();var r=new WebAssembly.RuntimeError(e);throw readyPromiseReject(r),r}var dataURIPrefix="data:application/octet-stream;base64,",isDataURI=e=>e.startsWith(dataURIPrefix),isFileURI=e=>e.startsWith("file://"),wasmBinaryFile;wasmBinaryFile="./duckdb-coi.wasm",isDataURI(wasmBinaryFile)||(wasmBinaryFile=locateFile(wasmBinaryFile));function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(e){return!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch=="function"?fetch(e,{credentials:"same-origin"}).then(r=>{if(!r.ok)throw"failed to load wasm binary file at '".concat(e,"'");return r.arrayBuffer()}).catch(()=>getBinarySync(e)):Promise.resolve().then(()=>getBinarySync(e))}function instantiateArrayBuffer(e,r,t){return getBinaryPromise(e).then(n=>WebAssembly.instantiate(n,r)).then(t,n=>{err("failed to asynchronously prepare wasm: ".concat(n)),abort(n)})}function instantiateAsync(e,r,t,n){return!e&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(r)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"?fetch(r,{credentials:"same-origin"}).then(_=>{var a=WebAssembly.instantiateStreaming(_,t);return a.then(n,function(o){return err("wasm streaming compile failed: ".concat(o)),err("falling back to ArrayBuffer instantiation"),instantiateArrayBuffer(r,t,n)})}):instantiateArrayBuffer(r,t,n)}function createWasm(){var e={env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)};function r(n,_){wasmExports=n.exports,wasmExports=relocateExports(wasmExports,1024);var a=getDylinkMetadata(_);return a.neededDynlibs&&(dynamicLibraries=a.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),wasmExports=applySignatureConversions(wasmExports),registerTLSInit(wasmExports._emscripten_tls_init,n.exports,a),addOnInit(wasmExports.__wasm_call_ctors),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),wasmModule=_,removeRunDependency("wasm-instantiate"),wasmExports}addRunDependency("wasm-instantiate");function t(n){r(n.instance,n.module)}if(Module.instantiateWasm)try{return Module.instantiateWasm(e,r)}catch(n){err("Module.instantiateWasm callback failed with error: ".concat(n)),readyPromiseReject(n)}return instantiateAsync(wasmBinary,wasmBinaryFile,e,t).catch(readyPromiseReject),{}}var tempDouble,tempI64,ASM_CONSTS={2313608:(e,r)=>{var t=typeof runtime=="object"&&runtime&&typeof runtime.whereToLoad=="function"&&runtime.whereToLoad?runtime.whereToLoad(UTF8ToString(e)):UTF8ToString(r),n=lengthBytesUTF8(t)+1,_=_malloc(n);return stringToUTF8(t,_,n),_},2313974:(e,r)=>{var t=UTF8ToString(e);if(typeof XMLHttpRequest>"u"){let D=ce(),h=le(),T=Z();var n=t.split("/"),_=n.length,a=h.join(D.homedir(),".duckdb/extensions/"+n[_-4]+"/"+n[_-3]+"/"+n[_-2]+"/"),o=h.join(a,n[_-1]);try{if(T.existsSync(a)||T.mkdirSync(a,{recursive:!0}),T.existsSync(o))u=T.readFileSync(o);else{let x=new Int32Array(new SharedArrayBuffer(8));var l=K("node:worker_threads").Worker,c=new l("const {Worker,isMainThread,parentPort,workerData,} = require('node:worker_threads');var times = 0;var SAB = 23;var Z = 0; async function ZZZ(e) {var x = await fetch(e);var res = await x.arrayBuffer();Atomics.store(SAB, 1, res.byteLength);Atomics.store(SAB, 0, 1);Atomics.notify(SAB, 1);Atomics.notify(SAB, 0);Z = res;};parentPort.on('message', function(event) {if (times == 0) {times++;SAB = event;} else if (times == 1) {times++; ZZZ(event);} else {const a = new Uint8Array(Z);const b = new Uint8Array(event.buffer);var K = Z.byteLength;for (var i = 0; i < K; i++) {b[i] = a[i];}Atomics.notify(event, 0);Atomics.store(SAB, 0, 2);Atomics.notify(SAB, 0);}});",{eval:!0}),u;x[0]=0,x[2]=4,c.postMessage(x),c.postMessage(t),Atomics.wait(x,0,0);let S=new Int32Array(new SharedArrayBuffer(x[1]+3-(x[1]+3)%4));c.postMessage(S),Atomics.wait(x,0,1);var d=new Uint8Array(S.buffer,0,x[1]);u=d,c.terminate(),T.writeFileSync(o,u)}}catch(x){return console.log("Error fetching module",x),0}}else{let D=new XMLHttpRequest;if(D.open("GET",t,!1),D.responseType="arraybuffer",D.send(null),D.status!=200)return 0;u=D.response}for(var p=WebAssembly.validate(u),f=u.byteLength,g=_malloc(f+4),E=new Uint8Array(u),v=0;v{if(!e)return AL.alcErr=40964,1},2316663:e=>{if(!AL.currentCtx)return err("alGetProcAddress() called without a valid context"),1;if(!e)return AL.currentCtx.err=40963,1}};function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit(".concat(e,")"),this.status=e}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,r){var t=GOT[r];return t||(t=GOT[r]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(r)||(t.required=!0),t}},terminateWorker=e=>{e.terminate(),e.onmessage=r=>{}},killThread=e=>{var r=PThread.pthreads[e];delete PThread.pthreads[e],terminateWorker(r),__emscripten_thread_free_data(e),PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(r),1),r.pthread_ptr=0},cancelThread=e=>{var r=PThread.pthreads[e];r.postMessage({cmd:"cancel"})},cleanupThread=e=>{var r=PThread.pthreads[e];PThread.finishedThreads.delete(e),e in PThread.outstandingPromises&&PThread.outstandingPromises[e].resolve(),PThread.returnWorkerToPool(r)},zeroMemory=(e,r)=>(GROWABLE_HEAP_U8().fill(0,e,e+r),e),markAsFinished=e=>{PThread.finishedThreads.add(e),e in PThread.outstandingPromises&&PThread.outstandingPromises[e].resolve()},spawnThread=e=>{var r=PThread.getNewWorker();if(!r)return 6;PThread.runningWorkers.push(r),PThread.pthreads[e.pthread_ptr]=r,r.pthread_ptr=e.pthread_ptr;var t={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return ENVIRONMENT_IS_NODE&&r.unref(),r.postMessage(t,e.transferList),0},runtimeKeepaliveCounter=0,keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0,stackSave=()=>_emscripten_stack_get_current(),stackRestore=e=>__emscripten_stack_restore(e),withStackSave=e=>{var r=stackSave(),t=e();return stackRestore(r),t},stackAlloc=e=>__emscripten_stack_alloc(e),convertI32PairToI53Checked=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+r*4294967296:NaN,proxyToMainThread=(e,r,t,...n)=>withStackSave(()=>{for(var _=n.length,a=stackAlloc(_*8),o=a>>>3,l=0;l>>0]=c}return __emscripten_run_on_main_thread_js(e,r,_,a,t)});function _proc_exit(e){var r;if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(0,0,1,e);EXITSTATUS=e,keepRuntimeAlive()||(PThread.terminateAllThreads(),(r=Module.onExit)==null||r.call(Module,e),ABORT=!0),quit_(e,new ExitStatus(e))}_proc_exit.sig="vi";var exitJS=(e,r)=>{if(EXITSTATUS=e,ENVIRONMENT_IS_PTHREAD)throw exitOnMainThread(e),"unwind";_proc_exit(e)},_exit=exitJS;_exit.sig="vi";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind")return EXITSTATUS;quit_(1,e)},PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){ENVIRONMENT_IS_PTHREAD?PThread.initWorker():PThread.initMainThread()},initMainThread(){for(var e=4;e--;)PThread.allocateUnusedWorker();addOnPreRun(()=>{addRunDependency("loading-workers"),PThread.loadWasmModuleToAllWorkers(()=>removeRunDependency("loading-workers"))}),PThread.outstandingPromises={},PThread.finishedThreads=new Set},initWorker(){noExitRuntime=!1},setExitStatus:e=>EXITSTATUS=e,terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:()=>{for(var e of PThread.runningWorkers)terminateWorker(e);for(var e of PThread.unusedWorkers)terminateWorker(e);PThread.unusedWorkers=[],PThread.runningWorkers=[],PThread.pthreads=[]},returnWorkerToPool:e=>{var r=e.pthread_ptr;delete PThread.pthreads[r],PThread.unusedWorkers.push(e),PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(e),1),e.pthread_ptr=0,__emscripten_thread_free_data(r)},receiveObjectTransfer(e){},threadInitTLS(){PThread.tlsInitFunctions.forEach(e=>e())},loadWasmModuleToWorker:e=>new Promise(r=>{e.onmessage=a=>{var o=a.data,l=o.cmd;if(o.targetThread&&o.targetThread!=_pthread_self()){var c=PThread.pthreads[o.targetThread];c?c.postMessage(o,o.transferList):err('Internal error! Worker sent a message "'.concat(l,'" to target pthread ').concat(o.targetThread,", but that thread no longer exists!"));return}l==="checkMailbox"?checkMailbox():l==="spawnThread"?spawnThread(o):l==="cleanupThread"?cleanupThread(o.thread):l==="markAsFinished"?markAsFinished(o.thread):l==="killThread"?killThread(o.thread):l==="cancelThread"?cancelThread(o.thread):l==="loaded"?(e.loaded=!0,ENVIRONMENT_IS_NODE&&!e.pthread_ptr&&e.unref(),r(e)):l==="alert"?alert("Thread ".concat(o.threadId,": ").concat(o.text)):o.target==="setimmediate"?e.postMessage(o):l==="callHandler"?Module[o.handler](...o.args):l&&err("worker sent an unknown command ".concat(l))},e.onerror=a=>{var o="worker sent an error!";throw err("".concat(o," ").concat(a.filename,":").concat(a.lineno,": ").concat(a.message)),a},ENVIRONMENT_IS_NODE&&(e.on("message",a=>e.onmessage({data:a})),e.on("error",a=>e.onerror(a)));var t=[],n=["onExit","onAbort","print","printErr"];for(var _ of n)Module.hasOwnProperty(_)&&t.push(_);e.postMessage({cmd:"load",handlers:t,urlOrBlob:Module.mainScriptUrlOrBlob||_scriptDir,wasmMemory,wasmModule,sharedModules})}),loadWasmModuleToAllWorkers(e){if(ENVIRONMENT_IS_PTHREAD)return e();Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker(){var e,r=locateFile("duckdb_wasm.worker.js");e=new Worker(r),PThread.unusedWorkers.push(e)},getNewWorker(){return PThread.unusedWorkers.length==0&&(PThread.allocateUnusedWorker(),PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])),PThread.unusedWorkers.pop()}};Module.PThread=PThread;var callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(Module)},establishStackSpace=()=>{var e=_pthread_self(),r=GROWABLE_HEAP_U32()[e+52>>>2>>>0],t=GROWABLE_HEAP_U32()[e+56>>>2>>>0],n=r-t;_emscripten_stack_set_limits(r,n),stackRestore(r)};Module.establishStackSpace=establishStackSpace;function exitOnMainThread(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(1,0,0,e);_exit(e)}var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,UTF8ArrayToString=(e,r,t)=>{r>>>=0;for(var n=r+t,_=r;e[_]&&!(_>=n);)++_;if(_-r>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.slice(r,_));for(var a="";r<_;){var o=e[r++];if(!(o&128)){a+=String.fromCharCode(o);continue}var l=e[r++]&63;if((o&224)==192){a+=String.fromCharCode((o&31)<<6|l);continue}var c=e[r++]&63;if((o&240)==224?o=(o&15)<<12|l<<6|c:o=(o&7)<<18|l<<12|c<<6|e[r++]&63,o<65536)a+=String.fromCharCode(o);else{var u=o-65536;a+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return a},getDylinkMetadata=e=>{var r=0,t=0;function n(){return e[r++]}function _(){for(var P=0,I=1;;){var k=e[r++];if(P+=(k&127)*I,I*=128,!(k&128))break}return P}function a(){var P=_();return r+=P,UTF8ArrayToString(e,r-P,P)}function o(P,I){if(P)throw new Error(I)}var l="dylink.0";if(e instanceof WebAssembly.Module){var c=WebAssembly.Module.customSections(e,l);c.length===0&&(l="dylink",c=WebAssembly.Module.customSections(e,l)),o(c.length===0,"need dylink section"),e=new Uint8Array(c[0]),t=e.length}else{var u=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer),d=u[0]==1836278016;o(!d,"need to see wasm magic number"),o(e[8]!==0,"need the dylink section to be first"),r=9;var p=_();t=r+p,l=a()}var f={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(l=="dylink"){f.memorySize=_(),f.memoryAlign=_(),f.tableSize=_(),f.tableAlign=_();for(var g=_(),E=0;E>>0];case"i8":return GROWABLE_HEAP_I8()[e>>>0];case"i16":return GROWABLE_HEAP_I16()[e>>>1>>>0];case"i32":return GROWABLE_HEAP_I32()[e>>>2>>>0];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return GROWABLE_HEAP_F32()[e>>>2>>>0];case"double":return GROWABLE_HEAP_F64()[e>>>3>>>0];case"*":return GROWABLE_HEAP_U32()[e>>>2>>>0];default:abort("invalid type for getValue: ".concat(r))}}var wasmTable=new WebAssembly.Table({initial:23348,element:"anyfunc"}),getWasmTableEntry=e=>wasmTable.get(e),invokeEntryPoint=(e,r)=>{runtimeKeepaliveCounter=0,__emscripten_dlsync_self();var t=getWasmTableEntry(e)(r);function n(_){keepRuntimeAlive()?PThread.setExitStatus(_):__emscripten_thread_exit(_)}n(t)};Module.invokeEntryPoint=invokeEntryPoint;var newDSO=(e,r,t)=>{var n={refcount:1/0,name:e,exports:t,global:!0};return LDSO.loadedLibsByName[e]=n,r!=null&&(LDSO.loadedLibsByHandle[r]=n),n},LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=2454624,alignMemory=(e,r)=>Math.ceil(e/r)*r,getMemory=e=>{if(runtimeInitialized)return zeroMemory(_malloc(e),e);var r=___heap_base,t=r+alignMemory(e,16);return ___heap_base=t,GOT.__heap_base.value=t,r},isInternalSym=e=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(e)||e.startsWith("__em_js__"),uleb128Encode=(e,r)=>{e<128?r.push(e):r.push(e%128|128,e>>7)},sigToWasmTypes=e=>{for(var r={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:e[0]=="v"?[]:[r[e[0]]]},n=1;n{var t=e.slice(0,1),n=e.slice(1),_={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),uleb128Encode(n.length,r);for(var a=0;a{if(typeof WebAssembly.Function=="function")return new WebAssembly.Function(sigToWasmTypes(r),e);var t=[1];generateFuncType(r,t);var n=[0,97,115,109,1,0,0,0,1];uleb128Encode(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var _=new WebAssembly.Module(new Uint8Array(n)),a=new WebAssembly.Instance(_,{e:{f:e}}),o=a.exports.f;return o},updateTableMap=(e,r)=>{if(functionsInTableMap)for(var t=e;t(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){throw e instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":e}return wasmTable.length-1},setWasmTableEntry=(e,r)=>wasmTable.set(e,r),addFunction=(e,r)=>{var t=getFunctionAddress(e);if(t)return t;var n=getEmptyTableSlot();try{setWasmTableEntry(n,e)}catch(a){if(!(a instanceof TypeError))throw a;var _=convertJsFunctionToWasm(e,r);setWasmTableEntry(n,_)}return functionsInTableMap.set(e,n),n},updateGOT=(e,r)=>{for(var t in e)if(!isInternalSym(t)){var n=e[t];t.startsWith("orig$")&&(t=t.split("$")[1],r=!0),GOT[t]||(GOT[t]=new WebAssembly.Global({value:"i32",mutable:!0})),(r||GOT[t].value==0)&&(typeof n=="function"?GOT[t].value=addFunction(n):typeof n=="number"?GOT[t].value=n:err("unhandled export type for '".concat(t,"': ").concat(typeof n)))}},relocateExports=(e,r,t)=>{var n={};for(var _ in e){var a=e[_];typeof a=="object"&&(a=a.value),typeof a=="number"&&(a+=r),n[_]=a}return updateGOT(n,t),n},isSymbolDefined=e=>{var r=wasmImports[e];return!(!r||r.stub)},resolveGlobalSymbol=(e,r=!1)=>{var t;return r&&"orig$"+e in wasmImports&&(e="orig$"+e),isSymbolDefined(e)&&(t=wasmImports[e]),{sym:t,name:e}},UTF8ToString=(e,r)=>(e>>>=0,e?UTF8ArrayToString(GROWABLE_HEAP_U8(),e,r):""),loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!GROWABLE_HEAP_I8()[handle+8>>>0];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(GROWABLE_HEAP_I8()[handle+8>>>0]=1,GROWABLE_HEAP_U32()[handle+12>>>2>>>0]=memoryBase,GROWABLE_HEAP_I32()[handle+16>>>2>>>0]=metadata.memorySize,GROWABLE_HEAP_U32()[handle+20>>>2>>>0]=tableBase,GROWABLE_HEAP_I32()[handle+24>>>2>>>0]=metadata.tableSize)}else memoryBase=GROWABLE_HEAP_U32()[handle+12>>>2>>>0],tableBase=GROWABLE_HEAP_U32()[handle+20>>>2>>>0];var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;tableGrowthNeeded>0&&wasmTable.grow(tableGrowthNeeded);var moduleExports;function resolveSymbol(e){var r=resolveGlobalSymbol(e).sym;return!r&&localScope&&(r=localScope[e]),r||(r=moduleExports[e]),r}var proxyHandler={get(e,r){if(r.startsWith("invoke_"))return createDyncallWrapper(r.substring(7));switch(r){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(r in wasmImports&&!wasmImports[r].stub)return wasmImports[r];if(!(r in e)){var t;e[r]=(...n)=>(t||(t=resolveSymbol(r)),t(...n))}return e[r]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){!ENVIRONMENT_IS_PTHREAD&&libName&&(sharedModules[libName]=module),updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func="(".concat(args,") => { ").concat(body," };");ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start ").concat(body,";");moduleExports[name]=eval(func)}for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}if(registerTLSInit(moduleExports._emscripten_tls_init,instance.exports,metadata),firstLoad){var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;init&&(runtimeInitialized?init():__ATINIT__.push(init))}return moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(e=>postInstantiation(e.module,e.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return flags.loadAsync?metadata.neededDynlibs.reduce((e,r)=>e.then(()=>loadDynamicLibrary(r,flags)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},mergeLibSymbols=(e,r)=>{for(var[t,n]of Object.entries(e))(a=>{isSymbolDefined(a)||(wasmImports[a]=n)})(t),t.startsWith("dynCall_")&&!Module.hasOwnProperty(t)&&(Module[t]=n)},asyncLoad=(e,r,t,n)=>{var _=n?"":"al ".concat(e);readAsync(e,a=>{r(new Uint8Array(a)),_&&removeRunDependency(_)},a=>{if(t)t();else throw'Loading data file "'.concat(e,'" failed.')}),_&&addRunDependency(_)},preloadPlugins=Module.preloadPlugins||[],registerWasmPlugin=()=>{var e={promiseChainEnd:Promise.resolve(),canHandle:r=>!Module.noWasmDecoding&&r.endsWith(".so"),handle:(r,t,n,_)=>{e.promiseChainEnd=e.promiseChainEnd.then(()=>loadWebAssemblyModule(r,{loadAsync:!0,nodelete:!0},t)).then(a=>{preloadedWasm[t]=a,n(r)},a=>{err("failed to instantiate wasm: ".concat(t,": ").concat(a)),_()})}};preloadPlugins.push(e)},preloadedWasm={};function loadDynamicLibrary(e,r={global:!0,nodelete:!0},t,n){var _=LDSO.loadedLibsByName[e];if(_)return r.global?_.global||(_.global=!0,mergeLibSymbols(_.exports,e)):t&&Object.assign(t,_.exports),r.nodelete&&_.refcount!==1/0&&(_.refcount=1/0),_.refcount++,n&&(LDSO.loadedLibsByHandle[n]=_),r.loadAsync?Promise.resolve(!0):!0;_=newDSO(e,n,"loading"),_.refcount=r.nodelete?1/0:1,_.global=r.global;function a(){var c=sharedModules[e];if(c)return r.loadAsync?Promise.resolve(c):c;if(n){var u=GROWABLE_HEAP_U32()[n+28>>>2>>>0],d=GROWABLE_HEAP_U32()[n+32>>>2>>>0];if(u&&d){var p=GROWABLE_HEAP_I8().slice(u,u+d);return r.loadAsync?Promise.resolve(p):p}}var f=locateFile(e);if(r.loadAsync)return new Promise(function(g,E){asyncLoad(f,g,E)});if(!readBinary)throw new Error("".concat(f,": file not found, and synchronous loading of external files is not available"));return readBinary(f)}function o(){var c=preloadedWasm[e];return c?r.loadAsync?Promise.resolve(c):c:r.loadAsync?a().then(u=>loadWebAssemblyModule(u,r,e,t,n)):loadWebAssemblyModule(a(),r,e,t,n)}function l(c){_.global?mergeLibSymbols(c,e):t&&Object.assign(t,c),_.exports=c}return r.loadAsync?o().then(c=>(l(c),!0)):(l(o()),!0)}var reportUndefinedSymbols=()=>{for(var[e,r]of Object.entries(GOT))if(r.value==0){var t=resolveGlobalSymbol(e,!0).sym;if(!t&&!r.required)continue;if(typeof t=="function")r.value=addFunction(t,t.sig);else if(typeof t=="number")r.value=t;else throw new Error("bad export type for '".concat(e,"': ").concat(typeof t))}},loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs"),dynamicLibraries.reduce((e,r)=>e.then(()=>loadDynamicLibrary(r,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency("loadDylibs")})},noExitRuntime=Module.noExitRuntime||!0,registerTLSInit=(e,r,t)=>{function n(){var _=e();if(_){var a={};t.tlsExports.forEach(o=>a[o]=r[o]),relocateExports(a,_,!0)}}PThread.tlsInitFunctions.push(n),runtimeInitialized&&n()};function setValue(e,r,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":GROWABLE_HEAP_I8()[e>>>0]=r;break;case"i8":GROWABLE_HEAP_I8()[e>>>0]=r;break;case"i16":GROWABLE_HEAP_I16()[e>>>1>>>0]=r;break;case"i32":GROWABLE_HEAP_I32()[e>>>2>>>0]=r;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":GROWABLE_HEAP_F32()[e>>>2>>>0]=r;break;case"double":GROWABLE_HEAP_F64()[e>>>3>>>0]=r;break;case"*":GROWABLE_HEAP_U32()[e>>>2>>>0]=r;break;default:abort("invalid type for setValue: ".concat(t))}}function ___assert_fail(e,r,t,n){e>>>=0,r>>>=0,n>>>=0,abort("Assertion failed: ".concat(UTF8ToString(e),", at: ")+[r?UTF8ToString(r):"unknown filename",t,n?UTF8ToString(n):"unknown function"])}___assert_fail.sig="vppip";var ___c_longjmp=new WebAssembly.Tag({parameters:["i32"]});function ___call_sighandler(e,r){return e>>>=0,getWasmTableEntry(e)(r)}___call_sighandler.sig="vpi";var ___cpp_exception=new WebAssembly.Tag({parameters:["i32"]});function ___emscripten_init_main_thread_js(e){e>>>=0,__emscripten_thread_init(e,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB,65536,!1),PThread.threadInitTLS()}___emscripten_init_main_thread_js.sig="vp";function ___emscripten_thread_cleanup(e){e>>>=0,ENVIRONMENT_IS_PTHREAD?postMessage({cmd:"cleanupThread",thread:e}):cleanupThread(e)}___emscripten_thread_cleanup.sig="vp";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024);function pthreadCreateProxied(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(2,0,1,e,r,t,n):___pthread_create_js(e,r,t,n)}function ___pthread_create_js(e,r,t,n){if(e>>>=0,r>>>=0,t>>>=0,n>>>=0,typeof SharedArrayBuffer>"u")return err("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var _=[],a=0;if(ENVIRONMENT_IS_PTHREAD&&(_.length===0||a))return pthreadCreateProxied(e,r,t,n);if(a)return a;var o={startRoutine:t,pthread_ptr:e,arg:n,transferList:_};return ENVIRONMENT_IS_PTHREAD?(o.cmd="spawnThread",postMessage(o,_),0):spawnThread(o)}___pthread_create_js.sig="ipppp";function ___pthread_kill_js(e,r){return e>>>=0,r===33?ENVIRONMENT_IS_PTHREAD?postMessage({cmd:"cancelThread",thread:e}):cancelThread(e):ENVIRONMENT_IS_PTHREAD?postMessage({cmd:"killThread",thread:e}):killThread(e),0}___pthread_kill_js.sig="ipi";var ___stack_high=2454624,___stack_low=2389088,___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},2454624),PATH={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var _=e[n];_==="."?e.splice(n,1):_===".."?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=PATH.isAbs(e),t=e.substr(-1)==="/";return e=PATH.normalizeArray(e.split("/").filter(n=>!!n),!r).join("/"),!e&&!r&&(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=PATH.splitPath(e),t=r[0],n=r[1];return!t&&!n?".":(n&&(n=n.substr(0,n.length-1)),t+n)},basename:e=>{if(e==="/")return"/";e=PATH.normalize(e),e=e.replace(/\/$/,"");var r=e.lastIndexOf("/");return r===-1?e:e.substr(r+1)},join:(...e)=>PATH.normalize(e.join("/")),join2:(e,r)=>PATH.normalize(e+"/"+r)},initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return n=>(n.set(crypto.getRandomValues(new Uint8Array(n.byteLength))),n);if(ENVIRONMENT_IS_NODE)try{var e=K("crypto"),r=e.randomFillSync;if(r)return n=>e.randomFillSync(n);var t=e.randomBytes;return n=>(n.set(t(n.byteLength)),n)}catch(n){}abort("initRandomDevice")},randomFill=e=>(randomFill=initRandomFill())(e),PATH_FS={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var _=n>=0?e[n]:FS.cwd();if(typeof _!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!_)return"";r=_+"/"+r,t=PATH.isAbs(_)}return r=PATH.normalizeArray(r.split("/").filter(a=>!!a),!t).join("/"),(t?"/":"")+r||"."},relative:(e,r)=>{e=PATH_FS.resolve(e).substr(1),r=PATH_FS.resolve(r).substr(1);function t(u){for(var d=0;d=0&&u[p]==="";p--);return d>p?[]:u.slice(d,p-d+1)}for(var n=t(e.split("/")),_=t(r.split("/")),a=Math.min(n.length,_.length),o=a,l=0;l{for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r},stringToUTF8Array=(e,r,t,n)=>{if(t>>>=0,!(n>0))return 0;for(var _=t,a=t+n-1,o=0;o=55296&&l<=57343){var c=e.charCodeAt(++o);l=65536+((l&1023)<<10)|c&1023}if(l<=127){if(t>=a)break;r[t++>>>0]=l}else if(l<=2047){if(t+1>=a)break;r[t++>>>0]=192|l>>6,r[t++>>>0]=128|l&63}else if(l<=65535){if(t+2>=a)break;r[t++>>>0]=224|l>>12,r[t++>>>0]=128|l>>6&63,r[t++>>>0]=128|l&63}else{if(t+3>=a)break;r[t++>>>0]=240|l>>18,r[t++>>>0]=128|l>>12&63,r[t++>>>0]=128|l>>6&63,r[t++>>>0]=128|l&63}}return r[t>>>0]=0,t-_};function intArrayFromString(e,r,t){var n=t>0?t:lengthBytesUTF8(e)+1,_=new Array(n),a=stringToUTF8Array(e,_,0,_.length);return r&&(_.length=a),_}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var e=null;if(ENVIRONMENT_IS_NODE){var r=256,t=Buffer.alloc(r),n=0,_=process.stdin.fd;try{n=fs.readSync(_,t)}catch(a){if(a.toString().includes("EOF"))n=0;else throw a}n>0?e=t.slice(0,n).toString("utf-8"):e=null}else typeof window<"u"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+="\n")):typeof readline=="function"&&(e=readline(),e!==null&&(e+="\n"));if(!e)return null;FS_stdin_getChar_buffer=intArrayFromString(e,!0)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(e,r){TTY.ttys[e]={input:[],output:[],ops:r},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open(e){var r=TTY.ttys[e.node.rdev];if(!r)throw new FS.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,_){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(60);for(var a=0,o=0;o0&&(out(UTF8ArrayToString(e.output,0)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,r,t){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,r){r===null||r===10?(err(UTF8ArrayToString(e.output,0)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(err(UTF8ArrayToString(e.output,0)),e.output=[])}}},mmapAlloc=e=>{e=alignMemory(e,65536);var r=_emscripten_builtin_memalign(65536,e);return r?zeroMemory(r,e):0},MEMFS={ops_table:null,mount(e){return MEMFS.createNode(null,"/",16895,0)},createNode(e,r,t,n){if(FS.isBlkdev(t)||FS.isFIFO(t))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var _=FS.createNode(e,r,t,n);return FS.isDir(_.mode)?(_.node_ops=MEMFS.ops_table.dir.node,_.stream_ops=MEMFS.ops_table.dir.stream,_.contents={}):FS.isFile(_.mode)?(_.node_ops=MEMFS.ops_table.file.node,_.stream_ops=MEMFS.ops_table.file.stream,_.usedBytes=0,_.contents=null):FS.isLink(_.mode)?(_.node_ops=MEMFS.ops_table.link.node,_.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(_.mode)&&(_.node_ops=MEMFS.ops_table.chrdev.node,_.stream_ops=MEMFS.ops_table.chrdev.stream),_.timestamp=Date.now(),e&&(e.contents[r]=_,e.timestamp=_.timestamp),_},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){var n=1024*1024;r=Math.max(r,t*(t>>0),t!=0&&(r=Math.max(r,256));var _=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(_.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(r==0)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=FS.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,FS.isDir(e.mode)?r.size=4096:FS.isFile(e.mode)?r.size=e.usedBytes:FS.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){r.mode!==void 0&&(e.mode=r.mode),r.timestamp!==void 0&&(e.timestamp=r.timestamp),r.size!==void 0&&MEMFS.resizeFileStorage(e,r.size)},lookup(e,r){throw FS.genericErrors[44]},mknod(e,r,t,n){return MEMFS.createNode(e,r,t,n)},rename(e,r,t){if(FS.isDir(e.mode)){var n;try{n=FS.lookupNode(r,t)}catch(a){}if(n)for(var _ in n.contents)throw new FS.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=FS.lookupNode(e,r);for(var n in t.contents)throw new FS.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=MEMFS.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!FS.isLink(e.mode))throw new FS.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,_){var a=e.node.contents;if(_>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-_,n);if(o>8&&a.subarray)r.set(a.subarray(_,_+o),t);else for(var l=0;l0||t+r>>0)}return{ptr:a,allocated:o}},msync(e,r,t,n,_){return MEMFS.stream_ops.write(e,r,0,n,t,!1),0}}},FS_createDataFile=(e,r,t,n,_,a)=>{FS.createDataFile(e,r,t,n,_,a)},FS_handledByPreloadPlugin=(e,r,t,n)=>{typeof Browser<"u"&&Browser.init();var _=!1;return preloadPlugins.forEach(a=>{_||a.canHandle(r)&&(a.handle(e,r,t,n),_=!0)}),_},FS_createPreloadedFile=(e,r,t,n,_,a,o,l,c,u)=>{var d=r?PATH_FS.resolve(PATH.join2(e,r)):e,p="cp ".concat(d);function f(g){function E(v){u==null||u(),l||FS_createDataFile(e,r,v,n,_,c),a==null||a(),removeRunDependency(p)}FS_handledByPreloadPlugin(g,d,E,()=>{o==null||o(),removeRunDependency(p)})||E(g)}addRunDependency(p),typeof t=="string"?asyncLoad(t,f,o):f(t)},FS_modeStringToFlags=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},t=r[e];if(typeof t>"u")throw new Error("Unknown file open mode: ".concat(e));return t},FS_getMode=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=FS.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(e,r={}){if(e=PATH_FS.resolve(e),!e)return{path:"",node:null};var t={follow_mount:!0,recurse_count:0};if(r=Object.assign(t,r),r.recurse_count>8)throw new FS.ErrnoError(32);for(var n=e.split("/").filter(p=>!!p),_=FS.root,a="/",o=0;o40)throw new FS.ErrnoError(32)}}return{path:a,node:_}},getPath(e){for(var r;;){if(FS.isRoot(e)){var t=e.mount.mountpoint;return r?t[t.length-1]!=="/"?"".concat(t,"/").concat(r):t+r:t}r=r?"".concat(e.name,"/").concat(r):e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n>>0)%FS.nameTable.length},hashAddNode(e){var r=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[r],FS.nameTable[r]=e},hashRemoveNode(e){var r=FS.hashName(e.parent.id,e.name);if(FS.nameTable[r]===e)FS.nameTable[r]=e.name_next;else for(var t=FS.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=FS.mayLookup(e);if(t)throw new FS.ErrnoError(t);for(var n=FS.hashName(e.id,r),_=FS.nameTable[n];_;_=_.name_next){var a=_.name;if(_.parent.id===e.id&&a===r)return _}return FS.lookup(e,r)},createNode(e,r,t,n){var _=new FS.FSNode(e,r,t,n);return FS.hashAddNode(_),_},destroyNode(e){FS.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var r=["r","w","rw"][e&3];return e&512&&(r+="w"),r},nodePermissions(e,r){return FS.ignorePermissions?0:r.includes("r")&&!(e.mode&292)||r.includes("w")&&!(e.mode&146)||r.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!FS.isDir(e.mode))return 54;var r=FS.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{var t=FS.lookupNode(e,r);return 20}catch(n){}return FS.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=FS.lookupNode(e,r)}catch(a){return a.errno}var _=FS.nodePermissions(e,"wx");if(_)return _;if(t){if(!FS.isDir(n.mode))return 54;if(FS.isRoot(n)||FS.getPath(n)===FS.cwd())return 10}else if(FS.isDir(n.mode))return 31;return 0},mayOpen(e,r){return e?FS.isLink(e.mode)?32:FS.isDir(e.mode)&&(FS.flagsToPermissionString(r)!=="r"||r&512)?31:FS.nodePermissions(e,FS.flagsToPermissionString(r)):44},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=FS.MAX_OPEN_FDS;e++)if(!FS.streams[e])return e;throw new FS.ErrnoError(33)},getStreamChecked(e){var r=FS.getStream(e);if(!r)throw new FS.ErrnoError(8);return r},getStream:e=>FS.streams[e],createStream(e,r=-1){return e=Object.assign(new FS.FSStream,e),r==-1&&(r=FS.nextfd()),e.fd=r,FS.streams[r]=e,e},closeStream(e){FS.streams[e]=null},dupStream(e,r=-1){var n,_;var t=FS.createStream(e,r);return(_=(n=t.stream_ops)==null?void 0:n.dup)==null||_.call(n,t),t},chrdev_stream_ops:{open(e){var t,n;var r=FS.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,(n=(t=e.stream_ops).open)==null||n.call(t,e)},llseek(){throw new FS.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,r)=>e<<8|r,registerDevice(e,r){FS.devices[e]={stream_ops:r}},getDevice:e=>FS.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){typeof e=="function"&&(r=e,e=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err("warning: ".concat(FS.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var t=FS.getMounts(FS.root.mount),n=0;function _(o){return FS.syncFSRequests--,r(o)}function a(o){if(o)return a.errored?void 0:(a.errored=!0,_(o));++n>=t.length&&_(null)}t.forEach(o=>{if(!o.type.syncfs)return a(null);o.type.syncfs(o,e,a)})},mount(e,r,t){var n=t==="/",_=!t,a;if(n&&FS.root)throw new FS.ErrnoError(10);if(!n&&!_){var o=FS.lookupPath(t,{follow_mount:!1});if(t=o.path,a=o.node,FS.isMountpoint(a))throw new FS.ErrnoError(10);if(!FS.isDir(a.mode))throw new FS.ErrnoError(54)}var l={type:e,opts:r,mountpoint:t,mounts:[]},c=e.mount(l);return c.mount=l,l.root=c,n?FS.root=c:a&&(a.mounted=l,a.mount&&a.mount.mounts.push(l)),c},unmount(e){var r=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(r.node))throw new FS.ErrnoError(28);var t=r.node,n=t.mounted,_=FS.getMounts(n);Object.keys(FS.nameTable).forEach(o=>{for(var l=FS.nameTable[o];l;){var c=l.name_next;_.includes(l.mount)&&FS.destroyNode(l),l=c}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup(e,r){return e.node_ops.lookup(e,r)},mknod(e,r,t){var n=FS.lookupPath(e,{parent:!0}),_=n.node,a=PATH.basename(e);if(!a||a==="."||a==="..")throw new FS.ErrnoError(28);var o=FS.mayCreate(_,a);if(o)throw new FS.ErrnoError(o);if(!_.node_ops.mknod)throw new FS.ErrnoError(63);return _.node_ops.mknod(_,a,r,t)},create(e,r){return r=r!==void 0?r:438,r&=4095,r|=32768,FS.mknod(e,r,0)},mkdir(e,r){return r=r!==void 0?r:511,r&=1023,r|=16384,FS.mknod(e,r,0)},mkdirTree(e,r){for(var t=e.split("/"),n="",_=0;_"u"&&(t=r,r=438),r|=8192,FS.mknod(e,r,t)},symlink(e,r){if(!PATH_FS.resolve(e))throw new FS.ErrnoError(44);var t=FS.lookupPath(r,{parent:!0}),n=t.node;if(!n)throw new FS.ErrnoError(44);var _=PATH.basename(r),a=FS.mayCreate(n,_);if(a)throw new FS.ErrnoError(a);if(!n.node_ops.symlink)throw new FS.ErrnoError(63);return n.node_ops.symlink(n,_,e)},rename(e,r){var t=PATH.dirname(e),n=PATH.dirname(r),_=PATH.basename(e),a=PATH.basename(r),o,l,c;if(o=FS.lookupPath(e,{parent:!0}),l=o.node,o=FS.lookupPath(r,{parent:!0}),c=o.node,!l||!c)throw new FS.ErrnoError(44);if(l.mount!==c.mount)throw new FS.ErrnoError(75);var u=FS.lookupNode(l,_),d=PATH_FS.relative(e,n);if(d.charAt(0)!==".")throw new FS.ErrnoError(28);if(d=PATH_FS.relative(r,t),d.charAt(0)!==".")throw new FS.ErrnoError(55);var p;try{p=FS.lookupNode(c,a)}catch(E){}if(u!==p){var f=FS.isDir(u.mode),g=FS.mayDelete(l,_,f);if(g)throw new FS.ErrnoError(g);if(g=p?FS.mayDelete(c,a,f):FS.mayCreate(c,a),g)throw new FS.ErrnoError(g);if(!l.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(u)||p&&FS.isMountpoint(p))throw new FS.ErrnoError(10);if(c!==l&&(g=FS.nodePermissions(l,"w"),g))throw new FS.ErrnoError(g);FS.hashRemoveNode(u);try{l.node_ops.rename(u,c,a)}catch(E){throw E}finally{FS.hashAddNode(u)}}},rmdir(e){var r=FS.lookupPath(e,{parent:!0}),t=r.node,n=PATH.basename(e),_=FS.lookupNode(t,n),a=FS.mayDelete(t,n,!0);if(a)throw new FS.ErrnoError(a);if(!t.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(_))throw new FS.ErrnoError(10);t.node_ops.rmdir(t,n),FS.destroyNode(_)},readdir(e){var r=FS.lookupPath(e,{follow:!0}),t=r.node;if(!t.node_ops.readdir)throw new FS.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var r=FS.lookupPath(e,{parent:!0}),t=r.node;if(!t)throw new FS.ErrnoError(44);var n=PATH.basename(e),_=FS.lookupNode(t,n),a=FS.mayDelete(t,n,!1);if(a)throw new FS.ErrnoError(a);if(!t.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(_))throw new FS.ErrnoError(10);t.node_ops.unlink(t,n),FS.destroyNode(_)},readlink(e){var r=FS.lookupPath(e),t=r.node;if(!t)throw new FS.ErrnoError(44);if(!t.node_ops.readlink)throw new FS.ErrnoError(28);return PATH_FS.resolve(FS.getPath(t.parent),t.node_ops.readlink(t))},stat(e,r){var t=FS.lookupPath(e,{follow:!r}),n=t.node;if(!n)throw new FS.ErrnoError(44);if(!n.node_ops.getattr)throw new FS.ErrnoError(63);return n.node_ops.getattr(n)},lstat(e){return FS.stat(e,!0)},chmod(e,r,t){var n;if(typeof e=="string"){var _=FS.lookupPath(e,{follow:!t});n=_.node}else n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(63);n.node_ops.setattr(n,{mode:r&4095|n.mode&-4096,timestamp:Date.now()})},lchmod(e,r){FS.chmod(e,r,!0)},fchmod(e,r){var t=FS.getStreamChecked(e);FS.chmod(t.node,r)},chown(e,r,t,n){var _;if(typeof e=="string"){var a=FS.lookupPath(e,{follow:!n});_=a.node}else _=e;if(!_.node_ops.setattr)throw new FS.ErrnoError(63);_.node_ops.setattr(_,{timestamp:Date.now()})},lchown(e,r,t){FS.chown(e,r,t,!0)},fchown(e,r,t){var n=FS.getStreamChecked(e);FS.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new FS.ErrnoError(28);var t;if(typeof e=="string"){var n=FS.lookupPath(e,{follow:!0});t=n.node}else t=e;if(!t.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(t.mode))throw new FS.ErrnoError(31);if(!FS.isFile(t.mode))throw new FS.ErrnoError(28);var _=FS.nodePermissions(t,"w");if(_)throw new FS.ErrnoError(_);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=FS.getStreamChecked(e);if(!(t.flags&2097155))throw new FS.ErrnoError(28);FS.truncate(t.node,r)},utime(e,r,t){var n=FS.lookupPath(e,{follow:!0}),_=n.node;_.node_ops.setattr(_,{timestamp:Math.max(r,t)})},open(e,r,t){if(e==="")throw new FS.ErrnoError(44);r=typeof r=="string"?FS_modeStringToFlags(r):r,t=typeof t>"u"?438:t,r&64?t=t&4095|32768:t=0;var n;if(typeof e=="object")n=e;else{e=PATH.normalize(e);try{var _=FS.lookupPath(e,{follow:!(r&131072)});n=_.node}catch(c){}}var a=!1;if(r&64)if(n){if(r&128)throw new FS.ErrnoError(20)}else n=FS.mknod(e,t,0),a=!0;if(!n)throw new FS.ErrnoError(44);if(FS.isChrdev(n.mode)&&(r&=-513),r&65536&&!FS.isDir(n.mode))throw new FS.ErrnoError(54);if(!a){var o=FS.mayOpen(n,r);if(o)throw new FS.ErrnoError(o)}r&512&&!a&&FS.truncate(n,0),r&=-131713;var l=FS.createStream({node:n,path:FS.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return l.stream_ops.open&&l.stream_ops.open(l),Module.logReadFiles&&!(r&1)&&(FS.readFiles||(FS.readFiles={}),e in FS.readFiles||(FS.readFiles[e]=1)),l},close(e){if(FS.isClosed(e))throw new FS.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{FS.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,r,t){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(70);if(t!=0&&t!=1&&t!=2)throw new FS.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,_){if(n<0||_<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if((e.flags&2097155)===1)throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.read)throw new FS.ErrnoError(28);var a=typeof _<"u";if(!a)_=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);var o=e.stream_ops.read(e,r,t,n,_);return a||(e.position+=o),o},write(e,r,t,n,_,a){if(n<0||_<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.write)throw new FS.ErrnoError(28);e.seekable&&e.flags&1024&&FS.llseek(e,0,2);var o=typeof _<"u";if(!o)_=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);var l=e.stream_ops.write(e,r,t,n,_,a);return o||(e.position+=l),l},allocate(e,r,t){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(r<0||t<=0)throw new FS.ErrnoError(28);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(!FS.isFile(e.node.mode)&&!FS.isDir(e.node.mode))throw new FS.ErrnoError(43);if(!e.stream_ops.allocate)throw new FS.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,_){if(n&2&&!(_&2)&&(e.flags&2097155)!==2)throw new FS.ErrnoError(2);if((e.flags&2097155)===1)throw new FS.ErrnoError(2);if(!e.stream_ops.mmap)throw new FS.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,_)},msync(e,r,t,n,_){return e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,_):0},ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new FS.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary",r.encoding!=="utf8"&&r.encoding!=="binary")throw new Error('Invalid encoding type "'.concat(r.encoding,'"'));var t,n=FS.open(e,r.flags),_=FS.stat(e),a=_.size,o=new Uint8Array(a);return FS.read(n,o,0,a,0),r.encoding==="utf8"?t=UTF8ArrayToString(o,0):r.encoding==="binary"&&(t=o),FS.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=FS.open(e,t.flags,t.mode);if(typeof r=="string"){var _=new Uint8Array(lengthBytesUTF8(r)+1),a=stringToUTF8Array(r,_,0,_.length);FS.write(n,_,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))FS.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw new Error("Unsupported data type");FS.close(n)},cwd:()=>FS.currentPath,chdir(e){var r=FS.lookupPath(e,{follow:!0});if(r.node===null)throw new FS.ErrnoError(44);if(!FS.isDir(r.node.mode))throw new FS.ErrnoError(54);var t=FS.nodePermissions(r.node,"x");if(t)throw new FS.ErrnoError(t);FS.currentPath=r.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(n,_,a,o,l)=>o}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(r===0&&(r=randomFill(e).byteLength),e[--r]);FS.createDevice("/dev","random",t),FS.createDevice("/dev","urandom",t),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var e=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var r=FS.createNode(e,"fd",16895,73);return r.node_ops={lookup(t,n){var _=+n,a=FS.getStreamChecked(_),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>a.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){Module.stdin?FS.createDevice("/dev","stdin",Module.stdin):FS.symlink("/dev/tty","/dev/stdin"),Module.stdout?FS.createDevice("/dev","stdout",null,Module.stdout):FS.symlink("/dev/tty","/dev/stdout"),Module.stderr?FS.createDevice("/dev","stderr",null,Module.stderr):FS.symlink("/dev/tty1","/dev/stderr");var e=FS.open("/dev/stdin",0),r=FS.open("/dev/stdout",1),t=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{FS.genericErrors[e]=new FS.ErrnoError(e),FS.genericErrors[e].stack=""}),FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS}},init(e,r,t){FS.init.initialized=!0,Module.stdin=e||Module.stdin,Module.stdout=r||Module.stdout,Module.stderr=t||Module.stderr,FS.createStandardStreams()},quit(){FS.init.initialized=!1,_fflush(0);for(var e=0;ethis.length-1||g<0)){var E=g%this.chunkSize,v=g/this.chunkSize|0;return this.getter(v)[E]}}setDataGetter(g){this.getter=g}cacheLength(){var g=new XMLHttpRequest;if(g.open("HEAD",t,!1),g.send(null),!(g.status>=200&&g.status<300||g.status===304))throw new Error("Couldn't load "+t+". Status: "+g.status);var E=Number(g.getResponseHeader("Content-length")),v,b=(v=g.getResponseHeader("Accept-Ranges"))&&v==="bytes",D=(v=g.getResponseHeader("Content-Encoding"))&&v==="gzip",h=1024*1024;b||(h=E);var T=(S,M)=>{if(S>M)throw new Error("invalid range ("+S+", "+M+") or no bytes requested!");if(M>E-1)throw new Error("only "+E+" bytes available! programmer error!");var A=new XMLHttpRequest;if(A.open("GET",t,!1),E!==h&&A.setRequestHeader("Range","bytes="+S+"-"+M),A.responseType="arraybuffer",A.overrideMimeType&&A.overrideMimeType("text/plain; charset=x-user-defined"),A.send(null),!(A.status>=200&&A.status<300||A.status===304))throw new Error("Couldn't load "+t+". Status: "+A.status);return A.response!==void 0?new Uint8Array(A.response||[]):intArrayFromString(A.responseText||"",!0)},x=this;x.setDataGetter(S=>{var M=S*h,A=(S+1)*h-1;if(A=Math.min(A,E-1),typeof x.chunks[S]>"u"&&(x.chunks[S]=T(M,A)),typeof x.chunks[S]>"u")throw new Error("doXHR failed!");return x.chunks[S]}),(D||!E)&&(h=E=1,E=this.getter(0).length,h=E,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=E,this._chunkSize=h,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new a,l={isDevice:!1,contents:o}}else var l={isDevice:!1,url:t};var c=FS.createFile(e,r,l,n,_);l.contents?c.contents=l.contents:l.url&&(c.contents=null,c.url=l.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={},d=Object.keys(c.stream_ops);d.forEach(f=>{var g=c.stream_ops[f];u[f]=(...E)=>(FS.forceLoadFile(c),g(...E))});function p(f,g,E,v,b){var D=f.node.contents;if(b>=D.length)return 0;var h=Math.min(D.length-b,v);if(D.slice)for(var T=0;T(FS.forceLoadFile(c),p(f,g,E,v,b)),u.mmap=(f,g,E,v,b)=>{FS.forceLoadFile(c);var D=mmapAlloc(g);if(!D)throw new FS.ErrnoError(48);return p(f,GROWABLE_HEAP_I8(),D,g,E),{ptr:D,allocated:!0}},c.stream_ops=u,c}},SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(PATH.isAbs(r))return r;var n;if(e===-100)n=FS.cwd();else{var _=SYSCALLS.getStreamFromFD(e);n=_.path}if(r.length==0){if(!t)throw new FS.ErrnoError(44);return n}return PATH.join2(n,r)},doStat(e,r,t){var n=e(r);GROWABLE_HEAP_I32()[t>>>2>>>0]=n.dev,GROWABLE_HEAP_I32()[t+4>>>2>>>0]=n.mode,GROWABLE_HEAP_U32()[t+8>>>2>>>0]=n.nlink,GROWABLE_HEAP_I32()[t+12>>>2>>>0]=n.uid,GROWABLE_HEAP_I32()[t+16>>>2>>>0]=n.gid,GROWABLE_HEAP_I32()[t+20>>>2>>>0]=n.rdev,tempI64=[n.size>>>0,(tempDouble=n.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[t+24>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[t+28>>>2>>>0]=tempI64[1],GROWABLE_HEAP_I32()[t+32>>>2>>>0]=4096,GROWABLE_HEAP_I32()[t+36>>>2>>>0]=n.blocks;var _=n.atime.getTime(),a=n.mtime.getTime(),o=n.ctime.getTime();return tempI64=[Math.floor(_/1e3)>>>0,(tempDouble=Math.floor(_/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[t+40>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[t+44>>>2>>>0]=tempI64[1],GROWABLE_HEAP_U32()[t+48>>>2>>>0]=_%1e3*1e3,tempI64=[Math.floor(a/1e3)>>>0,(tempDouble=Math.floor(a/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[t+56>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[t+60>>>2>>>0]=tempI64[1],GROWABLE_HEAP_U32()[t+64>>>2>>>0]=a%1e3*1e3,tempI64=[Math.floor(o/1e3)>>>0,(tempDouble=Math.floor(o/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[t+72>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[t+76>>>2>>>0]=tempI64[1],GROWABLE_HEAP_U32()[t+80>>>2>>>0]=o%1e3*1e3,tempI64=[n.ino>>>0,(tempDouble=n.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[t+88>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[t+92>>>2>>>0]=tempI64[1],0},doMsync(e,r,t,n,_){if(!FS.isFile(r.node.mode))throw new FS.ErrnoError(43);if(n&2)return 0;var a=GROWABLE_HEAP_U8().slice(e,e+t);FS.msync(r,a,_,t,n)},getStreamFromFD(e){var r=FS.getStreamChecked(e);return r},varargs:void 0,getStr(e){var r=UTF8ToString(e);return r}};function ___syscall__newselect(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(3,0,1,e,r,t,n,_);r>>>=0,t>>>=0,n>>>=0,_>>>=0;try{for(var a=0,o=r?GROWABLE_HEAP_I32()[r>>>2>>>0]:0,l=r?GROWABLE_HEAP_I32()[r+4>>>2>>>0]:0,c=t?GROWABLE_HEAP_I32()[t>>>2>>>0]:0,u=t?GROWABLE_HEAP_I32()[t+4>>>2>>>0]:0,d=n?GROWABLE_HEAP_I32()[n>>>2>>>0]:0,p=n?GROWABLE_HEAP_I32()[n+4>>>2>>>0]:0,f=0,g=0,E=0,v=0,b=0,D=0,h=(r?GROWABLE_HEAP_I32()[r>>>2>>>0]:0)|(t?GROWABLE_HEAP_I32()[t>>>2>>>0]:0)|(n?GROWABLE_HEAP_I32()[n>>>2>>>0]:0),T=(r?GROWABLE_HEAP_I32()[r+4>>>2>>>0]:0)|(t?GROWABLE_HEAP_I32()[t+4>>>2>>>0]:0)|(n?GROWABLE_HEAP_I32()[n+4>>>2>>>0]:0),x=function(w,P,I,k){return w<32?P&k:I&k},S=0;S>>2>>>0]:0,G=r?GROWABLE_HEAP_I32()[_+4>>>2>>>0]:0;R=(y+G/1e6)*1e3}L=A.stream_ops.poll(A,R)}L&1&&x(S,o,l,M)&&(S<32?f=f|M:g=g|M,a++),L&4&&x(S,c,u,M)&&(S<32?E=E|M:v=v|M,a++),L&2&&x(S,d,p,M)&&(S<32?b=b|M:D=D|M,a++)}}return r&&(GROWABLE_HEAP_I32()[r>>>2>>>0]=f,GROWABLE_HEAP_I32()[r+4>>>2>>>0]=g),t&&(GROWABLE_HEAP_I32()[t>>>2>>>0]=E,GROWABLE_HEAP_I32()[t+4>>>2>>>0]=v),n&&(GROWABLE_HEAP_I32()[n>>>2>>>0]=b,GROWABLE_HEAP_I32()[n+4>>>2>>>0]=D),a}catch(w){if(typeof FS>"u"||w.name!=="ErrnoError")throw w;return-w.errno}}___syscall__newselect.sig="iipppp";var SOCKFS={mount(e){return Module.websocket=Module.websocket&&typeof Module.websocket=="object"?Module.websocket:{},Module.websocket._callbacks={},Module.websocket.on=function(r,t){return typeof t=="function"&&(this._callbacks[r]=t),this},Module.websocket.emit=function(r,t){typeof this._callbacks[r]=="function"&&this._callbacks[r].call(this,t)},FS.createNode(null,"/",16895,0)},createSocket(e,r,t){r&=-526337;var n=r==1;if(n&&t&&t!=6)throw new FS.ErrnoError(66);var _={family:e,type:r,protocol:t,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops},a=SOCKFS.nextname(),o=FS.createNode(SOCKFS.root,a,49152,0);o.sock=_;var l=FS.createStream({path:a,node:o,flags:2,seekable:!1,stream_ops:SOCKFS.stream_ops});return _.stream=l,_},getSocket(e){var r=FS.getStream(e);return!r||!FS.isSocket(r.node.mode)?null:r.node.sock},stream_ops:{poll(e){var r=e.node.sock;return r.sock_ops.poll(r)},ioctl(e,r,t){var n=e.node.sock;return n.sock_ops.ioctl(n,r,t)},read(e,r,t,n,_){var a=e.node.sock,o=a.sock_ops.recvmsg(a,n);return o?(r.set(o.buffer,t),o.buffer.length):0},write(e,r,t,n,_){var a=e.node.sock;return a.sock_ops.sendmsg(a,r,t,n)},close(e){var r=e.node.sock;r.sock_ops.close(r)}},nextname(){return SOCKFS.nextname.current||(SOCKFS.nextname.current=0),"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer(e,r,t){var n;if(typeof r=="object"&&(n=r,r=null,t=null),n)if(n._socket)r=n._socket.remoteAddress,t=n._socket.remotePort;else{var _=/ws[s]?:\/\/([^:]+):(\d+)/.exec(n.url);if(!_)throw new Error("WebSocket URL must be in the format ws(s)://address:port");r=_[1],t=parseInt(_[2],10)}else try{var a=Module.websocket&&typeof Module.websocket=="object",o="ws:#".replace("#","//");if(a&&typeof Module.websocket.url=="string"&&(o=Module.websocket.url),o==="ws://"||o==="wss://"){var l=r.split("/");o=o+l[0]+":"+t+"/"+l.slice(1).join("/")}var c="binary";a&&typeof Module.websocket.subprotocol=="string"&&(c=Module.websocket.subprotocol);var u=void 0;c!=="null"&&(c=c.replace(/^ +| +$/g,"").split(/ *, */),u=c),a&&Module.websocket.subprotocol===null&&(c="null",u=void 0);var d;ENVIRONMENT_IS_NODE?d=ue():d=WebSocket,n=new d(o,u),n.binaryType="arraybuffer"}catch(f){throw new FS.ErrnoError(23)}var p={addr:r,port:t,socket:n,dgram_send_queue:[]};return SOCKFS.websocket_sock_ops.addPeer(e,p),SOCKFS.websocket_sock_ops.handlePeerEvents(e,p),e.type===2&&typeof e.sport<"u"&&p.dgram_send_queue.push(new Uint8Array([255,255,255,255,112,111,114,116,(e.sport&65280)>>8,e.sport&255])),p},getPeer(e,r,t){return e.peers[r+":"+t]},addPeer(e,r){e.peers[r.addr+":"+r.port]=r},removePeer(e,r){delete e.peers[r.addr+":"+r.port]},handlePeerEvents(e,r){var t=!0,n=function(){Module.websocket.emit("open",e.stream.fd);try{for(var a=r.dgram_send_queue.shift();a;)r.socket.send(a),a=r.dgram_send_queue.shift()}catch(o){r.socket.close()}};function _(a){if(typeof a=="string"){var o=new TextEncoder;a=o.encode(a)}else{if(assert(a.byteLength!==void 0),a.byteLength==0)return;a=new Uint8Array(a)}var l=t;if(t=!1,l&&a.length===10&&a[0]===255&&a[1]===255&&a[2]===255&&a[3]===255&&a[4]===112&&a[5]===111&&a[6]===114&&a[7]===116){var c=a[8]<<8|a[9];SOCKFS.websocket_sock_ops.removePeer(e,r),r.port=c,SOCKFS.websocket_sock_ops.addPeer(e,r);return}e.recv_queue.push({addr:r.addr,port:r.port,data:a}),Module.websocket.emit("message",e.stream.fd)}ENVIRONMENT_IS_NODE?(r.socket.on("open",n),r.socket.on("message",function(a,o){o&&_(new Uint8Array(a).buffer)}),r.socket.on("close",function(){Module.websocket.emit("close",e.stream.fd)}),r.socket.on("error",function(a){e.error=14,Module.websocket.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})):(r.socket.onopen=n,r.socket.onclose=function(){Module.websocket.emit("close",e.stream.fd)},r.socket.onmessage=function(o){_(o.data)},r.socket.onerror=function(a){e.error=14,Module.websocket.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})},poll(e){if(e.type===1&&e.server)return e.pending.length?65:0;var r=0,t=e.type===1?SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport):null;return(e.recv_queue.length||!t||t&&t.socket.readyState===t.socket.CLOSING||t&&t.socket.readyState===t.socket.CLOSED)&&(r|=65),(!t||t&&t.socket.readyState===t.socket.OPEN)&&(r|=4),(t&&t.socket.readyState===t.socket.CLOSING||t&&t.socket.readyState===t.socket.CLOSED)&&(r|=16),r},ioctl(e,r,t){switch(r){case 21531:var n=0;return e.recv_queue.length&&(n=e.recv_queue[0].data.length),GROWABLE_HEAP_I32()[t>>>2>>>0]=n,0;default:return 28}},close(e){if(e.server){try{e.server.close()}catch(_){}e.server=null}for(var r=Object.keys(e.peers),t=0;t{var r=SOCKFS.getSocket(e);if(!r)throw new FS.ErrnoError(8);return r},Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]},inetPton4=e=>{for(var r=e.split("."),t=0;t<4;t++){var n=Number(r[t]);if(isNaN(n))return null;r[t]=n}return(r[0]|r[1]<<8|r[2]<<16|r[3]<<24)>>>0},jstoi_q=e=>parseInt(e),inetPton6=e=>{var r,t,n,_,a,o=/^((?=.*::)(?!.*::.+::)(::)?([\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,l=[];if(!o.test(e))return null;if(e==="::")return[0,0,0,0,0,0,0,0];for(e.startsWith("::")?e=e.replace("::","Z:"):e=e.replace("::",":Z:"),e.indexOf(".")>0?(e=e.replace(new RegExp("[.]","g"),":"),r=e.split(":"),r[r.length-4]=jstoi_q(r[r.length-4])+jstoi_q(r[r.length-3])*256,r[r.length-3]=jstoi_q(r[r.length-2])+jstoi_q(r[r.length-1])*256,r=r.slice(0,r.length-2)):r=e.split(":"),n=0,_=0,t=0;t{switch(r){case 2:t=inetPton4(t),zeroMemory(e,16),_&&(GROWABLE_HEAP_I32()[_>>>2>>>0]=16),GROWABLE_HEAP_I16()[e>>>1>>>0]=r,GROWABLE_HEAP_I32()[e+4>>>2>>>0]=t,GROWABLE_HEAP_I16()[e+2>>>1>>>0]=_htons(n);break;case 10:t=inetPton6(t),zeroMemory(e,28),_&&(GROWABLE_HEAP_I32()[_>>>2>>>0]=28),GROWABLE_HEAP_I32()[e>>>2>>>0]=r,GROWABLE_HEAP_I32()[e+8>>>2>>>0]=t[0],GROWABLE_HEAP_I32()[e+12>>>2>>>0]=t[1],GROWABLE_HEAP_I32()[e+16>>>2>>>0]=t[2],GROWABLE_HEAP_I32()[e+20>>>2>>>0]=t[3],GROWABLE_HEAP_I16()[e+2>>>1>>>0]=_htons(n);break;default:return 5}return 0},DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(e){var r=inetPton4(e);if(r!==null||(r=inetPton6(e),r!==null))return e;var t;if(DNS.address_map.addrs[e])t=DNS.address_map.addrs[e];else{var n=DNS.address_map.id++;assert(n<65535,"exceeded max address mappings of 65535"),t="172.29."+(n&255)+"."+(n&65280),DNS.address_map.names[t]=e,DNS.address_map.addrs[e]=t}return t},lookup_addr(e){return DNS.address_map.names[e]?DNS.address_map.names[e]:null}};function ___syscall_accept4(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(4,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0;try{var o=getSocketFromFD(e),l=o.sock_ops.accept(o);if(r)var c=writeSockaddr(r,l.family,DNS.lookup_name(l.daddr),l.dport,t);return l.stream.fd}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_accept4.sig="iippiii";var inetNtop4=e=>(e&255)+"."+(e>>8&255)+"."+(e>>16&255)+"."+(e>>24&255),inetNtop6=e=>{var r="",t=0,n=0,_=0,a=0,o=0,l=0,c=[e[0]&65535,e[0]>>16,e[1]&65535,e[1]>>16,e[2]&65535,e[2]>>16,e[3]&65535,e[3]>>16],u=!0,d="";for(l=0;l<5;l++)if(c[l]!==0){u=!1;break}if(u){if(d=inetNtop4(c[6]|c[7]<<16),c[5]===-1)return r="::ffff:",r+=d,r;if(c[5]===0)return r="::",d==="0.0.0.0"&&(d=""),d==="0.0.0.1"&&(d="1"),r+=d,r}for(t=0;t<8;t++)c[t]===0&&(t-_>1&&(o=0),_=t,o++),o>n&&(n=o,a=t-n+1);for(t=0;t<8;t++){if(n>1&&c[t]===0&&t>=a&&t{var t=GROWABLE_HEAP_I16()[e>>>1>>>0],n=_ntohs(GROWABLE_HEAP_U16()[e+2>>>1>>>0]),_;switch(t){case 2:if(r!==16)return{errno:28};_=GROWABLE_HEAP_I32()[e+4>>>2>>>0],_=inetNtop4(_);break;case 10:if(r!==28)return{errno:28};_=[GROWABLE_HEAP_I32()[e+8>>>2>>>0],GROWABLE_HEAP_I32()[e+12>>>2>>>0],GROWABLE_HEAP_I32()[e+16>>>2>>>0],GROWABLE_HEAP_I32()[e+20>>>2>>>0]],_=inetNtop6(_);break;default:return{errno:5}}return{family:t,addr:_,port:n}},getSocketAddress=(e,r,t)=>{if(t&&e===0)return null;var n=readSockaddr(e,r);if(n.errno)throw new FS.ErrnoError(n.errno);return n.addr=DNS.lookup_addr(n.addr)||n.addr,n};function ___syscall_bind(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(5,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0;try{var o=getSocketFromFD(e),l=getSocketAddress(r,t);return o.sock_ops.bind(o,l.addr,l.port),0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(6,0,1,e);e>>>=0;try{return e=SYSCALLS.getStr(e),FS.chdir(e),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(7,0,1,e,r);e>>>=0;try{return e=SYSCALLS.getStr(e),FS.chmod(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(8,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0;try{var o=getSocketFromFD(e),l=getSocketAddress(r,t);return o.sock_ops.connect(o,l.addr,l.port),0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(9,0,1,e);try{var r=SYSCALLS.getStreamFromFD(e);return FS.dupStream(r).fd}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(10,0,1,e,r,t);try{var n=SYSCALLS.getStreamFromFD(e);if(n.fd===r)return-28;var _=FS.getStream(r);return _&&FS.close(_),FS.dupStream(n,r).fd}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(11,0,1,e,r,t,n);r>>>=0;try{if(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t&-8)return-28;var _=FS.lookupPath(r,{follow:!0}),a=_.node;if(!a)return-44;var o="";return t&4&&(o+="r"),t&2&&(o+="w"),t&1&&(o+="x"),o&&FS.nodePermissions(a,o)?-2:0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_faccessat.sig="iipii";function ___syscall_fadvise64(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(12,0,0,e,r,t,n):0}___syscall_fadvise64.sig="iiiiiii";function ___syscall_fallocate(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(13,0,1,e,r,t,n,_,a);var o=convertI32PairToI53Checked(t,n),l=convertI32PairToI53Checked(_,a);try{if(isNaN(o))return 61;var c=SYSCALLS.getStreamFromFD(e);return FS.allocate(c,o,l),0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_fallocate.sig="iiiiiii";function ___syscall_fchdir(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(14,0,1,e);try{var r=SYSCALLS.getStreamFromFD(e);return FS.chdir(r.path),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_fchdir.sig="ii";function ___syscall_fchmod(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(15,0,1,e,r);try{return FS.fchmod(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_fchmod.sig="iii";function ___syscall_fchmodat2(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(16,0,1,e,r,t,n);r>>>=0;try{var _=n&256;return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),FS.chmod(r,t,_),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_fchmodat2.sig="iipii";function ___syscall_fchown32(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(17,0,1,e,r,t);try{return FS.fchown(e,r,t),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_fchown32.sig="iiii";function ___syscall_fchownat(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(18,0,1,e,r,t,n,_);r>>>=0;try{r=SYSCALLS.getStr(r);var a=_&256;return _=_&-257,r=SYSCALLS.calculateAt(e,r),(a?FS.lchown:FS.chown)(r,t,n),0}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_fchownat.sig="iipiii";function syscallGetVarargI(){var e=GROWABLE_HEAP_I32()[+SYSCALLS.varargs>>>2>>>0];return SYSCALLS.varargs+=4,e}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(19,0,1,e,r,t);t>>>=0,SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD(e);switch(r){case 0:{var _=syscallGetVarargI();if(_<0)return-28;for(;FS.streams[_];)_++;var a;return a=FS.dupStream(n,_),a.fd}case 1:case 2:return 0;case 3:return n.flags;case 4:{var _=syscallGetVarargI();return n.flags|=_,0}case 12:{var _=syscallGetVarargP(),o=0;return GROWABLE_HEAP_I16()[_+o>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(20,0,1,e);try{var r=SYSCALLS.getStreamFromFD(e);return 0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(21,0,1,e,r);r>>>=0;try{var t=SYSCALLS.getStreamFromFD(e);return SYSCALLS.doStat(FS.stat,t.path,r)}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_fstat64.sig="iip";function ___syscall_statfs64(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(23,0,1,e,r,t);e>>>=0,r>>>=0,t>>>=0;try{return e=SYSCALLS.getStr(e),GROWABLE_HEAP_I32()[t+4>>>2>>>0]=4096,GROWABLE_HEAP_I32()[t+40>>>2>>>0]=4096,GROWABLE_HEAP_I32()[t+8>>>2>>>0]=1e6,GROWABLE_HEAP_I32()[t+12>>>2>>>0]=5e5,GROWABLE_HEAP_I32()[t+16>>>2>>>0]=5e5,GROWABLE_HEAP_I32()[t+20>>>2>>>0]=FS.nextInode,GROWABLE_HEAP_I32()[t+24>>>2>>>0]=1e6,GROWABLE_HEAP_I32()[t+28>>>2>>>0]=42,GROWABLE_HEAP_I32()[t+44>>>2>>>0]=2,GROWABLE_HEAP_I32()[t+36>>>2>>>0]=255,0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_statfs64.sig="ippp";function ___syscall_fstatfs64(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(22,0,1,e,r,t);r>>>=0,t>>>=0;try{var n=SYSCALLS.getStreamFromFD(e);return ___syscall_statfs64(0,r,t)}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(24,0,1,e,r,t);var n=convertI32PairToI53Checked(r,t);try{return isNaN(n)?61:(FS.ftruncate(e,n),0)}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_ftruncate64.sig="iiii";var stringToUTF8=(e,r,t)=>stringToUTF8Array(e,GROWABLE_HEAP_U8(),r,t);function ___syscall_getcwd(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(25,0,1,e,r);e>>>=0,r>>>=0;try{if(r===0)return-28;var t=FS.cwd(),n=lengthBytesUTF8(t)+1;return r"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_getcwd.sig="ipp";function ___syscall_getdents64(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(26,0,1,e,r,t);r>>>=0,t>>>=0;try{var n=SYSCALLS.getStreamFromFD(e);n.getdents||(n.getdents=FS.readdir(n.path));for(var _=280,a=0,o=FS.llseek(n,0,1),l=Math.floor(o/_);l>>0,(tempDouble=c,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+a>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[r+a+4>>>2>>>0]=tempI64[1],tempI64=[(l+1)*_>>>0,(tempDouble=(l+1)*_,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+a+8>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[r+a+12>>>2>>>0]=tempI64[1],GROWABLE_HEAP_I16()[r+a+16>>>1>>>0]=280,GROWABLE_HEAP_I8()[r+a+18>>>0]=u,stringToUTF8(d,r+a+19,256),a+=_,l+=1}return FS.llseek(n,l*_,0),a}catch(g){if(typeof FS>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}___syscall_getdents64.sig="iipp";function ___syscall_getpeername(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(27,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0;try{var o=getSocketFromFD(e);if(!o.daddr)return-53;var l=writeSockaddr(r,o.family,DNS.lookup_name(o.daddr),o.dport,t);return 0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(28,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0;try{var o=getSocketFromFD(e),l=writeSockaddr(r,o.family,DNS.lookup_name(o.saddr||"0.0.0.0"),o.sport,t);return 0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(29,0,1,e,r,t,n,_,a);n>>>=0,_>>>=0;try{var o=getSocketFromFD(e);return r===1&&t===4?(GROWABLE_HEAP_I32()[n>>>2>>>0]=o.error,GROWABLE_HEAP_I32()[_>>>2>>>0]=4,o.error=null,0):-50}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(30,0,1,e,r,t);t>>>=0,SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD(e);switch(r){case 21509:return n.tty?0:-59;case 21505:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var _=n.tty.ops.ioctl_tcgets(n),a=syscallGetVarargP();GROWABLE_HEAP_I32()[a>>>2>>>0]=_.c_iflag||0,GROWABLE_HEAP_I32()[a+4>>>2>>>0]=_.c_oflag||0,GROWABLE_HEAP_I32()[a+8>>>2>>>0]=_.c_cflag||0,GROWABLE_HEAP_I32()[a+12>>>2>>>0]=_.c_lflag||0;for(var o=0;o<32;o++)GROWABLE_HEAP_I8()[a+o+17>>>0]=_.c_cc[o]||0;return 0}return 0}case 21510:case 21511:case 21512:return n.tty?0:-59;case 21506:case 21507:case 21508:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){for(var a=syscallGetVarargP(),l=GROWABLE_HEAP_I32()[a>>>2>>>0],c=GROWABLE_HEAP_I32()[a+4>>>2>>>0],u=GROWABLE_HEAP_I32()[a+8>>>2>>>0],d=GROWABLE_HEAP_I32()[a+12>>>2>>>0],p=[],o=0;o<32;o++)p.push(GROWABLE_HEAP_I8()[a+o+17>>>0]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:l,c_oflag:c,c_cflag:u,c_lflag:d,c_cc:p})}return 0}case 21519:{if(!n.tty)return-59;var a=syscallGetVarargP();return GROWABLE_HEAP_I32()[a>>>2>>>0]=0,0}case 21520:return n.tty?-28:-59;case 21531:{var a=syscallGetVarargP();return FS.ioctl(n,r,a)}case 21523:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var f=n.tty.ops.ioctl_tiocgwinsz(n.tty),a=syscallGetVarargP();GROWABLE_HEAP_I16()[a>>>1>>>0]=f[0],GROWABLE_HEAP_I16()[a+2>>>1>>>0]=f[1]}return 0}case 21524:return n.tty?0:-59;case 21515:return n.tty?0:-59;default:return-28}}catch(g){if(typeof FS>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}___syscall_ioctl.sig="iiip";function ___syscall_listen(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(31,0,1,e,r);try{var t=getSocketFromFD(e);return t.sock_ops.listen(t,r),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(32,0,1,e,r);e>>>=0,r>>>=0;try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.lstat,e,r)}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(33,0,1,e,r,t);r>>>=0;try{return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),r=PATH.normalize(r),r[r.length-1]==="/"&&(r=r.substr(0,r.length-1)),FS.mkdir(r,t,0),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(34,0,1,e,r,t,n);r>>>=0;try{switch(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return FS.mknod(r,t,n),0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(35,0,1,e,r,t,n);r>>>=0,t>>>=0;try{r=SYSCALLS.getStr(r);var _=n&256,a=n&4096;return n=n&-6401,r=SYSCALLS.calculateAt(e,r,a),SYSCALLS.doStat(_?FS.lstat:FS.stat,r,t)}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(36,0,1,e,r,t,n);r>>>=0,n>>>=0,SYSCALLS.varargs=n;try{r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r);var _=n?syscallGetVarargI():0;return FS.open(r,t,_).fd}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(e){return FS.createNode(null,"/",16895,0)},createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=PIPEFS.nextname(),t=PIPEFS.nextname(),n=FS.createNode(PIPEFS.root,r,4096,0),_=FS.createNode(PIPEFS.root,t,4096,0);n.pipe=e,_.pipe=e;var a=FS.createStream({path:r,node:n,flags:0,seekable:!1,stream_ops:PIPEFS.stream_ops});n.stream=a;var o=FS.createStream({path:t,node:_,flags:1,seekable:!1,stream_ops:PIPEFS.stream_ops});return _.stream=o,{readable_fd:a.fd,writable_fd:o.fd}},stream_ops:{poll(e){var r=e.node.pipe;if((e.flags&2097155)===1)return 260;if(r.buckets.length>0)for(var t=0;t0)return 65}return 0},ioctl(e,r,t){return 28},fsync(e){return 28},read(e,r,t,n,_){for(var a=e.node.pipe,o=0,l=0;l=l)return c.buffer.set(o,c.offset),c.offset+=l,l;u>0&&(c.buffer.set(o.subarray(0,u),c.offset),c.offset+=u,o=o.subarray(u,o.byteLength));for(var d=o.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0,p=o.byteLength%PIPEFS.BUCKET_BUFFER_SIZE,f=0;f0){var g={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:o.byteLength,roffset:0};a.buckets.push(g),g.buffer.set(o)}return l},close(e){var r=e.node.pipe;r.refcnt--,r.refcnt===0&&(r.buckets=null)}},nextname(){return PIPEFS.nextname.current||(PIPEFS.nextname.current=0),"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(37,0,1,e);e>>>=0;try{if(e==0)throw new FS.ErrnoError(21);var r=PIPEFS.createPipe();return GROWABLE_HEAP_I32()[e>>>2>>>0]=r.readable_fd,GROWABLE_HEAP_I32()[e+4>>>2>>>0]=r.writable_fd,0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(38,0,1,e,r,t);e>>>=0;try{for(var n=0,_=0;_>>2>>>0],l=GROWABLE_HEAP_I16()[a+4>>>1>>>0],c=32,u=FS.getStream(o);u&&(c=SYSCALLS.DEFAULT_POLLMASK,u.stream_ops.poll&&(c=u.stream_ops.poll(u,-1))),c&=l|8|16,c&&n++,GROWABLE_HEAP_I16()[a+6>>>1>>>0]=c}return n}catch(d){if(typeof FS>"u"||d.name!=="ErrnoError")throw d;return-d.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(39,0,1,e,r,t,n);r>>>=0,t>>>=0,n>>>=0;try{if(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),n<=0)return-28;var _=FS.readlink(r),a=Math.min(n,lengthBytesUTF8(_)),o=GROWABLE_HEAP_I8()[t+a>>>0];return stringToUTF8(_,t,n+1),GROWABLE_HEAP_I8()[t+a>>>0]=o,a}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(40,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0,_>>>=0,a>>>=0;try{var o=getSocketFromFD(e),l=o.sock_ops.recvmsg(o,t);if(!l)return 0;if(_)var c=writeSockaddr(_,o.family,DNS.lookup_name(l.addr),l.port,a);return GROWABLE_HEAP_U8().set(l.buffer,r>>>0),l.buffer.byteLength}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(41,0,1,e,r,t,n,_,a);r>>>=0;try{for(var o=getSocketFromFD(e),l=GROWABLE_HEAP_U32()[r+8>>>2>>>0],c=GROWABLE_HEAP_I32()[r+12>>>2>>>0],u=0,d=0;d>>2>>>0];var p=o.sock_ops.recvmsg(o,u);if(!p)return 0;var f=GROWABLE_HEAP_U32()[r>>>2>>>0];if(f)var g=writeSockaddr(f,o.family,DNS.lookup_name(p.addr),p.port);for(var E=0,v=p.buffer.byteLength,d=0;v>0&&d>>2>>>0],D=GROWABLE_HEAP_I32()[l+(8*d+4)>>>2>>>0];if(D){var h=Math.min(D,v),T=p.buffer.subarray(E,E+h);GROWABLE_HEAP_U8().set(T,b+E>>>0),E+=h,v-=h}}return E}catch(x){if(typeof FS>"u"||x.name!=="ErrnoError")throw x;return-x.errno}}___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(42,0,1,e,r,t,n);r>>>=0,n>>>=0;try{return r=SYSCALLS.getStr(r),n=SYSCALLS.getStr(n),r=SYSCALLS.calculateAt(e,r),n=SYSCALLS.calculateAt(t,n),FS.rename(r,n),0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(43,0,1,e);e>>>=0;try{return e=SYSCALLS.getStr(e),FS.rmdir(e),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendmsg(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(44,0,1,e,r,t,n,_,a);r>>>=0,n>>>=0,_>>>=0;try{var o=getSocketFromFD(e),l=GROWABLE_HEAP_U32()[r+8>>>2>>>0],c=GROWABLE_HEAP_I32()[r+12>>>2>>>0],u,d,p=GROWABLE_HEAP_U32()[r>>>2>>>0],f=GROWABLE_HEAP_I32()[r+4>>>2>>>0];if(p){var g=readSockaddr(p,f);if(g.errno)return-g.errno;d=g.port,u=DNS.lookup_addr(g.addr)||g.addr}for(var E=0,v=0;v>>2>>>0];for(var b=new Uint8Array(E),D=0,v=0;v>>2>>>0],T=GROWABLE_HEAP_I32()[l+(8*v+4)>>>2>>>0],x=0;x>>0];return o.sock_ops.sendmsg(o,b,0,E,u,d)}catch(S){if(typeof FS>"u"||S.name!=="ErrnoError")throw S;return-S.errno}}___syscall_sendmsg.sig="iipippi";function ___syscall_sendto(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(45,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0,_>>>=0,a>>>=0;try{var o=getSocketFromFD(e),l=getSocketAddress(_,a,!0);return l?o.sock_ops.sendmsg(o,GROWABLE_HEAP_I8(),r,t,l.addr,l.port):FS.write(o.stream,GROWABLE_HEAP_I8(),r,t)}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_sendto.sig="iippipp";function ___syscall_socket(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(46,0,1,e,r,t);try{var n=SOCKFS.createSocket(e,r,t);return n.stream.fd}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_socket.sig="iiiiiii";function ___syscall_stat64(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(47,0,1,e,r);e>>>=0,r>>>=0;try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.stat,e,r)}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_stat64.sig="ipp";function ___syscall_symlink(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(48,0,1,e,r);e>>>=0,r>>>=0;try{return e=SYSCALLS.getStr(e),r=SYSCALLS.getStr(r),FS.symlink(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_symlink.sig="ipp";function ___syscall_symlinkat(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(49,0,1,e,r,t);e>>>=0,t>>>=0;try{return t=SYSCALLS.calculateAt(r,t),FS.symlink(e,t),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_symlinkat.sig="ipip";function ___syscall_truncate64(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(50,0,1,e,r,t);e>>>=0;var n=convertI32PairToI53Checked(r,t);try{return isNaN(n)?61:(e=SYSCALLS.getStr(e),FS.truncate(e,n),0)}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_truncate64.sig="ipii";function ___syscall_unlinkat(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(51,0,1,e,r,t);r>>>=0;try{return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t===0?FS.unlink(r):t===512?FS.rmdir(r):abort("Invalid flags passed to unlinkat"),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_unlinkat.sig="iipi";var readI53FromI64=e=>GROWABLE_HEAP_U32()[e>>>2>>>0]+GROWABLE_HEAP_I32()[e+4>>>2>>>0]*4294967296;function ___syscall_utimensat(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(52,0,1,e,r,t,n);r>>>=0,t>>>=0;try{if(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r,!0),t){var o=readI53FromI64(t),l=GROWABLE_HEAP_I32()[t+8>>>2>>>0];_=o*1e3+l/1e6,t+=16,o=readI53FromI64(t),l=GROWABLE_HEAP_I32()[t+8>>>2>>>0],a=o*1e3+l/1e6}else var _=Date.now(),a=_;return FS.utime(r,_,a),0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),ENV={},stringToUTF8OnStack=e=>{var r=lengthBytesUTF8(e)+1,t=stackAlloc(r);return stringToUTF8(e,t,r),t},dlSetError=e=>{withStackSave(()=>{var r=stringToUTF8OnStack(e);___dl_seterr(r,0)})},dlopenInternal=(e,r)=>{var t=UTF8ToString(e+36),n=GROWABLE_HEAP_I32()[e+4>>>2>>>0];t=PATH.normalize(t);var _=[],a=!!(n&256),o=a?null:{},l={global:a,nodelete:!!(n&4096),loadAsync:r.loadAsync};if(r.loadAsync)return loadDynamicLibrary(t,l,o,e);try{return loadDynamicLibrary(t,l,o,e)}catch(c){return dlSetError("Could not load dynamic lib: ".concat(t,"\n").concat(c)),0}};function __dlopen_js(e){return e>>>=0,dlopenInternal(e,{loadAsync:!1})}__dlopen_js.sig="pp";function __dlsym_catchup_js(e,r){e>>>=0;var t=LDSO.loadedLibsByHandle[e],n=t.exports,_=Object.keys(n)[r],a=n[_],o=addFunction(a,a.sig);return o}__dlsym_catchup_js.sig="ppi";function __dlsym_js(e,r,t){e>>>=0,r>>>=0,t>>>=0,r=UTF8ToString(r);var n,_,a=LDSO.loadedLibsByHandle[e];if(!a.exports.hasOwnProperty(r)||a.exports[r].stub)return dlSetError('Tried to lookup unknown symbol "'.concat(r,'" in dynamic lib: ').concat(a.name)),0;_=Object.keys(a.exports).indexOf(r);var o="orig$"+r;if(n=a.exports[o],n?_=Object.keys(a.exports).indexOf(o):n=a.exports[r],typeof n=="function"){var l=getFunctionAddress(n);l?n=l:(n=addFunction(n,n.sig),GROWABLE_HEAP_U32()[t>>>2>>>0]=_)}return n}__dlsym_js.sig="pppp";function __embind_register_bigint(e,r,t,n,_){e>>>=0,r>>>=0,t>>>=0}__embind_register_bigint.sig="vpppiiii";var embind_init_charCodes=()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);embind_charCodes=e},embind_charCodes,readLatin1String=e=>{for(var r="",t=e;GROWABLE_HEAP_U8()[t>>>0];)r+=embind_charCodes[GROWABLE_HEAP_U8()[t++>>>0]];return r},awaitingDependencies={},registeredTypes={},typeDependencies={},BindingError,throwBindingError=e=>{throw new BindingError(e)},InternalError,throwInternalError=e=>{throw new InternalError(e)},whenDependentTypesAreResolved=(e,r,t)=>{e.forEach(function(l){typeDependencies[l]=r});function n(l){var c=t(l);c.length!==e.length&&throwInternalError("Mismatched type converter count");for(var u=0;u{registeredTypes.hasOwnProperty(l)?_[c]=registeredTypes[l]:(a.push(l),awaitingDependencies.hasOwnProperty(l)||(awaitingDependencies[l]=[]),awaitingDependencies[l].push(()=>{_[c]=registeredTypes[l],++o,o===a.length&&n(_)}))}),a.length===0&&n(_)};function sharedRegisterType(e,r,t={}){var n=r.name;if(e||throwBindingError('type "'.concat(n,'" must have a positive integer typeid pointer')),registeredTypes.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;throwBindingError("Cannot register type '".concat(n,"' twice"))}if(registeredTypes[e]=r,delete typeDependencies[e],awaitingDependencies.hasOwnProperty(e)){var _=awaitingDependencies[e];delete awaitingDependencies[e],_.forEach(a=>a())}}function registerType(e,r,t={}){if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return sharedRegisterType(e,r,t)}var GenericWireTypeSize=8;function __embind_register_bool(e,r,t,n){e>>>=0,r>>>=0,r=readLatin1String(r),registerType(e,{name:r,fromWireType:function(_){return!!_},toWireType:function(_,a){return a?t:n},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(_){return this.fromWireType(GROWABLE_HEAP_U8()[_>>>0])},destructorFunction:null})}__embind_register_bool.sig="vppii";var emval_freelist=[],emval_handles=[];function __emval_decref(e){e>>>=0,e>9&&--emval_handles[e+1]===0&&(emval_handles[e]=void 0,emval_freelist.push(e))}__emval_decref.sig="vp";var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length,init_emval=()=>{emval_handles.push(0,1,void 0,1,null,1,!0,1,!1,1),Module.count_emval_handles=count_emval_handles},Emval={toValue:e=>(e||throwBindingError("Cannot use deleted val. handle = "+e),emval_handles[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let r=emval_freelist.pop()||emval_handles.length;return emval_handles[r]=e,emval_handles[r+1]=1,r}}}};function readPointer(e){return this.fromWireType(GROWABLE_HEAP_U32()[e>>>2>>>0])}var EmValType={name:"emscripten::val",fromWireType:e=>{var r=Emval.toValue(e);return __emval_decref(e),r},toWireType:(e,r)=>Emval.toHandle(r),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};function __embind_register_emval(e){return e>>>=0,registerType(e,EmValType)}__embind_register_emval.sig="vp";var embindRepr=e=>{if(e===null)return"null";var r=typeof e;return r==="object"||r==="array"||r==="function"?e.toString():""+e},floatReadValueFromPointer=(e,r)=>{switch(r){case 4:return function(t){return this.fromWireType(GROWABLE_HEAP_F32()[t>>>2>>>0])};case 8:return function(t){return this.fromWireType(GROWABLE_HEAP_F64()[t>>>3>>>0])};default:throw new TypeError("invalid float width (".concat(r,"): ").concat(e))}},__embind_register_float=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,r=readLatin1String(r),registerType(e,{name:r,fromWireType:n=>n,toWireType:(n,_)=>_,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(r,t),destructorFunction:null})};__embind_register_float.sig="vppp";var integerReadValueFromPointer=(e,r,t)=>{switch(r){case 1:return t?n=>GROWABLE_HEAP_I8()[n>>>0]:n=>GROWABLE_HEAP_U8()[n>>>0];case 2:return t?n=>GROWABLE_HEAP_I16()[n>>>1>>>0]:n=>GROWABLE_HEAP_U16()[n>>>1>>>0];case 4:return t?n=>GROWABLE_HEAP_I32()[n>>>2>>>0]:n=>GROWABLE_HEAP_U32()[n>>>2>>>0];default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}};function __embind_register_integer(e,r,t,n,_){e>>>=0,r>>>=0,t>>>=0,r=readLatin1String(r),_===-1&&(_=4294967295);var a=d=>d;if(n===0){var o=32-8*t;a=d=>d<>>o}var l=r.includes("unsigned"),c=(d,p)=>{},u;l?u=function(d,p){return c(p,this.name),p>>>0}:u=function(d,p){return c(p,this.name),p},registerType(e,{name:r,fromWireType:a,toWireType:u,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(r,t,n!==0),destructorFunction:null})}__embind_register_integer.sig="vpppii";function __embind_register_memory_view(e,r,t){e>>>=0,t>>>=0;var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],_=n[r];function a(o){var l=GROWABLE_HEAP_U32()[o>>>2>>>0],c=GROWABLE_HEAP_U32()[o+4>>>2>>>0];return new _(GROWABLE_HEAP_I8().buffer,c,l)}t=readLatin1String(t),registerType(e,{name:t,fromWireType:a,argPackAdvance:GenericWireTypeSize,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})}__embind_register_memory_view.sig="vpip";function __embind_register_std_string(e,r){e>>>=0,r>>>=0,r=readLatin1String(r);var t=r==="std::string";registerType(e,{name:r,fromWireType(n){var _=GROWABLE_HEAP_U32()[n>>>2>>>0],a=n+4,o;if(t)for(var l=a,c=0;c<=_;++c){var u=a+c;if(c==_||GROWABLE_HEAP_U8()[u>>>0]==0){var d=u-l,p=UTF8ToString(l,d);o===void 0?o=p:(o+="\0",o+=p),l=u+1}}else{for(var f=new Array(_),c=0;c<_;++c)f[c]=String.fromCharCode(GROWABLE_HEAP_U8()[a+c>>>0]);o=f.join("")}return _free(n),o},toWireType(n,_){_ instanceof ArrayBuffer&&(_=new Uint8Array(_));var a,o=typeof _=="string";o||_ instanceof Uint8Array||_ instanceof Uint8ClampedArray||_ instanceof Int8Array||throwBindingError("Cannot pass non-string to std::string"),t&&o?a=lengthBytesUTF8(_):a=_.length;var l=_malloc(4+a+1),c=l+4;if(GROWABLE_HEAP_U32()[l>>>2>>>0]=a,t&&o)stringToUTF8(_,c,a+1);else if(o)for(var u=0;u255&&(_free(c),throwBindingError("String has UTF-16 code units that do not fit in 8 bits")),GROWABLE_HEAP_U8()[c+u>>>0]=d}else for(var u=0;u>>0]=_[u];return n!==null&&n.push(_free,l),l},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(n){_free(n)}})}__embind_register_std_string.sig="vpp";var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,UTF16ToString=(e,r)=>{for(var t=e,n=t>>1,_=n+r/2;!(n>=_)&&GROWABLE_HEAP_U16()[n>>>0];)++n;if(t=n<<1,t-e>32&&UTF16Decoder)return UTF16Decoder.decode(GROWABLE_HEAP_U8().slice(e,t));for(var a="",o=0;!(o>=r/2);++o){var l=GROWABLE_HEAP_I16()[e+o*2>>>1>>>0];if(l==0)break;a+=String.fromCharCode(l)}return a},stringToUTF16=(e,r,t)=>{if(t!=null||(t=2147483647),t<2)return 0;t-=2;for(var n=r,_=t>>1>>>0]=o,r+=2}return GROWABLE_HEAP_I16()[r>>>1>>>0]=0,r-n},lengthBytesUTF16=e=>e.length*2,UTF32ToString=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var _=GROWABLE_HEAP_I32()[e+t*4>>>2>>>0];if(_==0)break;if(++t,_>=65536){var a=_-65536;n+=String.fromCharCode(55296|a>>10,56320|a&1023)}else n+=String.fromCharCode(_)}return n},stringToUTF32=(e,r,t)=>{if(r>>>=0,t!=null||(t=2147483647),t<4)return 0;for(var n=r,_=n+t-4,a=0;a=55296&&o<=57343){var l=e.charCodeAt(++a);o=65536+((o&1023)<<10)|l&1023}if(GROWABLE_HEAP_I32()[r>>>2>>>0]=o,r+=4,r+4>_)break}return GROWABLE_HEAP_I32()[r>>>2>>>0]=0,r-n},lengthBytesUTF32=e=>{for(var r=0,t=0;t=55296&&n<=57343&&++t,r+=4}return r},__embind_register_std_wstring=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,t=readLatin1String(t);var n,_,a,o;r===2?(n=UTF16ToString,_=stringToUTF16,o=lengthBytesUTF16,a=l=>GROWABLE_HEAP_U16()[l>>>1>>>0]):r===4&&(n=UTF32ToString,_=stringToUTF32,o=lengthBytesUTF32,a=l=>GROWABLE_HEAP_U32()[l>>>2>>>0]),registerType(e,{name:t,fromWireType:l=>{for(var c=GROWABLE_HEAP_U32()[l>>>2>>>0],u,d=l+4,p=0;p<=c;++p){var f=l+4+p*r;if(p==c||a(f)==0){var g=f-d,E=n(d,g);u===void 0?u=E:(u+="\0",u+=E),d=f+r}}return _free(l),u},toWireType:(l,c)=>{typeof c!="string"&&throwBindingError("Cannot pass non-string to C++ string type ".concat(t));var u=o(c),d=_malloc(4+u+r);return GROWABLE_HEAP_U32()[d>>>2>>>0]=u/r,_(c,d+4,u+r),l!==null&&l.push(_free,d),d},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(l){_free(l)}})};__embind_register_std_wstring.sig="vppp";var __embind_register_void=function(e,r){e>>>=0,r>>>=0,r=readLatin1String(r),registerType(e,{isVoid:!0,name:r,argPackAdvance:0,fromWireType:()=>{},toWireType:(t,n)=>{}})};__embind_register_void.sig="vpp";var maybeExit=()=>{if(!keepRuntimeAlive())try{ENVIRONMENT_IS_PTHREAD?__emscripten_thread_exit(EXITSTATUS):_exit(EXITSTATUS)}catch(e){handleException(e)}},callUserCallback=e=>{if(!ABORT)try{e(),maybeExit()}catch(r){handleException(r)}},runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";function __emscripten_dlopen_js(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;function _(l){var c=UTF8ToString(e+36);dlSetError("'Could not load dynamic lib: ".concat(c,"\n").concat(l)),runtimeKeepalivePop(),callUserCallback(()=>getWasmTableEntry(t)(e,n))}function a(){runtimeKeepalivePop(),callUserCallback(()=>getWasmTableEntry(r)(e,n))}runtimeKeepalivePush();var o=dlopenInternal(e,{loadAsync:!0});o?o.then(a,_):_()}__emscripten_dlopen_js.sig="vpppp";var __emscripten_dlsync_threads=()=>{for(let e of Object.keys(PThread.pthreads)){let r=Number(e);PThread.finishedThreads.has(r)||__emscripten_proxy_dlsync(r)}};__emscripten_dlsync_threads.sig="v";class HandleAllocator{constructor(){this.allocated=[void 0],this.freelist=[]}get(r){return this.allocated[r]}has(r){return this.allocated[r]!==void 0}allocate(r){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=r,t}free(r){this.allocated[r]=void 0,this.freelist.push(r)}}var promiseMap=new HandleAllocator,makePromise=()=>{var e={};return e.promise=new Promise((r,t)=>{e.reject=t,e.resolve=r}),e.id=promiseMap.allocate(e),e};function _emscripten_promise_create(){return makePromise().id}_emscripten_promise_create.sig="p";var getPromise=e=>promiseMap.get(e).promise;function __emscripten_dlsync_threads_async(e,r,t){e>>>=0,r>>>=0,t>>>=0;let n=[];assert(Object.keys(PThread.outstandingPromises).length===0);var _=makePromise();n.push(_.promise),__emscripten_dlsync_self_async(_.id);for(let a of Object.keys(PThread.pthreads)){let o=Number(a);o!==e&&!PThread.finishedThreads.has(o)&&(_=makePromise(),__emscripten_proxy_dlsync_async(o,_.id),PThread.outstandingPromises[o]=_,n.push(_.promise))}Promise.all(n).then(()=>{PThread.outstandingPromises={},getWasmTableEntry(r)(t)})}__emscripten_dlsync_threads_async.sig="vppp";var nowIsMonotonic=1,__emscripten_get_now_is_monotonic=()=>nowIsMonotonic;__emscripten_get_now_is_monotonic.sig="i";function __emscripten_get_progname(e,r){e>>>=0,stringToUTF8(thisProgram,e,r)}__emscripten_get_progname.sig="vpi";function __emscripten_lookup_name(e){e>>>=0;var r=UTF8ToString(e);return inetPton4(DNS.lookup_name(r))}__emscripten_lookup_name.sig="ip";function __emscripten_thread_mailbox_await(e){if(e>>>=0,typeof Atomics.waitAsync=="function"){var r=Atomics.waitAsync(GROWABLE_HEAP_I32(),e>>>2,e);r.value.then(checkMailbox);var t=e+128;Atomics.store(GROWABLE_HEAP_I32(),t>>>2,1)}}Module.__emscripten_thread_mailbox_await=__emscripten_thread_mailbox_await,__emscripten_thread_mailbox_await.sig="vp";var checkMailbox=()=>{var e=_pthread_self();e&&(__emscripten_thread_mailbox_await(e),callUserCallback(__emscripten_check_mailbox))};Module.checkMailbox=checkMailbox;function __emscripten_notify_mailbox_postmessage(e,r,t){if(e>>>=0,r>>>=0,t>>>=0,e==r)setTimeout(checkMailbox);else if(ENVIRONMENT_IS_PTHREAD)postMessage({targetThread:e,cmd:"checkMailbox"});else{var n=PThread.pthreads[e];if(!n)return;n.postMessage({cmd:"checkMailbox"})}}__emscripten_notify_mailbox_postmessage.sig="vppp";var proxiedJSCallArgs=[];function __emscripten_receive_on_main_thread_js(e,r,t,n,_){r>>>=0,t>>>=0,_>>>=0,proxiedJSCallArgs.length=n;for(var a=_>>>3,o=0;o>>0];var l=r?ASM_CONSTS[r]:proxiedFunctionTable[e];PThread.currentProxiedOperationCallerThread=t;var c=l(...proxiedJSCallArgs);return PThread.currentProxiedOperationCallerThread=0,c}__emscripten_receive_on_main_thread_js.sig="dippip";function __emscripten_runtime_keepalive_clear(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(53,0,1);noExitRuntime=!1,runtimeKeepaliveCounter=0}__emscripten_runtime_keepalive_clear.sig="v";function __emscripten_set_offscreencanvas_size(e,r,t){return e>>>=0,-1}__emscripten_set_offscreencanvas_size.sig="ipii";function __emscripten_system(e){if(e>>>=0,ENVIRONMENT_IS_NODE){if(!e)return 1;var r=UTF8ToString(e);if(!r.length)return 0;var t=["child_process"].map(K),n=t.spawnSync(r,[],{shell:!0,stdio:"inherit"}),_=(o,l)=>o<<8|l;if(n.status===null){var a=o=>{switch(o){case"SIGHUP":return 1;case"SIGINT":return 2;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15}return 2};return _(0,a(n.signal))}return _(n.status,0)}return e?-52:0}__emscripten_system.sig="ip";function __emscripten_thread_exit_joinable(e){e>>>=0,ENVIRONMENT_IS_PTHREAD?postMessage({cmd:"markAsFinished",thread:e}):markAsFinished(e)}__emscripten_thread_exit_joinable.sig="vp";function __emscripten_thread_set_strongref(e){e>>>=0,ENVIRONMENT_IS_NODE&&PThread.pthreads[e].ref()}__emscripten_thread_set_strongref.sig="vp";function __gmtime_js(e,r,t){var n=convertI32PairToI53Checked(e,r);t>>>=0;var _=new Date(n*1e3);GROWABLE_HEAP_I32()[t>>>2>>>0]=_.getUTCSeconds(),GROWABLE_HEAP_I32()[t+4>>>2>>>0]=_.getUTCMinutes(),GROWABLE_HEAP_I32()[t+8>>>2>>>0]=_.getUTCHours(),GROWABLE_HEAP_I32()[t+12>>>2>>>0]=_.getUTCDate(),GROWABLE_HEAP_I32()[t+16>>>2>>>0]=_.getUTCMonth(),GROWABLE_HEAP_I32()[t+20>>>2>>>0]=_.getUTCFullYear()-1900,GROWABLE_HEAP_I32()[t+24>>>2>>>0]=_.getUTCDay();var a=Date.UTC(_.getUTCFullYear(),0,1,0,0,0,0),o=(_.getTime()-a)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[t+28>>>2>>>0]=o}__gmtime_js.sig="viip";var isLeapYear=e=>e%4===0&&(e%100!==0||e%400===0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>{var r=isLeapYear(e.getFullYear()),t=r?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE,n=t[e.getMonth()]+e.getDate()-1;return n};function __localtime_js(e,r,t){var n=convertI32PairToI53Checked(e,r);t>>>=0;var _=new Date(n*1e3);GROWABLE_HEAP_I32()[t>>>2>>>0]=_.getSeconds(),GROWABLE_HEAP_I32()[t+4>>>2>>>0]=_.getMinutes(),GROWABLE_HEAP_I32()[t+8>>>2>>>0]=_.getHours(),GROWABLE_HEAP_I32()[t+12>>>2>>>0]=_.getDate(),GROWABLE_HEAP_I32()[t+16>>>2>>>0]=_.getMonth(),GROWABLE_HEAP_I32()[t+20>>>2>>>0]=_.getFullYear()-1900,GROWABLE_HEAP_I32()[t+24>>>2>>>0]=_.getDay();var a=ydayFromDate(_)|0;GROWABLE_HEAP_I32()[t+28>>>2>>>0]=a,GROWABLE_HEAP_I32()[t+36>>>2>>>0]=-(_.getTimezoneOffset()*60);var o=new Date(_.getFullYear(),0,1),l=new Date(_.getFullYear(),6,1).getTimezoneOffset(),c=o.getTimezoneOffset(),u=(l!=c&&_.getTimezoneOffset()==Math.min(c,l))|0;GROWABLE_HEAP_I32()[t+32>>>2>>>0]=u}__localtime_js.sig="viip";var __mktime_js=function(e){e>>>=0;var r=(()=>{var t=new Date(GROWABLE_HEAP_I32()[e+20>>>2>>>0]+1900,GROWABLE_HEAP_I32()[e+16>>>2>>>0],GROWABLE_HEAP_I32()[e+12>>>2>>>0],GROWABLE_HEAP_I32()[e+8>>>2>>>0],GROWABLE_HEAP_I32()[e+4>>>2>>>0],GROWABLE_HEAP_I32()[e>>>2>>>0],0),n=GROWABLE_HEAP_I32()[e+32>>>2>>>0],_=t.getTimezoneOffset(),a=new Date(t.getFullYear(),0,1),o=new Date(t.getFullYear(),6,1).getTimezoneOffset(),l=a.getTimezoneOffset(),c=Math.min(l,o);if(n<0)GROWABLE_HEAP_I32()[e+32>>>2>>>0]=+(o!=l&&c==_);else if(n>0!=(c==_)){var u=Math.max(l,o),d=n>0?c:u;t.setTime(t.getTime()+(d-_)*6e4)}GROWABLE_HEAP_I32()[e+24>>>2>>>0]=t.getDay();var p=ydayFromDate(t)|0;GROWABLE_HEAP_I32()[e+28>>>2>>>0]=p,GROWABLE_HEAP_I32()[e>>>2>>>0]=t.getSeconds(),GROWABLE_HEAP_I32()[e+4>>>2>>>0]=t.getMinutes(),GROWABLE_HEAP_I32()[e+8>>>2>>>0]=t.getHours(),GROWABLE_HEAP_I32()[e+12>>>2>>>0]=t.getDate(),GROWABLE_HEAP_I32()[e+16>>>2>>>0]=t.getMonth(),GROWABLE_HEAP_I32()[e+20>>>2>>>0]=t.getYear();var f=t.getTime();return isNaN(f)?-1:f/1e3})();return setTempRet0((tempDouble=r,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),r>>>0};__mktime_js.sig="ip";function __mmap_js(e,r,t,n,_,a,o,l){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(54,0,1,e,r,t,n,_,a,o,l);e>>>=0;var c=convertI32PairToI53Checked(_,a);o>>>=0,l>>>=0;try{if(isNaN(c))return 61;var u=SYSCALLS.getStreamFromFD(n),d=FS.mmap(u,e,c,r,t),p=d.ptr;return GROWABLE_HEAP_I32()[o>>>2>>>0]=d.allocated,GROWABLE_HEAP_U32()[l>>>2>>>0]=p,0}catch(f){if(typeof FS>"u"||f.name!=="ErrnoError")throw f;return-f.errno}}__mmap_js.sig="ipiiiiipp";function __msync_js(e,r,t,n,_,a,o){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(55,0,1,e,r,t,n,_,a,o);e>>>=0,r>>>=0;var l=convertI32PairToI53Checked(a,o);try{return isNaN(l)?61:(SYSCALLS.doMsync(e,SYSCALLS.getStreamFromFD(_),r,n,l),0)}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}__msync_js.sig="ippiiiii";function __munmap_js(e,r,t,n,_,a,o){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(56,0,1,e,r,t,n,_,a,o);e>>>=0,r>>>=0;var l=convertI32PairToI53Checked(a,o);try{var c=SYSCALLS.getStreamFromFD(_);t&2&&SYSCALLS.doMsync(e,c,r,n,l)}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}__munmap_js.sig="ippiiiii";var timers={},_emscripten_get_now;_emscripten_get_now=()=>performance.timeOrigin+performance.now(),_emscripten_get_now.sig="d";function __setitimer_js(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(57,0,1,e,r);if(timers[e]&&(clearTimeout(timers[e].id),delete timers[e]),!r)return 0;var t=setTimeout(()=>{delete timers[e],callUserCallback(()=>__emscripten_timeout(e,_emscripten_get_now()))},r);return timers[e]={id:t,timeout_ms:r},0}__setitimer_js.sig="iid";var __timegm_js=function(e){e>>>=0;var r=(()=>{var t=Date.UTC(GROWABLE_HEAP_I32()[e+20>>>2>>>0]+1900,GROWABLE_HEAP_I32()[e+16>>>2>>>0],GROWABLE_HEAP_I32()[e+12>>>2>>>0],GROWABLE_HEAP_I32()[e+8>>>2>>>0],GROWABLE_HEAP_I32()[e+4>>>2>>>0],GROWABLE_HEAP_I32()[e>>>2>>>0],0),n=new Date(t);GROWABLE_HEAP_I32()[e+24>>>2>>>0]=n.getUTCDay();var _=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),a=(n.getTime()-_)/(1e3*60*60*24)|0;return GROWABLE_HEAP_I32()[e+28>>>2>>>0]=a,n.getTime()/1e3})();return setTempRet0((tempDouble=r,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),r>>>0};__timegm_js.sig="ip";var __tzset_js=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var _=new Date().getFullYear(),a=new Date(_,0,1),o=new Date(_,6,1),l=a.getTimezoneOffset(),c=o.getTimezoneOffset(),u=Math.max(l,c);GROWABLE_HEAP_U32()[e>>>2>>>0]=u*60,GROWABLE_HEAP_I32()[r>>>2>>>0]=+(l!=c);var d=g=>g.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],p=d(a),f=d(o);c{abort("")};_abort.sig="v";var _emscripten_set_main_loop_timing=(e,r)=>{if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=r,!Browser.mainLoop.func)return 1;if(Browser.mainLoop.running||(runtimeKeepalivePush(),Browser.mainLoop.running=!0),e==0)Browser.mainLoop.scheduler=function(){var o=Math.max(0,Browser.mainLoop.tickStartTime+r-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,o)},Browser.mainLoop.method="timeout";else if(e==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(e==2){if(typeof Browser.setImmediate>"u")if(typeof setImmediate>"u"){var t=[],n="setimmediate",_=a=>{(a.data===n||a.data.target===n)&&(a.stopPropagation(),t.shift()())};addEventListener("message",_,!0),Browser.setImmediate=function(o){t.push(o),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(o),postMessage({target:n})):postMessage(n,"*")}}else Browser.setImmediate=setImmediate;Browser.mainLoop.scheduler=function(){Browser.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(e,r,t,n,_)=>{Browser.mainLoop.func=e,Browser.mainLoop.arg=n;var a=Browser.mainLoop.currentlyRunningMainloop;function o(){return a0){var c=Date.now(),u=Browser.mainLoop.queue.shift();if(u.func(u.arg),Browser.mainLoop.remainingBlockers){var d=Browser.mainLoop.remainingBlockers,p=d%1==0?d-1:Math.floor(d);u.counted?Browser.mainLoop.remainingBlockers=p:(p=p+.5,Browser.mainLoop.remainingBlockers=(8*d+p)/9)}if(Browser.mainLoop.updateStatus(),!o())return;setTimeout(Browser.mainLoop.runner,0);return}if(o()){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.runIter(e),o()&&(typeof SDL=="object"&&((g=(f=SDL.audio)==null?void 0:f.queueNewAudioData)==null||g.call(f)),Browser.mainLoop.scheduler())}}},_||(r&&r>0?_emscripten_set_main_loop_timing(0,1e3/r):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),t)throw"unwind"},safeSetTimeout=(e,r)=>(runtimeKeepalivePush(),setTimeout(()=>{runtimeKeepalivePop(),callUserCallback(e)},r)),warnOnce=e=>{warnOnce.shown||(warnOnce.shown={}),warnOnce.shown[e]||(warnOnce.shown[e]=1,ENVIRONMENT_IS_NODE&&(e="warning: "+e),err(e))},Browser={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,r=Browser.mainLoop.timingValue,t=Browser.mainLoop.func;Browser.mainLoop.func=null,setMainLoop(t,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,r),Browser.mainLoop.scheduler()},updateStatus(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",r=Browser.mainLoop.remainingBlockers,t=Browser.mainLoop.expectedBlockers;r?r{var f=document.createElement("canvas");f.width=p.width,f.height=p.height;var g=f.getContext("2d");g.drawImage(p,0,0),preloadedImages[o]=f,URL.revokeObjectURL(d),l==null||l(a)},p.onerror=f=>{err("Image ".concat(d," could not be decoded")),c==null||c()},p.src=d},preloadPlugins.push(e);var r={};r.canHandle=function(a){return!Module.noAudioDecoding&&a.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},r.handle=function(a,o,l,c){var u=!1;function d(v){u||(u=!0,preloadedAudios[o]=v,l==null||l(a))}function p(){u||(u=!0,preloadedAudios[o]=new Audio,c==null||c())}var f=new Blob([a],{type:Browser.getMimetype(o)}),g=URL.createObjectURL(f),E=new Audio;E.addEventListener("canplaythrough",()=>d(E),!1),E.onerror=function(b){if(u)return;err("warning: browser could not fully decode audio ".concat(o,", trying slower base64 approach"));function D(h){for(var T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x="=",S="",M=0,A=0,L=0;L=6;){var R=M>>A-6&63;A-=6,S+=T[R]}return A==2?(S+=T[(M&3)<<4],S+=x+x):A==4&&(S+=T[(M&15)<<2],S+=x),S}E.src="data:audio/x-"+o.substr(-3)+";base64,"+D(a),d(E)},E.src=g,safeSetTimeout(()=>{d(E)},1e4)},preloadPlugins.push(r);function t(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var n=Module.canvas;n&&(n.requestPointerLock=n.requestPointerLock||n.mozRequestPointerLock||n.webkitRequestPointerLock||n.msRequestPointerLock||(()=>{}),n.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),n.exitPointerLock=n.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&n.addEventListener("click",_=>{!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),_.preventDefault())},!1))},createContext(e,r,t,n){if(r&&Module.ctx&&e==Module.canvas)return Module.ctx;var _,a;if(r){var o={antialias:!1,alpha:!1,majorVersion:1};if(n)for(var l in n)o[l]=n[l];typeof GL<"u"&&(a=GL.createContext(e,o),a&&(_=GL.getContext(a).GLctx))}else _=e.getContext("2d");return _?(t&&(Module.ctx=_,r&&GL.makeContextCurrent(a),Module.useWebGL=r,Browser.moduleContextCreatedCallbacks.forEach(c=>c()),Browser.init()),_):null},destroyContext(e,r,t){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,r){Browser.lockPointer=e,Browser.resizeCanvas=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1);var t=Module.canvas;function n(){var o,l;Browser.isFullscreen=!1;var a=t.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===a?(t.exitFullscreen=Browser.exitFullscreen,Browser.lockPointer&&t.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas?Browser.setFullscreenCanvasSize():Browser.updateCanvasDimensions(t)):(a.parentNode.insertBefore(t,a),a.parentNode.removeChild(a),Browser.resizeCanvas?Browser.setWindowedCanvasSize():Browser.updateCanvasDimensions(t)),(o=Module.onFullScreen)==null||o.call(Module,Browser.isFullscreen),(l=Module.onFullscreen)==null||l.call(Module,Browser.isFullscreen)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var _=document.createElement("div");t.parentNode.insertBefore(_,t),_.appendChild(t),_.requestFullscreen=_.requestFullscreen||_.mozRequestFullScreen||_.msRequestFullscreen||(_.webkitRequestFullscreen?()=>_.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(_.webkitRequestFullScreen?()=>_.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),_.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen)return!1;var e=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{});return e.apply(document,[]),!0},nextRAF:0,fakeRequestAnimationFrame(e){var r=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=r+1e3/60;else for(;r+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var t=Math.max(Browser.nextRAF-r,0);setTimeout(e,t)},requestAnimationFrame(e){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(e);return}var r=Browser.fakeRequestAnimationFrame;r(e)},safeSetTimeout(e,r){return safeSetTimeout(e,r)},safeRequestAnimationFrame(e){return runtimeKeepalivePush(),Browser.requestAnimationFrame(()=>{runtimeKeepalivePop(),callUserCallback(e)})},getMimetype(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,r){var t=Module.canvas.getBoundingClientRect(),n=Module.canvas.width,_=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,o=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset,l=e-(a+t.left),c=r-(o+t.top);return l=l*(n/t.width),c=c*(_/t.height),{x:l,y:c}},setMouseCoords(e,r){let{x:t,y:n}=Browser.calculateMouseCoords(e,r);Browser.mouseMovementX=t-Browser.mouseX,Browser.mouseMovementY=n-Browser.mouseY,Browser.mouseX=t,Browser.mouseY=n},calculateMouseEvent(e){if(Browser.pointerLock)e.type!="mousemove"&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY;else{if(e.type==="touchstart"||e.type==="touchend"||e.type==="touchmove"){var r=e.touch;if(r===void 0)return;var t=Browser.calculateMouseCoords(r.pageX,r.pageY);if(e.type==="touchstart")Browser.lastTouches[r.identifier]=t,Browser.touches[r.identifier]=t;else if(e.type==="touchend"||e.type==="touchmove"){var n=Browser.touches[r.identifier];n||(n=t),Browser.lastTouches[r.identifier]=n,Browser.touches[r.identifier]=t}return}Browser.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=Module.canvas;Browser.resizeListeners.forEach(r=>r(e.width,e.height))},setCanvasSize(e,r,t){var n=Module.canvas;Browser.updateCanvasDimensions(n,e,r),t||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL<"u"){var e=GROWABLE_HEAP_U32()[SDL.screen>>>2>>>0];e=e|8388608,GROWABLE_HEAP_I32()[SDL.screen>>>2>>>0]=e}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL<"u"){var e=GROWABLE_HEAP_U32()[SDL.screen>>>2>>>0];e=e&-8388609,GROWABLE_HEAP_I32()[SDL.screen>>>2>>>0]=e}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},updateCanvasDimensions(e,r,t){r&&t?(e.widthNative=r,e.heightNative=t):(r=e.widthNative,t=e.heightNative);var n=r,_=t;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(n/_AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++,freeIds:[],scheduleContextAudio:e=>{if(!(Browser.mainLoop.timingMode===1&&document.visibilityState!="visible"))for(var r in e.sources)AL.scheduleSourceAudio(e.sources[r])},scheduleSourceAudio:(e,r)=>{if(!(Browser.mainLoop.timingMode===1&&document.visibilityState!="visible")&&e.state===4114){for(var t=AL.updateSourceTime(e),n=e.bufStartTime,_=e.bufOffset,a=e.bufsProcessed,o=0;o=e.bufQueue.length)if(e.looping)a%=e.bufQueue.length;else break;var d=e.bufQueue[a%e.bufQueue.length];if(d.length===0){if(u++,u===e.bufQueue.length)break}else{var l=e.context.audioCtx.createBufferSource();l.buffer=d.audioBuf,l.playbackRate.value=e.playbackRate,(d.audioBuf._loopStart||d.audioBuf._loopEnd)&&(l.loopStart=d.audioBuf._loopStart,l.loopEnd=d.audioBuf._loopEnd);var p=0;e.type===4136&&e.looping?(p=Number.POSITIVE_INFINITY,l.loop=!0,d.audioBuf._loopStart&&(l.loopStart=d.audioBuf._loopStart),d.audioBuf._loopEnd&&(l.loopEnd=d.audioBuf._loopEnd)):p=(d.audioBuf.duration-_)/e.playbackRate,l._startOffset=_,l._duration=p,l._skipCount=u,u=0,l.connect(e.gain),typeof l.start<"u"?(n=Math.max(n,e.context.audioCtx.currentTime),l.start(n,_)):typeof l.noteOn<"u"&&(n=Math.max(n,e.context.audioCtx.currentTime),l.noteOn(n)),l._startTime=n,e.audioQueue.push(l),n+=p}_=0,a++}}},updateSourceTime:e=>{var r=e.context.audioCtx.currentTime;if(e.state!==4114)return r;isFinite(e.bufStartTime)||(e.bufStartTime=r-e.bufOffset/e.playbackRate,e.bufOffset=0);for(var t=0;e.audioQueue.length;){var n=e.audioQueue[0];if(e.bufsProcessed+=n._skipCount,t=n._startTime+n._duration,r=e.bufQueue.length&&!e.looping)AL.setSourceState(e,4116);else if(e.type===4136&&e.looping){var _=e.bufQueue[0];if(_.length===0)e.bufOffset=0;else{var a=(r-e.bufStartTime)*e.playbackRate,o=_.audioBuf._loopStart||0,l=_.audioBuf._loopEnd||_.audioBuf.duration;l<=o&&(l=_.audioBuf.duration),a0&&(e.bufStartTime+=Math.floor((r-e.bufStartTime)/c)*c)}for(var u=0;u=e.bufQueue.length)if(e.looping)e.bufsProcessed%=e.bufQueue.length;else{AL.setSourceState(e,4116);break}var _=e.bufQueue[e.bufsProcessed];if(_.length>0){if(t=e.bufStartTime+_.audioBuf.duration/e.playbackRate,r{AL.updateSourceTime(e);for(var r=1;r1&&(e.audioQueue.length=1)},stopSourceAudio:e=>{for(var r=0;r{r===4114?((e.state===4114||e.state==4116)&&(e.bufsProcessed=0,e.bufOffset=0),AL.stopSourceAudio(e),e.state=4114,e.bufStartTime=Number.NEGATIVE_INFINITY,AL.scheduleSourceAudio(e)):r===4115?e.state===4114&&(AL.updateSourceTime(e),AL.stopSourceAudio(e),e.state=4115):r===4116?e.state!==4113&&(e.state=4116,e.bufsProcessed=e.bufQueue.length,e.bufStartTime=Number.NEGATIVE_INFINITY,e.bufOffset=0,AL.stopSourceAudio(e)):r===4113&&e.state!==4113&&(e.state=4113,e.bufsProcessed=0,e.bufStartTime=Number.NEGATIVE_INFINITY,e.bufOffset=0,AL.stopSourceAudio(e))},initSourcePanner:e=>{if(e.type!==4144){for(var r=AL.buffers[0],t=0;t{for(var r in e.sources)AL.updateSourceGlobal(e.sources[r])},updateSourceGlobal:e=>{var r=e.panner;if(r){r.refDistance=e.refDistance,r.maxDistance=e.maxDistance,r.rolloffFactor=e.rolloffFactor,r.panningModel=e.context.hrtf?"HRTF":"equalpower";var t=e.context.sourceDistanceModel?e.distanceModel:e.context.distanceModel;switch(t){case 0:r.distanceModel="inverse",r.refDistance=340282e33;break;case 53249:case 53250:r.distanceModel="inverse";break;case 53251:case 53252:r.distanceModel="linear";break;case 53253:case 53254:r.distanceModel="exponential";break}}},updateListenerSpace:e=>{var r=e.audioCtx.listener;r.positionX?(r.positionX.value=e.listener.position[0],r.positionY.value=e.listener.position[1],r.positionZ.value=e.listener.position[2]):r.setPosition(e.listener.position[0],e.listener.position[1],e.listener.position[2]),r.forwardX?(r.forwardX.value=e.listener.direction[0],r.forwardY.value=e.listener.direction[1],r.forwardZ.value=e.listener.direction[2],r.upX.value=e.listener.up[0],r.upY.value=e.listener.up[1],r.upZ.value=e.listener.up[2]):r.setOrientation(e.listener.direction[0],e.listener.direction[1],e.listener.direction[2],e.listener.up[0],e.listener.up[1],e.listener.up[2]);for(var t in e.sources)AL.updateSourceSpace(e.sources[t])},updateSourceSpace:e=>{if(e.panner){var r=e.panner,t=e.position[0],n=e.position[1],_=e.position[2],a=e.direction[0],o=e.direction[1],l=e.direction[2],c=e.context.listener,u=c.position[0],d=c.position[1],p=c.position[2];if(e.relative){var f=-c.direction[0],g=-c.direction[1],E=-c.direction[2],v=c.up[0],b=c.up[1],D=c.up[2],h=(ve,he,Se)=>{var Ae=Math.sqrt(ve*ve+he*he+Se*Se);return Ae{if(e.state===4114){AL.cancelPendingSourceAudio(e);var r=e.audioQueue[0];if(!r)return;var t;e.type===4136&&e.looping?t=Number.POSITIVE_INFINITY:t=(r.buffer.duration-r._startOffset)/e.playbackRate,r._duration=t,r.playbackRate.value=e.playbackRate,AL.scheduleSourceAudio(e)}},sourceDuration:e=>{for(var r=0,t=0;t{AL.updateSourceTime(e);for(var r=0,t=0;t{var t=e.state==4114;if(t&&AL.setSourceState(e,4113),e.bufQueue[e.bufsProcessed].audioBuf!==null){for(e.bufsProcessed=0;r>e.bufQueue[e.bufsProcessed].audioBuf.duration;)r-=e.bufQueue[e.bufsProcessed].audiobuf.duration,e.bufsProcessed++;e.bufOffset=r}t&&AL.setSourceState(e,4114)},getGlobalParam:(e,r)=>{if(!AL.currentCtx)return null;switch(r){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:return AL.currentCtx.err=40962,null}},setGlobalParam:(e,r,t)=>{if(AL.currentCtx)switch(r){case 49152:if(!Number.isFinite(t)||t<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=t,AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(t)||t<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=t,AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(t){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=t,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:(e,r)=>{if(!AL.currentCtx)return null;switch(r){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:return AL.currentCtx.err=40962,null}},setListenerParam:(e,r,t)=>{if(AL.currentCtx){if(t===null){AL.currentCtx.err=40962;return}var n=AL.currentCtx.listener;switch(r){case 4100:if(!Number.isFinite(t[0])||!Number.isFinite(t[1])||!Number.isFinite(t[2])){AL.currentCtx.err=40963;return}n.position[0]=t[0],n.position[1]=t[1],n.position[2]=t[2],AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(t[0])||!Number.isFinite(t[1])||!Number.isFinite(t[2])){AL.currentCtx.err=40963;return}n.velocity[0]=t[0],n.velocity[1]=t[1],n.velocity[2]=t[2],AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(t)||t<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=t;break;case 4111:if(!Number.isFinite(t[0])||!Number.isFinite(t[1])||!Number.isFinite(t[2])||!Number.isFinite(t[3])||!Number.isFinite(t[4])||!Number.isFinite(t[5])){AL.currentCtx.err=40963;return}n.direction[0]=t[0],n.direction[1]=t[1],n.direction[2]=t[2],n.up[0]=t[3],n.up[1]=t[4],n.up[2]=t[5],AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}},getBufferParam:(e,r,t)=>{if(AL.currentCtx){var n=AL.buffers[r];if(!n||r===0){AL.currentCtx.err=40961;return}switch(t){case 8193:return n.frequency;case 8194:return n.bytesPerSample*8;case 8195:return n.channels;case 8196:return n.length*n.bytesPerSample*n.channels;case 8213:return n.length===0?[0,0]:[(n.audioBuf._loopStart||0)*n.frequency,(n.audioBuf._loopEnd||n.length)*n.frequency];default:return AL.currentCtx.err=40962,null}}},setBufferParam:(e,r,t,n)=>{if(AL.currentCtx){var _=AL.buffers[r];if(!_||r===0){AL.currentCtx.err=40961;return}if(n===null){AL.currentCtx.err=40962;return}switch(t){case 8196:if(n!==0){AL.currentCtx.err=40963;return}break;case 8213:if(n[0]<0||n[0]>_.length||n[1]<0||n[1]>_.Length||n[0]>=n[1]){AL.currentCtx.err=40963;return}if(_.refCount>0){AL.currentCtx.err=40964;return}_.audioBuf&&(_.audioBuf._loopStart=n[0]/_.frequency,_.audioBuf._loopEnd=n[1]/_.frequency);break;default:AL.currentCtx.err=40962;return}}},getSourceParam:(e,r,t)=>{if(!AL.currentCtx)return null;var n=AL.currentCtx.sources[r];if(!n)return AL.currentCtx.err=40961,null;switch(t){case 514:return n.relative;case 4097:return n.coneInnerAngle;case 4098:return n.coneOuterAngle;case 4099:return n.pitch;case 4100:return n.position;case 4101:return n.direction;case 4102:return n.velocity;case 4103:return n.looping;case 4105:return n.type===4136?n.bufQueue[0].id:0;case 4106:return n.gain.gain.value;case 4109:return n.minGain;case 4110:return n.maxGain;case 4112:return n.state;case 4117:return n.bufQueue.length===1&&n.bufQueue[0].id===0?0:n.bufQueue.length;case 4118:return n.bufQueue.length===1&&n.bufQueue[0].id===0||n.looping?0:n.bufsProcessed;case 4128:return n.refDistance;case 4129:return n.rolloffFactor;case 4130:return n.coneOuterGain;case 4131:return n.maxDistance;case 4132:return AL.sourceTell(n);case 4133:var _=AL.sourceTell(n);return _>0&&(_*=n.bufQueue[0].frequency),_;case 4134:var _=AL.sourceTell(n);return _>0&&(_*=n.bufQueue[0].frequency*n.bufQueue[0].bytesPerSample),_;case 4135:return n.type;case 4628:return n.spatialize;case 8201:for(var l=0,a=0,o=0;o{if(AL.currentCtx){var _=AL.currentCtx.sources[r];if(!_){AL.currentCtx.err=40961;return}if(n===null){AL.currentCtx.err=40962;return}switch(t){case 514:if(n===1)_.relative=!0,AL.updateSourceSpace(_);else if(n===0)_.relative=!1,AL.updateSourceSpace(_);else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(n)){AL.currentCtx.err=40963;return}_.coneInnerAngle=n,_.panner&&(_.panner.coneInnerAngle=n%360);break;case 4098:if(!Number.isFinite(n)){AL.currentCtx.err=40963;return}_.coneOuterAngle=n,_.panner&&(_.panner.coneOuterAngle=n%360);break;case 4099:if(!Number.isFinite(n)||n<=0){AL.currentCtx.err=40963;return}if(_.pitch===n)break;_.pitch=n,AL.updateSourceRate(_);break;case 4100:if(!Number.isFinite(n[0])||!Number.isFinite(n[1])||!Number.isFinite(n[2])){AL.currentCtx.err=40963;return}_.position[0]=n[0],_.position[1]=n[1],_.position[2]=n[2],AL.updateSourceSpace(_);break;case 4101:if(!Number.isFinite(n[0])||!Number.isFinite(n[1])||!Number.isFinite(n[2])){AL.currentCtx.err=40963;return}_.direction[0]=n[0],_.direction[1]=n[1],_.direction[2]=n[2],AL.updateSourceSpace(_);break;case 4102:if(!Number.isFinite(n[0])||!Number.isFinite(n[1])||!Number.isFinite(n[2])){AL.currentCtx.err=40963;return}_.velocity[0]=n[0],_.velocity[1]=n[1],_.velocity[2]=n[2],AL.updateSourceSpace(_);break;case 4103:if(n===1){if(_.looping=!0,AL.updateSourceTime(_),_.type===4136&&_.audioQueue.length>0){var a=_.audioQueue[0];a.loop=!0,a._duration=Number.POSITIVE_INFINITY}}else if(n===0){_.looping=!1;var o=AL.updateSourceTime(_);if(_.type===4136&&_.audioQueue.length>0){var a=_.audioQueue[0];a.loop=!1,a._duration=_.bufQueue[0].audioBuf.duration/_.playbackRate,a._startTime=o-_.bufOffset/_.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(_.state===4114||_.state===4115){AL.currentCtx.err=40964;return}if(n===0){for(var l in _.bufQueue)_.bufQueue[l].refCount--;_.bufQueue.length=1,_.bufQueue[0]=AL.buffers[0],_.bufsProcessed=0,_.type=4144}else{var c=AL.buffers[n];if(!c){AL.currentCtx.err=40963;return}for(var l in _.bufQueue)_.bufQueue[l].refCount--;_.bufQueue.length=0,c.refCount++,_.bufQueue=[c],_.bufsProcessed=0,_.type=4136}AL.initSourcePanner(_),AL.scheduleSourceAudio(_);break;case 4106:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}_.gain.gain.value=n;break;case 4109:if(!Number.isFinite(n)||n<0||n>Math.min(_.maxGain,1)){AL.currentCtx.err=40963;return}_.minGain=n;break;case 4110:if(!Number.isFinite(n)||n1){AL.currentCtx.err=40963;return}_.maxGain=n;break;case 4128:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}_.refDistance=n,_.panner&&(_.panner.refDistance=n);break;case 4129:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}_.rolloffFactor=n,_.panner&&(_.panner.rolloffFactor=n);break;case 4130:if(!Number.isFinite(n)||n<0||n>1){AL.currentCtx.err=40963;return}_.coneOuterGain=n,_.panner&&(_.panner.coneOuterGain=n);break;case 4131:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}_.maxDistance=n,_.panner&&(_.panner.maxDistance=n);break;case 4132:if(n<0||n>AL.sourceDuration(_)){AL.currentCtx.err=40963;return}AL.sourceSeek(_,n);break;case 4133:var p=AL.sourceDuration(_);if(p>0){var u;for(var d in _.bufQueue)if(d){u=_.bufQueue[d].frequency;break}n/=u}if(n<0||n>p){AL.currentCtx.err=40963;return}AL.sourceSeek(_,n);break;case 4134:var p=AL.sourceDuration(_);if(p>0){var f;for(var d in _.bufQueue)if(d){var c=_.bufQueue[d];f=c.frequency*c.bytesPerSample*c.channels;break}n/=f}if(n<0||n>p){AL.currentCtx.err=40963;return}AL.sourceSeek(_,n);break;case 4628:if(n!==0&&n!==1&&n!==2){AL.currentCtx.err=40963;return}_.spatialize=n,AL.initSourcePanner(_);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(n){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:_.distanceModel=n,AL.currentCtx.sourceDistanceModel&&AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:(e,r)=>{if(e===0)return AL.alcErr=40961,null;var t=AL.captures[e];if(!t)return AL.alcErr=40961,null;var n=t.mediaStreamError;return n?(AL.alcErr=40961,null):t}};function _alBuffer3f(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(58,0,1,e,r,t,n,_);AL.setBufferParam("alBuffer3f",e,r,null)}_alBuffer3f.sig="viifff";function _alBuffer3i(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(59,0,1,e,r,t,n,_);AL.setBufferParam("alBuffer3i",e,r,null)}_alBuffer3i.sig="viiiii";function _alBufferData(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(60,0,1,e,r,t,n,_);if(t>>>=0,!!AL.currentCtx){var a=AL.buffers[e];if(!a){AL.currentCtx.err=40963;return}if(_<=0){AL.currentCtx.err=40963;return}var o=null;try{switch(r){case 4352:if(n>0){o=AL.currentCtx.audioCtx.createBuffer(1,n,_);for(var l=o.getChannelData(0),c=0;c>>0]*.0078125-1}a.bytesPerSample=1,a.channels=1,a.length=n;break;case 4353:if(n>0){o=AL.currentCtx.audioCtx.createBuffer(1,n>>1,_);var l=o.getChannelData(0);t>>=1;for(var c=0;c>1;++c)l[c]=GROWABLE_HEAP_I16()[t++>>>0]*30517578125e-15}a.bytesPerSample=2,a.channels=1,a.length=n>>1;break;case 4354:if(n>0){o=AL.currentCtx.audioCtx.createBuffer(2,n>>1,_);for(var l=o.getChannelData(0),u=o.getChannelData(1),c=0;c>1;++c)l[c]=GROWABLE_HEAP_U8()[t++>>>0]*.0078125-1,u[c]=GROWABLE_HEAP_U8()[t++>>>0]*.0078125-1}a.bytesPerSample=1,a.channels=2,a.length=n>>1;break;case 4355:if(n>0){o=AL.currentCtx.audioCtx.createBuffer(2,n>>2,_);var l=o.getChannelData(0),u=o.getChannelData(1);t>>=1;for(var c=0;c>2;++c)l[c]=GROWABLE_HEAP_I16()[t++>>>0]*30517578125e-15,u[c]=GROWABLE_HEAP_I16()[t++>>>0]*30517578125e-15}a.bytesPerSample=2,a.channels=2,a.length=n>>2;break;case 65552:if(n>0){o=AL.currentCtx.audioCtx.createBuffer(1,n>>2,_);var l=o.getChannelData(0);t>>=2;for(var c=0;c>2;++c)l[c]=GROWABLE_HEAP_F32()[t++>>>0]}a.bytesPerSample=4,a.channels=1,a.length=n>>2;break;case 65553:if(n>0){o=AL.currentCtx.audioCtx.createBuffer(2,n>>3,_);var l=o.getChannelData(0),u=o.getChannelData(1);t>>=2;for(var c=0;c>3;++c)l[c]=GROWABLE_HEAP_F32()[t++>>>0],u[c]=GROWABLE_HEAP_F32()[t++>>>0]}a.bytesPerSample=4,a.channels=2,a.length=n>>3;break;default:AL.currentCtx.err=40963;return}a.frequency=_,a.audioBuf=o}catch(d){AL.currentCtx.err=40963;return}}}_alBufferData.sig="viipii";function _alBufferf(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(61,0,1,e,r,t);AL.setBufferParam("alBufferf",e,r,null)}_alBufferf.sig="viif";function _alBufferfv(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(62,0,1,e,r,t);if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",e,r,null)}}_alBufferfv.sig="viip";function _alBufferi(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(63,0,1,e,r,t);AL.setBufferParam("alBufferi",e,r,null)}_alBufferi.sig="viii";function _alBufferiv(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(64,0,1,e,r,t);if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(r){case 8213:AL.paramArray[0]=GROWABLE_HEAP_I32()[t>>>2>>>0],AL.paramArray[1]=GROWABLE_HEAP_I32()[t+4>>>2>>>0],AL.setBufferParam("alBufferiv",e,r,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",e,r,null);break}}}_alBufferiv.sig="viip";function _alDeleteBuffers(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(65,0,1,e,r);if(r>>>=0,!!AL.currentCtx){for(var t=0;t>>2>>>0];if(n!==0){if(!AL.buffers[n]){AL.currentCtx.err=40961;return}if(AL.buffers[n].refCount){AL.currentCtx.err=40964;return}}}for(var t=0;t>>2>>>0];n!==0&&(AL.deviceRefCounts[AL.buffers[n].deviceId]--,delete AL.buffers[n],AL.freeIds.push(n))}}}_alDeleteBuffers.sig="vip";function _alSourcei(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(67,0,1,e,r,t);switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",e,r,t);break;default:AL.setSourceParam("alSourcei",e,r,null);break}}_alSourcei.sig="viii";function _alDeleteSources(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(66,0,1,e,r);if(r>>>=0,!!AL.currentCtx){for(var t=0;t>>2>>>0];if(!AL.currentCtx.sources[n]){AL.currentCtx.err=40961;return}}for(var t=0;t>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4116),_alSourcei(n,4105,0),delete AL.currentCtx.sources[n],AL.freeIds.push(n)}}}_alDeleteSources.sig="vip";function _alDisable(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(68,0,1,e);if(AL.currentCtx)switch(e){case"AL_SOURCE_DISTANCE_MODEL":AL.currentCtx.sourceDistanceModel=!1,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}_alDisable.sig="vi";function _alDistanceModel(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(69,0,1,e);AL.setGlobalParam("alDistanceModel",53248,e)}_alDistanceModel.sig="vi";function _alDopplerFactor(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(70,0,1,e);AL.setGlobalParam("alDopplerFactor",49152,e)}_alDopplerFactor.sig="vf";function _alDopplerVelocity(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(71,0,1,e);if(warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead."),!!AL.currentCtx&&e<=0){AL.currentCtx.err=40963;return}}_alDopplerVelocity.sig="vf";function _alEnable(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(72,0,1,e);if(AL.currentCtx)switch(e){case"AL_SOURCE_DISTANCE_MODEL":AL.currentCtx.sourceDistanceModel=!0,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}_alEnable.sig="vi";function _alGenBuffers(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(73,0,1,e,r);if(r>>>=0,!!AL.currentCtx)for(var t=0;t>>2>>>0]=n.id}}_alGenBuffers.sig="vip";function _alGenSources(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(74,0,1,e,r);if(r>>>=0,!!AL.currentCtx)for(var t=0;t>>2>>>0]=_.id}}_alGenSources.sig="vip";function _alGetBoolean(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(75,0,1,e);var r=AL.getGlobalParam("alGetBoolean",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r!==0?1:0;default:return AL.currentCtx.err=40962,0}}_alGetBoolean.sig="ii";function _alGetBooleanv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(76,0,1,e,r);r>>>=0;var t=AL.getGlobalParam("alGetBooleanv",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:GROWABLE_HEAP_I8()[r>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetBooleanv.sig="vip";function _alGetBuffer3f(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(77,0,1,e,r,t,n,_);t>>>=0,n>>>=0,_>>>=0;var a=AL.getBufferParam("alGetBuffer3f",e,r);if(a!==null){if(!t||!n||!_){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBuffer3f.sig="viippp";function _alGetBuffer3i(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(78,0,1,e,r,t,n,_);t>>>=0,n>>>=0,_>>>=0;var a=AL.getBufferParam("alGetBuffer3i",e,r);if(a!==null){if(!t||!n||!_){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBuffer3i.sig="viippp";function _alGetBufferf(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(79,0,1,e,r,t);t>>>=0;var n=AL.getBufferParam("alGetBufferf",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBufferf.sig="viip";function _alGetBufferfv(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(80,0,1,e,r,t);t>>>=0;var n=AL.getBufferParam("alGetBufferfv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBufferfv.sig="viip";function _alGetBufferi(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(81,0,1,e,r,t);t>>>=0;var n=AL.getBufferParam("alGetBufferi",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 8193:case 8194:case 8195:case 8196:GROWABLE_HEAP_I32()[t>>>2>>>0]=n;break;default:AL.currentCtx.err=40962;return}}}_alGetBufferi.sig="viip";function _alGetBufferiv(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(82,0,1,e,r,t);t>>>=0;var n=AL.getBufferParam("alGetBufferiv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 8193:case 8194:case 8195:case 8196:GROWABLE_HEAP_I32()[t>>>2>>>0]=n;break;case 8213:GROWABLE_HEAP_I32()[t>>>2>>>0]=n[0],GROWABLE_HEAP_I32()[t+4>>>2>>>0]=n[1];break;default:AL.currentCtx.err=40962;return}}}_alGetBufferiv.sig="viip";function _alGetDouble(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(83,0,1,e);var r=AL.getGlobalParam("alGetDouble",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r;default:return AL.currentCtx.err=40962,0}}_alGetDouble.sig="di";function _alGetDoublev(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(84,0,1,e,r);r>>>=0;var t=AL.getGlobalParam("alGetDoublev",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:GROWABLE_HEAP_F64()[r>>>3>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetDoublev.sig="vip";function _alGetEnumValue(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(85,0,1,e);if(e>>>=0,!AL.currentCtx)return 0;if(!e)return AL.currentCtx.err=40963,0;var r=UTF8ToString(e);switch(r){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:return AL.currentCtx.err=40963,0}}_alGetEnumValue.sig="ip";function _alGetError(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(86,0,1);if(!AL.currentCtx)return 40964;var e=AL.currentCtx.err;return AL.currentCtx.err=0,e}_alGetError.sig="i";function _alGetFloat(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(87,0,1,e);var r=AL.getGlobalParam("alGetFloat",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r;default:return 0}}_alGetFloat.sig="fi";function _alGetFloatv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(88,0,1,e,r);r>>>=0;var t=AL.getGlobalParam("alGetFloatv",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:GROWABLE_HEAP_F32()[r>>>2>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetFloatv.sig="vip";function _alGetInteger(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(89,0,1,e);var r=AL.getGlobalParam("alGetInteger",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r;default:return AL.currentCtx.err=40962,0}}_alGetInteger.sig="ii";function _alGetIntegerv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(90,0,1,e,r);r>>>=0;var t=AL.getGlobalParam("alGetIntegerv",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:GROWABLE_HEAP_I32()[r>>>2>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetIntegerv.sig="vip";function _alGetListener3f(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(91,0,1,e,r,t,n);r>>>=0,t>>>=0,n>>>=0;var _=AL.getListenerParam("alGetListener3f",e);if(_!==null){if(!r||!t||!n){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:GROWABLE_HEAP_F32()[r>>>2>>>0]=_[0],GROWABLE_HEAP_F32()[t>>>2>>>0]=_[1],GROWABLE_HEAP_F32()[n>>>2>>>0]=_[2];break;default:AL.currentCtx.err=40962;return}}}_alGetListener3f.sig="vippp";function _alGetListener3i(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(92,0,1,e,r,t,n);r>>>=0,t>>>=0,n>>>=0;var _=AL.getListenerParam("alGetListener3i",e);if(_!==null){if(!r||!t||!n){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:GROWABLE_HEAP_I32()[r>>>2>>>0]=_[0],GROWABLE_HEAP_I32()[t>>>2>>>0]=_[1],GROWABLE_HEAP_I32()[n>>>2>>>0]=_[2];break;default:AL.currentCtx.err=40962;return}}}_alGetListener3i.sig="vippp";function _alGetListenerf(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(93,0,1,e,r);r>>>=0;var t=AL.getListenerParam("alGetListenerf",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4106:GROWABLE_HEAP_F32()[r>>>2>>>0]=t;break;default:AL.currentCtx.err=40962;return}}}_alGetListenerf.sig="vip";function _alGetListenerfv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(94,0,1,e,r);r>>>=0;var t=AL.getListenerParam("alGetListenerfv",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:GROWABLE_HEAP_F32()[r>>>2>>>0]=t[0],GROWABLE_HEAP_F32()[r+4>>>2>>>0]=t[1],GROWABLE_HEAP_F32()[r+8>>>2>>>0]=t[2];break;case 4111:GROWABLE_HEAP_F32()[r>>>2>>>0]=t[0],GROWABLE_HEAP_F32()[r+4>>>2>>>0]=t[1],GROWABLE_HEAP_F32()[r+8>>>2>>>0]=t[2],GROWABLE_HEAP_F32()[r+12>>>2>>>0]=t[3],GROWABLE_HEAP_F32()[r+16>>>2>>>0]=t[4],GROWABLE_HEAP_F32()[r+20>>>2>>>0]=t[5];break;default:AL.currentCtx.err=40962;return}}}_alGetListenerfv.sig="vip";function _alGetListeneri(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(95,0,1,e,r);r>>>=0;var t=AL.getListenerParam("alGetListeneri",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetListeneri.sig="vip";function _alGetListeneriv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(96,0,1,e,r);r>>>=0;var t=AL.getListenerParam("alGetListeneriv",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:GROWABLE_HEAP_I32()[r>>>2>>>0]=t[0],GROWABLE_HEAP_I32()[r+4>>>2>>>0]=t[1],GROWABLE_HEAP_I32()[r+8>>>2>>>0]=t[2];break;case 4111:GROWABLE_HEAP_I32()[r>>>2>>>0]=t[0],GROWABLE_HEAP_I32()[r+4>>>2>>>0]=t[1],GROWABLE_HEAP_I32()[r+8>>>2>>>0]=t[2],GROWABLE_HEAP_I32()[r+12>>>2>>>0]=t[3],GROWABLE_HEAP_I32()[r+16>>>2>>>0]=t[4],GROWABLE_HEAP_I32()[r+20>>>2>>>0]=t[5];break;default:AL.currentCtx.err=40962;return}}}_alGetListeneriv.sig="vip";function _alGetSource3f(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(97,0,1,e,r,t,n,_);t>>>=0,n>>>=0,_>>>=0;var a=AL.getSourceParam("alGetSource3f",e,r);if(a!==null){if(!t||!n||!_){AL.currentCtx.err=40963;return}switch(r){case 4100:case 4101:case 4102:GROWABLE_HEAP_F32()[t>>>2>>>0]=a[0],GROWABLE_HEAP_F32()[n>>>2>>>0]=a[1],GROWABLE_HEAP_F32()[_>>>2>>>0]=a[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSource3f.sig="viippp";function _alGetSource3i(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(98,0,1,e,r,t,n,_);t>>>=0,n>>>=0,_>>>=0;var a=AL.getSourceParam("alGetSource3i",e,r);if(a!==null){if(!t||!n||!_){AL.currentCtx.err=40963;return}switch(r){case 4100:case 4101:case 4102:GROWABLE_HEAP_I32()[t>>>2>>>0]=a[0],GROWABLE_HEAP_I32()[n>>>2>>>0]=a[1],GROWABLE_HEAP_I32()[_>>>2>>>0]=a[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSource3i.sig="viippp";function _alGetSourcef(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(99,0,1,e,r,t);t>>>=0;var n=AL.getSourceParam("alGetSourcef",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:GROWABLE_HEAP_F32()[t>>>2>>>0]=n;break;default:AL.currentCtx.err=40962;return}}}_alGetSourcef.sig="viip";function _alGetSourcefv(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(100,0,1,e,r,t);t>>>=0;var n=AL.getSourceParam("alGetSourcefv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:GROWABLE_HEAP_F32()[t>>>2>>>0]=n[0];break;case 4100:case 4101:case 4102:GROWABLE_HEAP_F32()[t>>>2>>>0]=n[0],GROWABLE_HEAP_F32()[t+4>>>2>>>0]=n[1],GROWABLE_HEAP_F32()[t+8>>>2>>>0]=n[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSourcefv.sig="viip";function _alGetSourcei(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(101,0,1,e,r,t);t>>>=0;var n=AL.getSourceParam("alGetSourcei",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:GROWABLE_HEAP_I32()[t>>>2>>>0]=n;break;default:AL.currentCtx.err=40962;return}}}_alGetSourcei.sig="viip";function _alGetSourceiv(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(102,0,1,e,r,t);t>>>=0;var n=AL.getSourceParam("alGetSourceiv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:GROWABLE_HEAP_I32()[t>>>2>>>0]=n;break;case 4100:case 4101:case 4102:GROWABLE_HEAP_I32()[t>>>2>>>0]=n[0],GROWABLE_HEAP_I32()[t+4>>>2>>>0]=n[1],GROWABLE_HEAP_I32()[t+8>>>2>>>0]=n[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSourceiv.sig="viip";var stringToNewUTF8=e=>{var r=lengthBytesUTF8(e)+1,t=_malloc(r);return t&&stringToUTF8(e,t,r),t};function _alGetString(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(103,0,1,e);if(AL.stringCache[e])return AL.stringCache[e];var r;switch(e){case 0:r="No Error";break;case 40961:r="Invalid Name";break;case 40962:r="Invalid Enum";break;case 40963:r="Invalid Value";break;case 40964:r="Invalid Operation";break;case 40965:r="Out of Memory";break;case 45057:r="Emscripten";break;case 45058:r="1.1";break;case 45059:r="WebAudio";break;case 45060:r="";for(var t in AL.AL_EXTENSIONS)r=r.concat(t),r=r.concat(" ");r=r.trim();break;default:return AL.currentCtx&&(AL.currentCtx.err=40962),0}return r=stringToNewUTF8(r),AL.stringCache[e]=r,r}_alGetString.sig="pi";function _alIsBuffer(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(104,0,1,e):!(!AL.currentCtx||e>AL.buffers.length||!AL.buffers[e])}_alIsBuffer.sig="ii";function _alIsEnabled(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(105,0,1,e);if(!AL.currentCtx)return 0;switch(e){case"AL_SOURCE_DISTANCE_MODEL":return AL.currentCtx.sourceDistanceModel?0:1;default:return AL.currentCtx.err=40962,0}}_alIsEnabled.sig="ii";function _alIsExtensionPresent(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(106,0,1,e);e>>>=0;var r=UTF8ToString(e);return AL.AL_EXTENSIONS[r]?1:0}_alIsExtensionPresent.sig="ip";function _alIsSource(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(107,0,1,e):!(!AL.currentCtx||!AL.currentCtx.sources[e])}_alIsSource.sig="ii";function _alListener3f(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(108,0,1,e,r,t,n);switch(e){case 4100:case 4102:AL.paramArray[0]=r,AL.paramArray[1]=t,AL.paramArray[2]=n,AL.setListenerParam("alListener3f",e,AL.paramArray);break;default:AL.setListenerParam("alListener3f",e,null);break}}_alListener3f.sig="vifff";function _alListener3i(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(109,0,1,e,r,t,n);switch(e){case 4100:case 4102:AL.paramArray[0]=r,AL.paramArray[1]=t,AL.paramArray[2]=n,AL.setListenerParam("alListener3i",e,AL.paramArray);break;default:AL.setListenerParam("alListener3i",e,null);break}}_alListener3i.sig="viiii";function _alListenerf(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(110,0,1,e,r);switch(e){case 4106:AL.setListenerParam("alListenerf",e,r);break;default:AL.setListenerParam("alListenerf",e,null);break}}_alListenerf.sig="vif";function _alListenerfv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(111,0,1,e,r);if(r>>>=0,!!AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:AL.paramArray[0]=GROWABLE_HEAP_F32()[r>>>2>>>0],AL.paramArray[1]=GROWABLE_HEAP_F32()[r+4>>>2>>>0],AL.paramArray[2]=GROWABLE_HEAP_F32()[r+8>>>2>>>0],AL.setListenerParam("alListenerfv",e,AL.paramArray);break;case 4111:AL.paramArray[0]=GROWABLE_HEAP_F32()[r>>>2>>>0],AL.paramArray[1]=GROWABLE_HEAP_F32()[r+4>>>2>>>0],AL.paramArray[2]=GROWABLE_HEAP_F32()[r+8>>>2>>>0],AL.paramArray[3]=GROWABLE_HEAP_F32()[r+12>>>2>>>0],AL.paramArray[4]=GROWABLE_HEAP_F32()[r+16>>>2>>>0],AL.paramArray[5]=GROWABLE_HEAP_F32()[r+20>>>2>>>0],AL.setListenerParam("alListenerfv",e,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",e,null);break}}}_alListenerfv.sig="vip";function _alListeneri(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(112,0,1,e,r);AL.setListenerParam("alListeneri",e,null)}_alListeneri.sig="vii";function _alListeneriv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(113,0,1,e,r);if(r>>>=0,!!AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:AL.paramArray[0]=GROWABLE_HEAP_I32()[r>>>2>>>0],AL.paramArray[1]=GROWABLE_HEAP_I32()[r+4>>>2>>>0],AL.paramArray[2]=GROWABLE_HEAP_I32()[r+8>>>2>>>0],AL.setListenerParam("alListeneriv",e,AL.paramArray);break;case 4111:AL.paramArray[0]=GROWABLE_HEAP_I32()[r>>>2>>>0],AL.paramArray[1]=GROWABLE_HEAP_I32()[r+4>>>2>>>0],AL.paramArray[2]=GROWABLE_HEAP_I32()[r+8>>>2>>>0],AL.paramArray[3]=GROWABLE_HEAP_I32()[r+12>>>2>>>0],AL.paramArray[4]=GROWABLE_HEAP_I32()[r+16>>>2>>>0],AL.paramArray[5]=GROWABLE_HEAP_I32()[r+20>>>2>>>0],AL.setListenerParam("alListeneriv",e,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",e,null);break}}}_alListeneriv.sig="vip";function _alSource3f(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(114,0,1,e,r,t,n,_);switch(r){case 4100:case 4101:case 4102:AL.paramArray[0]=t,AL.paramArray[1]=n,AL.paramArray[2]=_,AL.setSourceParam("alSource3f",e,r,AL.paramArray);break;default:AL.setSourceParam("alSource3f",e,r,null);break}}_alSource3f.sig="viifff";function _alSource3i(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(115,0,1,e,r,t,n,_);switch(r){case 4100:case 4101:case 4102:AL.paramArray[0]=t,AL.paramArray[1]=n,AL.paramArray[2]=_,AL.setSourceParam("alSource3i",e,r,AL.paramArray);break;default:AL.setSourceParam("alSource3i",e,r,null);break}}_alSource3i.sig="viiiii";function _alSourcePause(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(116,0,1,e);if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4115)}}_alSourcePause.sig="vi";function _alSourcePausev(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(117,0,1,e,r);if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4115)}}}_alSourcePausev.sig="vip";function _alSourcePlay(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(118,0,1,e);if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4114)}}_alSourcePlay.sig="vi";function _alSourcePlayv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(119,0,1,e,r);if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4114)}}}_alSourcePlayv.sig="vip";function _alSourceQueueBuffers(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(120,0,1,e,r,t);if(t>>>=0,!!AL.currentCtx){var n=AL.currentCtx.sources[e];if(!n){AL.currentCtx.err=40961;return}if(n.type===4136){AL.currentCtx.err=40964;return}if(r!==0){for(var _=AL.buffers[0],a=0;a>>2>>>0],l=AL.buffers[o];if(!l){AL.currentCtx.err=40961;return}_.id!==0&&(l.frequency!==_.frequency||l.bytesPerSample!==_.bytesPerSample||l.channels!==_.channels)&&(AL.currentCtx.err=40964)}n.bufQueue.length===1&&n.bufQueue[0].id===0&&(n.bufQueue.length=0),n.type=4137;for(var a=0;a>>2>>>0],l=AL.buffers[o];l.refCount++,n.bufQueue.push(l)}n.looping&&AL.cancelPendingSourceAudio(n),AL.initSourcePanner(n),AL.scheduleSourceAudio(n)}}}_alSourceQueueBuffers.sig="viip";function _alSourceRewind(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(121,0,1,e);if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4116),AL.setSourceState(r,4113)}}_alSourceRewind.sig="vi";function _alSourceRewindv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(122,0,1,e,r);if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4113)}}}_alSourceRewindv.sig="vip";function _alSourceStop(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(123,0,1,e);if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4116)}}_alSourceStop.sig="vi";function _alSourceStopv(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(124,0,1,e,r);if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4116)}}}_alSourceStopv.sig="vip";function _alSourceUnqueueBuffers(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(125,0,1,e,r,t);if(t>>>=0,!!AL.currentCtx){var n=AL.currentCtx.sources[e];if(!n){AL.currentCtx.err=40961;return}if(r>(n.bufQueue.length===1&&n.bufQueue[0].id===0?0:n.bufsProcessed)){AL.currentCtx.err=40963;return}if(r!==0){for(var _=0;_>>2>>>0]=a.id,n.bufsProcessed--}n.bufQueue.length===0&&n.bufQueue.push(AL.buffers[0]),AL.initSourcePanner(n),AL.scheduleSourceAudio(n)}}}_alSourceUnqueueBuffers.sig="viip";function _alSourcef(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(126,0,1,e,r,t);switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",e,r,t);break;default:AL.setSourceParam("alSourcef",e,r,null);break}}_alSourcef.sig="viif";function _alSourcefv(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(127,0,1,e,r,t);if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var n=GROWABLE_HEAP_F32()[t>>>2>>>0];AL.setSourceParam("alSourcefv",e,r,n);break;case 4100:case 4101:case 4102:AL.paramArray[0]=GROWABLE_HEAP_F32()[t>>>2>>>0],AL.paramArray[1]=GROWABLE_HEAP_F32()[t+4>>>2>>>0],AL.paramArray[2]=GROWABLE_HEAP_F32()[t+8>>>2>>>0],AL.setSourceParam("alSourcefv",e,r,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",e,r,null);break}}}_alSourcefv.sig="viip";function _alSourceiv(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(128,0,1,e,r,t);if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var n=GROWABLE_HEAP_I32()[t>>>2>>>0];AL.setSourceParam("alSourceiv",e,r,n);break;case 4100:case 4101:case 4102:AL.paramArray[0]=GROWABLE_HEAP_I32()[t>>>2>>>0],AL.paramArray[1]=GROWABLE_HEAP_I32()[t+4>>>2>>>0],AL.paramArray[2]=GROWABLE_HEAP_I32()[t+8>>>2>>>0],AL.setSourceParam("alSourceiv",e,r,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",e,r,null);break}}}_alSourceiv.sig="viip";function _alSpeedOfSound(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(129,0,1,e);AL.setGlobalParam("alSpeedOfSound",49155,e)}_alSpeedOfSound.sig="vf";var _alcCaptureCloseDevice=function(e){var t,n,_,a;if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(130,0,1,e);e>>>=0;var r=AL.requireValidCaptureDevice(e,"alcCaptureCloseDevice");return r?(delete AL.captures[e],AL.freeIds.push(e),(t=r.mediaStreamSourceNode)==null||t.disconnect(),(n=r.mergerNode)==null||n.disconnect(),(_=r.splitterNode)==null||_.disconnect(),(a=r.scriptProcessorNode)==null||a.disconnect(),r.mediaStream&&r.mediaStream.getTracks().forEach(o=>o.stop()),delete r.buffers,r.capturedFrameCount=0,r.isCapturing=!1,!0):!1};_alcCaptureCloseDevice.sig="ip";var listenOnce=(e,r,t)=>{e.addEventListener(r,t,{once:!0})},autoResumeAudioContext=(e,r)=>{r||(r=[document,document.getElementById("canvas")]),["keydown","mousedown","touchstart"].forEach(t=>{r.forEach(n=>{n&&listenOnce(n,t,()=>{e.state==="suspended"&&e.resume()})})})};function _alcCaptureOpenDevice(e,r,t,n){var T;if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(131,0,1,e,r,t,n);e>>>=0;var _=AL.CAPTURE_DEVICE_NAME;if(e!==0&&(_=UTF8ToString(e),_!==AL.CAPTURE_DEVICE_NAME))return AL.alcErr=40965,0;if(n<0)return AL.alcErr=40964,0;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var a=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!a)return AL.alcErr=40965,0;var o=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx)try{AL.sharedCaptureAudioCtx=new o}catch(x){return AL.alcErr=40965,0}autoResumeAudioContext(AL.sharedCaptureAudioCtx);var l;switch(t){case 65552:case 4353:case 4352:l=1;break;case 65553:case 4355:case 4354:l=2;break;default:return AL.alcErr=40964,0}function c(x){return new Float32Array(x)}function u(x){return new Int16Array(x)}function d(x){return new Uint8Array(x)}var p,f;switch(t){case 65552:case 65553:p="f32",f=c;break;case 4353:case 4355:p="i16",f=u;break;case 4352:case 4354:p="u8",f=d;break}var g=[];try{for(var E=0;E{v.mediaStreamError=x},D=x=>{v.mediaStreamSourceNode=v.audioCtx.createMediaStreamSource(x),v.mediaStream=x;var S=1;switch(v.mediaStreamSourceNode.channelCountMode){case"max":S=l;break;case"clamped-max":S=Math.min(l,v.mediaStreamSourceNode.channelCount);break;case"explicit":S=v.mediaStreamSourceNode.channelCount;break}v.inputChannelCount=S;var M=512;v.scriptProcessorNode=v.audioCtx.createScriptProcessor(M,S,l),S>l?(v.mergerNode=v.audioCtx.createChannelMerger(S),v.mediaStreamSourceNode.connect(v.mergerNode),v.mergerNode.connect(v.scriptProcessorNode)):S{if(v.isCapturing){var L=v,R=A.inputBuffer;switch(t){case 65552:for(var w=R.getChannelData(0),y=0;y>>=0,r>>>=0;var n=AL.requireValidCaptureDevice(e,"alcCaptureSamples");if(!n)return;var _=n.requestedSampleRate,a=n.audioCtx.sampleRate,o=a/_;if(t<0||t>n.capturedFrameCount/o){AL.alcErr=40964;return}function l(T,x){GROWABLE_HEAP_F32()[r+4*T>>>2>>>0]=x}function c(T,x){GROWABLE_HEAP_I16()[r+2*T>>>1>>>0]=x}function u(T,x){GROWABLE_HEAP_I8()[r+T>>>0]=x}var d;switch(n.requestedSampleType){case"f32":d=l;break;case"i16":d=c;break;case"u8":d=u;break;default:return}if(Math.floor(o)==o)for(var p=0,f=0;f>>=0;var r=AL.requireValidCaptureDevice(e,"alcCaptureStart");r&&(r.isCapturing||(r.isCapturing=!0,r.capturedFrameCount=0,r.capturePlayhead=0))}_alcCaptureStart.sig="vp";function _alcCaptureStop(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(134,0,1,e);e>>>=0;var r=AL.requireValidCaptureDevice(e,"alcCaptureStop");r&&(r.isCapturing=!1)}_alcCaptureStop.sig="vp";function _alcCloseDevice(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(135,0,1,e):(e>>>=0,!(e in AL.deviceRefCounts)||AL.deviceRefCounts[e]>0?0:(delete AL.deviceRefCounts[e],AL.freeIds.push(e),1))}_alcCloseDevice.sig="ip";function _alcCreateContext(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(136,0,1,e,r);if(e>>>=0,r>>>=0,!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;var t=null,n=[],_=null;if(r>>=2,r)for(var a=0,o=0;a=GROWABLE_HEAP_I32()[r++>>>0],n.push(a),a!==0;)switch(o=GROWABLE_HEAP_I32()[r++>>>0],n.push(o),a){case 4103:t||(t={}),t.sampleRate=o;break;case 4112:case 4113:break;case 6546:switch(o){case 0:_=!1;break;case 1:_=!0;break;case 2:break;default:return AL.alcErr=40964,0}break;case 6550:if(o!==0)return AL.alcErr=40964,0;break;default:return AL.alcErr=40964,0}var l=window.AudioContext||window.webkitAudioContext,c=null;try{t?c=new l(t):c=new l}catch(g){return g.name==="NotSupportedError"?AL.alcErr=40964:AL.alcErr=40961,0}autoResumeAudioContext(c),typeof c.createGain>"u"&&(c.createGain=c.createGainNode);var u=c.createGain();u.connect(c.destination);var d={deviceId:e,id:AL.newId(),attrs:n,audioCtx:c,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(()=>AL.scheduleContextAudio(d),AL.QUEUE_INTERVAL),gain:u,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:!1,hrtf:_||!1,_err:0,get err(){return this._err},set err(g){(this._err===0||g===0)&&(this._err=g)}};if(AL.deviceRefCounts[e]++,AL.contexts[d.id]=d,_!==null)for(var p in AL.contexts){var f=AL.contexts[p];f.deviceId===e&&(f.hrtf=_,AL.updateContextGlobal(f))}return d.id}_alcCreateContext.sig="ppp";function _alcDestroyContext(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(137,0,1,e);e>>>=0;var r=AL.contexts[e];if(AL.currentCtx===r){AL.alcErr=40962;return}AL.contexts[e].interval&&clearInterval(AL.contexts[e].interval),AL.deviceRefCounts[r.deviceId]--,delete AL.contexts[e],AL.freeIds.push(e)}_alcDestroyContext.sig="vp";function _alcGetContextsDevice(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(138,0,1,e):(e>>>=0,e in AL.contexts?AL.contexts[e].deviceId:0)}_alcGetContextsDevice.sig="pp";function _alcGetCurrentContext(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(139,0,1):AL.currentCtx!==null?AL.currentCtx.id:0}_alcGetCurrentContext.sig="p";function _alcGetEnumValue(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(140,0,1,e,r);if(e>>>=0,r>>>=0,e!==0&&!(e in AL.deviceRefCounts))return 0;if(!r)return AL.alcErr=40964,0;var t=UTF8ToString(r);switch(t){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:return AL.alcErr=40964,0}}_alcGetEnumValue.sig="ipp";function _alcGetError(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(141,0,1,e);e>>>=0;var r=AL.alcErr;return AL.alcErr=0,r}_alcGetError.sig="ip";function _alcGetIntegerv(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(142,0,1,e,r,t,n);if(e>>>=0,n>>>=0,!(t===0||!n))switch(r){case 4096:GROWABLE_HEAP_I32()[n>>>2>>>0]=1;break;case 4097:GROWABLE_HEAP_I32()[n>>>2>>>0]=1;break;case 4098:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}GROWABLE_HEAP_I32()[n>>>2>>>0]=AL.currentCtx.attrs.length;break;case 4099:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var _=0;_>>2>>>0]=AL.currentCtx.attrs[_];break;case 4103:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}GROWABLE_HEAP_I32()[n>>>2>>>0]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}GROWABLE_HEAP_I32()[n>>>2>>>0]=2147483647;break;case 6546:case 6547:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}var a=0;for(var o in AL.contexts){var l=AL.contexts[o];l.deviceId===e&&(a=l.hrtf?1:0)}GROWABLE_HEAP_I32()[n>>>2>>>0]=a;break;case 6548:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}GROWABLE_HEAP_I32()[n>>>2>>>0]=1;break;case 131075:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}GROWABLE_HEAP_I32()[n>>>2>>>0]=1;case 786:var c=AL.requireValidCaptureDevice(e,"alcGetIntegerv");if(!c)return;var u=c.capturedFrameCount,d=c.requestedSampleRate,p=c.audioCtx.sampleRate,f=Math.floor(u*(d/p));GROWABLE_HEAP_I32()[n>>>2>>>0]=f;break;default:AL.alcErr=40963;return}}_alcGetIntegerv.sig="vpiip";function _alcGetString(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(143,0,1,e,r);if(e>>>=0,AL.alcStringCache[r])return AL.alcStringCache[r];var t;switch(r){case 0:t="No Error";break;case 40961:t="Invalid Device";break;case 40962:t="Invalid Context";break;case 40963:t="Invalid Enum";break;case 40964:t="Invalid Value";break;case 40965:t="Out of Memory";break;case 4100:if(typeof AudioContext<"u"||typeof webkitAudioContext<"u")t=AL.DEVICE_NAME;else return 0;break;case 4101:typeof AudioContext<"u"||typeof webkitAudioContext<"u"?t=AL.DEVICE_NAME.concat("\0"):t="\0";break;case 785:t=AL.CAPTURE_DEVICE_NAME;break;case 784:if(e===0)t=AL.CAPTURE_DEVICE_NAME.concat("\0");else{var n=AL.requireValidCaptureDevice(e,"alcGetString");if(!n)return 0;t=n.deviceName}break;case 4102:if(!e)return AL.alcErr=40961,0;t="";for(var _ in AL.ALC_EXTENSIONS)t=t.concat(_),t=t.concat(" ");t=t.trim();break;default:return AL.alcErr=40963,0}return t=stringToNewUTF8(t),AL.alcStringCache[r]=t,t}_alcGetString.sig="ppi";function _alcIsExtensionPresent(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(144,0,1,e,r);e>>>=0,r>>>=0;var t=UTF8ToString(r);return AL.ALC_EXTENSIONS[t]?1:0}_alcIsExtensionPresent.sig="ipp";function _alcMakeContextCurrent(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(145,0,1,e):(e>>>=0,e===0?AL.currentCtx=null:AL.currentCtx=AL.contexts[e],1)}_alcMakeContextCurrent.sig="ip";function _alcOpenDevice(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(146,0,1,e);if(e>>>=0,e){var r=UTF8ToString(e);if(r!==AL.DEVICE_NAME)return 0}if(typeof AudioContext<"u"||typeof webkitAudioContext<"u"){var t=AL.newId();return AL.deviceRefCounts[t]=0,t}return 0}_alcOpenDevice.sig="pp";function _alcProcessContext(e){e>>>=0}_alcProcessContext.sig="vp";function _alcSuspendContext(e){e>>>=0}_alcSuspendContext.sig="vp";function _duckdb_web_fs_directory_create(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.createDirectory(Module,e,r)}_duckdb_web_fs_directory_create.sig="vpi";function _duckdb_web_fs_directory_exists(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.checkDirectory(Module,e,r)}_duckdb_web_fs_directory_exists.sig="ipi";function _duckdb_web_fs_directory_list_files(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,e,r)}_duckdb_web_fs_directory_list_files.sig="ipi";function _duckdb_web_fs_directory_remove(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.removeDirectory(Module,e,r)}_duckdb_web_fs_directory_remove.sig="vpi";function _duckdb_web_fs_file_close(e){return globalThis.DUCKDB_RUNTIME.closeFile(Module,e)}_duckdb_web_fs_file_close.sig="vi";function _duckdb_web_fs_file_drop_file(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.dropFile(Module,e,r)}_duckdb_web_fs_file_drop_file.sig="vpi";function _duckdb_web_fs_file_exists(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.checkFile(Module,e,r)}_duckdb_web_fs_file_exists.sig="ipi";function _duckdb_web_fs_file_get_last_modified_time(e){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,e)}_duckdb_web_fs_file_get_last_modified_time.sig="ii";function _duckdb_web_fs_file_move(e,r,t,n){return e>>>=0,t>>>=0,globalThis.DUCKDB_RUNTIME.moveFile(Module,e,r,t,n)}_duckdb_web_fs_file_move.sig="vpipi";function _duckdb_web_fs_file_open(e,r){return globalThis.DUCKDB_RUNTIME.openFile(Module,e,r)}_duckdb_web_fs_file_open.sig="pii";function _duckdb_web_fs_file_read(e,r,t,n){return r>>>=0,globalThis.DUCKDB_RUNTIME.readFile(Module,e,r,t,n)}_duckdb_web_fs_file_read.sig="iipid";function _duckdb_web_fs_file_truncate(e,r){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,e,r)}_duckdb_web_fs_file_truncate.sig="vid";function _duckdb_web_fs_file_write(e,r,t,n){return r>>>=0,globalThis.DUCKDB_RUNTIME.writeFile(Module,e,r,t,n)}_duckdb_web_fs_file_write.sig="iipid";function _duckdb_web_fs_get_default_data_protocol(e){return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(e)}_duckdb_web_fs_get_default_data_protocol.sig="i";function _duckdb_web_fs_glob(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.glob(Module,e,r)}_duckdb_web_fs_glob.sig="vpi";function _duckdb_web_test_platform_feature(e){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,e)}_duckdb_web_test_platform_feature.sig="ii";function _duckdb_web_udf_scalar_call(e,r,t,n,_,a){return e>>>=0,t>>>=0,_>>>=0,globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,e,r,t,n,_,a)}_duckdb_web_udf_scalar_call.sig="vpipipi";function _emscripten_alcDevicePauseSOFT(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(147,0,1,e);if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){AL.paused=!0;for(var r in AL.contexts){var t=AL.contexts[r];t.deviceId===e&&(t.audioCtx.suspend(),clearInterval(t.interval),t.interval=null)}}}_emscripten_alcDevicePauseSOFT.sig="vi";function _emscripten_alcDeviceResumeSOFT(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(148,0,1,e);if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){AL.paused=!1;for(var r in AL.contexts){var t=AL.contexts[r];t.deviceId===e&&(t.interval=setInterval(()=>AL.scheduleContextAudio(t),AL.QUEUE_INTERVAL),t.audioCtx.resume())}}}_emscripten_alcDeviceResumeSOFT.sig="vi";function _emscripten_alcGetStringiSOFT(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(149,0,1,e,r,t);if(!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;if(AL.alcStringCache[r])return AL.alcStringCache[r];var n;switch(r){case 6549:if(t===0)n="Web Audio HRTF";else return AL.alcErr=40964,0;break;default:return t!==0?(AL.alcErr=40963,0):_alcGetString(e,r)}return n=stringToNewUTF8(n),AL.alcStringCache[r]=n,n}_emscripten_alcGetStringiSOFT.sig="iiii";function _emscripten_alcResetDeviceSOFT(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(150,0,1,e,r);if(!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;var t=null;if(r>>=2,r)for(var n=0,_=0;n=GROWABLE_HEAP_I32()[r++>>>0],n!==0;)switch(_=GROWABLE_HEAP_I32()[r++>>>0],n){case 6546:_===1?t=!0:_===0&&(t=!1);break}if(t!==null)for(var a in AL.contexts){var o=AL.contexts[a];o.deviceId===e&&(o.hrtf=t,AL.updateContextGlobal(o))}return 1}_emscripten_alcResetDeviceSOFT.sig="iii";var readEmAsmArgsArray=[],readEmAsmArgs=(e,r)=>{readEmAsmArgsArray.length=0;for(var t;t=GROWABLE_HEAP_U8()[e++>>>0];){var n=t!=105;n&=t!=112,r+=n&&r%8?4:0,readEmAsmArgsArray.push(t==112?GROWABLE_HEAP_U32()[r>>>2>>>0]:t==105?GROWABLE_HEAP_I32()[r>>>2>>>0]:GROWABLE_HEAP_F64()[r>>>3>>>0]),r+=n?8:4}return readEmAsmArgsArray},runEmAsmFunction=(e,r,t)=>{var n=readEmAsmArgs(r,t);return ASM_CONSTS[e](...n)};function _emscripten_asm_const_int(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runEmAsmFunction(e,r,t)}_emscripten_asm_const_int.sig="ippp";function _emscripten_asm_const_ptr(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runEmAsmFunction(e,r,t)}_emscripten_asm_const_ptr.sig="pppp";var _emscripten_check_blocking_allowed=()=>{};_emscripten_check_blocking_allowed.sig="v";function _emscripten_console_error(e){e>>>=0,console.error(UTF8ToString(e))}_emscripten_console_error.sig="vp";function _emscripten_console_log(e){e>>>=0,console.log(UTF8ToString(e))}_emscripten_console_log.sig="vp";function _emscripten_console_warn(e){e>>>=0,console.warn(UTF8ToString(e))}_emscripten_console_warn.sig="vp";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";function _emscripten_err(e){return e>>>=0,err(UTF8ToString(e))}_emscripten_err.sig="vp";var _emscripten_exit_with_live_runtime=()=>{throw runtimeKeepalivePush(),"unwind"};_emscripten_exit_with_live_runtime.sig="v";var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return getHeapMax()}_emscripten_get_heap_max.sig="p";var _emscripten_get_now_res=()=>ENVIRONMENT_IS_NODE?1:1e3;_emscripten_get_now_res.sig="d";var webgl_enable_ANGLE_instanced_arrays=e=>{var r=e.getExtension("ANGLE_instanced_arrays");if(r)return e.vertexAttribDivisor=(t,n)=>r.vertexAttribDivisorANGLE(t,n),e.drawArraysInstanced=(t,n,_,a)=>r.drawArraysInstancedANGLE(t,n,_,a),e.drawElementsInstanced=(t,n,_,a,o)=>r.drawElementsInstancedANGLE(t,n,_,a,o),1},webgl_enable_OES_vertex_array_object=e=>{var r=e.getExtension("OES_vertex_array_object");if(r)return e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=t=>r.deleteVertexArrayOES(t),e.bindVertexArray=t=>r.bindVertexArrayOES(t),e.isVertexArray=t=>r.isVertexArrayOES(t),1},webgl_enable_WEBGL_draw_buffers=e=>{var r=e.getExtension("WEBGL_draw_buffers");if(r)return e.drawBuffers=(t,n)=>r.drawBuffersWEBGL(t,n),1},webgl_enable_WEBGL_multi_draw=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),getEmscriptenSupportedExtensions=e=>{var r=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(e.getSupportedExtensions()||[]).filter(t=>r.includes(t))},GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:e=>{GL.lastError||(GL.lastError=e)},getNewId:e=>{for(var r=GL.counter++,t=e.length;t{for(var _=0;_>>2>>>0]=o}},getSource:(e,r,t,n)=>{for(var _="",a=0;a>>2>>>0]:void 0;_+=UTF8ToString(GROWABLE_HEAP_U32()[t+a*4>>>2>>>0],o)}return _},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){let a=function(o,l){var c=e.getContextSafariWebGL2Fixed(o,l);return o=="webgl"==c instanceof WebGLRenderingContext?c:null};var _=a;e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=a}var t=e.getContext("webgl",r);if(!t)return 0;var n=GL.registerContext(t,r);return n},registerContext:(e,r)=>{var t=_malloc(8);GROWABLE_HEAP_U32()[t+4>>>2>>>0]=_pthread_self();var n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),GL.contexts[t]=n,(typeof r.enableExtensionsByDefault>"u"||r.enableExtensionsByDefault)&&GL.initExtensions(n),t},makeContextCurrent:e=>{var r;return GL.currentContext=GL.contexts[e],Module.ctx=GLctx=(r=GL.currentContext)==null?void 0:r.GLctx,!(e&&!GLctx)},getContext:e=>GL.contexts[e],deleteContext:e=>{GL.currentContext===GL.contexts[e]&&(GL.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(GL.contexts[e].GLctx.canvas),GL.contexts[e]&&GL.contexts[e].GLctx.canvas&&(GL.contexts[e].GLctx.canvas.GLctxObject=void 0),_free(GL.contexts[e].handle),GL.contexts[e]=null},initExtensions:e=>{if(e||(e=GL.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;webgl_enable_ANGLE_instanced_arrays(r),webgl_enable_OES_vertex_array_object(r),webgl_enable_WEBGL_draw_buffers(r),r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query"),webgl_enable_WEBGL_multi_draw(r),getEmscriptenSupportedExtensions(r).forEach(t=>{!t.includes("lose_context")&&!t.includes("debug")&&r.getExtension(t)})}}},_glActiveTexture=e=>GLctx.activeTexture(e);_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;_emscripten_glActiveTexture.sig="vi";var _glAttachShader=(e,r)=>{GLctx.attachShader(GL.programs[e],GL.shaders[r])};_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;_emscripten_glAttachShader.sig="vii";var _glBeginQueryEXT=(e,r)=>{GLctx.disjointTimerQueryExt.beginQueryEXT(e,GL.queries[r])};_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;function _glBindAttribLocation(e,r,t){t>>>=0,GLctx.bindAttribLocation(GL.programs[e],r,UTF8ToString(t))}_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viip";var _glBindBuffer=(e,r)=>{GLctx.bindBuffer(e,GL.buffers[r])};_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;_emscripten_glBindBuffer.sig="vii";var _glBindFramebuffer=(e,r)=>{GLctx.bindFramebuffer(e,GL.framebuffers[r])};_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";var _glBindRenderbuffer=(e,r)=>{GLctx.bindRenderbuffer(e,GL.renderbuffers[r])};_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";var _glBindTexture=(e,r)=>{GLctx.bindTexture(e,GL.textures[r])};_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;_emscripten_glBindTexture.sig="vii";var _glBindVertexArray=e=>{GLctx.bindVertexArray(GL.vaos[e])};_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";var _glBlendColor=(e,r,t,n)=>GLctx.blendColor(e,r,t,n);_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;_emscripten_glBlendColor.sig="vffff";var _glBlendEquation=e=>GLctx.blendEquation(e);_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;_emscripten_glBlendEquation.sig="vi";var _glBlendEquationSeparate=(e,r)=>GLctx.blendEquationSeparate(e,r);_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";var _glBlendFunc=(e,r)=>GLctx.blendFunc(e,r);_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;_emscripten_glBlendFunc.sig="vii";var _glBlendFuncSeparate=(e,r,t,n)=>GLctx.blendFuncSeparate(e,r,t,n);_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";function _glBufferData(e,r,t,n){r>>>=0,t>>>=0,GLctx.bufferData(e,t?GROWABLE_HEAP_U8().subarray(t>>>0,t+r>>>0):r,n)}_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;_emscripten_glBufferData.sig="vippi";function _glBufferSubData(e,r,t,n){r>>>=0,t>>>=0,n>>>=0,GLctx.bufferSubData(e,r,GROWABLE_HEAP_U8().subarray(n>>>0,n+t>>>0))}_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;_emscripten_glBufferSubData.sig="vippp";var _glCheckFramebufferStatus=e=>GLctx.checkFramebufferStatus(e);_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";var _glClear=e=>GLctx.clear(e);_glClear.sig="vi";var _emscripten_glClear=_glClear;_emscripten_glClear.sig="vi";var _glClearColor=(e,r,t,n)=>GLctx.clearColor(e,r,t,n);_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;_emscripten_glClearColor.sig="vffff";var _glClearDepthf=e=>GLctx.clearDepth(e);_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;_emscripten_glClearDepthf.sig="vf";var _glClearStencil=e=>GLctx.clearStencil(e);_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;_emscripten_glClearStencil.sig="vi";var _glColorMask=(e,r,t,n)=>{GLctx.colorMask(!!e,!!r,!!t,!!n)};_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;_emscripten_glColorMask.sig="viiii";var _glCompileShader=e=>{GLctx.compileShader(GL.shaders[e])};_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;_emscripten_glCompileShader.sig="vi";function _glCompressedTexImage2D(e,r,t,n,_,a,o,l){l>>>=0,GLctx.compressedTexImage2D(e,r,t,n,_,a,l?GROWABLE_HEAP_U8().subarray(l>>>0,l+o>>>0):null)}_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiip";function _glCompressedTexSubImage2D(e,r,t,n,_,a,o,l,c){c>>>=0,GLctx.compressedTexSubImage2D(e,r,t,n,_,a,o,c?GROWABLE_HEAP_U8().subarray(c>>>0,c+l>>>0):null)}_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";var _glCopyTexImage2D=(e,r,t,n,_,a,o,l)=>GLctx.copyTexImage2D(e,r,t,n,_,a,o,l);_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=(e,r,t,n,_,a,o,l)=>GLctx.copyTexSubImage2D(e,r,t,n,_,a,o,l);_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _glCreateProgram=()=>{var e=GL.getNewId(GL.programs),r=GLctx.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,GL.programs[e]=r,e};_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;_emscripten_glCreateProgram.sig="i";var _glCreateShader=e=>{var r=GL.getNewId(GL.shaders);return GL.shaders[r]=GLctx.createShader(e),r};_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;_emscripten_glCreateShader.sig="ii";var _glCullFace=e=>GLctx.cullFace(e);_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;_emscripten_glCullFace.sig="vi";function _glDeleteBuffers(e,r){r>>>=0;for(var t=0;t>>2>>>0],_=GL.buffers[n];_&&(GLctx.deleteBuffer(_),_.name=0,GL.buffers[n]=null)}}_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vip";function _glDeleteFramebuffers(e,r){r>>>=0;for(var t=0;t>>2>>>0],_=GL.framebuffers[n];_&&(GLctx.deleteFramebuffer(_),_.name=0,GL.framebuffers[n]=null)}}_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vip";var _glDeleteProgram=e=>{if(e){var r=GL.programs[e];if(!r){GL.recordError(1281);return}GLctx.deleteProgram(r),r.name=0,GL.programs[e]=null}};_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";function _glDeleteQueriesEXT(e,r){r>>>=0;for(var t=0;t>>2>>>0],_=GL.queries[n];_&&(GLctx.disjointTimerQueryExt.deleteQueryEXT(_),GL.queries[n]=null)}}_glDeleteQueriesEXT.sig="vip";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(e,r){r>>>=0;for(var t=0;t>>2>>>0],_=GL.renderbuffers[n];_&&(GLctx.deleteRenderbuffer(_),_.name=0,GL.renderbuffers[n]=null)}}_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vip";var _glDeleteShader=e=>{if(e){var r=GL.shaders[e];if(!r){GL.recordError(1281);return}GLctx.deleteShader(r),GL.shaders[e]=null}};_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;_emscripten_glDeleteShader.sig="vi";function _glDeleteTextures(e,r){r>>>=0;for(var t=0;t>>2>>>0],_=GL.textures[n];_&&(GLctx.deleteTexture(_),_.name=0,GL.textures[n]=null)}}_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;_emscripten_glDeleteTextures.sig="vip";function _glDeleteVertexArrays(e,r){r>>>=0;for(var t=0;t>>2>>>0];GLctx.deleteVertexArray(GL.vaos[n]),GL.vaos[n]=null}}_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vip";var _glDepthFunc=e=>GLctx.depthFunc(e);_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;_emscripten_glDepthFunc.sig="vi";var _glDepthMask=e=>{GLctx.depthMask(!!e)};_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;_emscripten_glDepthMask.sig="vi";var _glDepthRangef=(e,r)=>GLctx.depthRange(e,r);_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;_emscripten_glDepthRangef.sig="vff";var _glDetachShader=(e,r)=>{GLctx.detachShader(GL.programs[e],GL.shaders[r])};_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;_emscripten_glDetachShader.sig="vii";var _glDisable=e=>GLctx.disable(e);_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;_emscripten_glDisable.sig="vi";var _glDisableVertexAttribArray=e=>{GLctx.disableVertexAttribArray(e)};_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=(e,r,t)=>{GLctx.drawArrays(e,r,t)};_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;_emscripten_glDrawArrays.sig="viii";var _glDrawArraysInstanced=(e,r,t,n)=>{GLctx.drawArraysInstanced(e,r,t,n)};_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced,_emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE,tempFixedLengthArray=[];function _glDrawBuffers(e,r){r>>>=0;for(var t=tempFixedLengthArray[e],n=0;n>>2>>>0];GLctx.drawBuffers(t)}_glDrawBuffers.sig="vip";var _glDrawBuffersWEBGL=_glDrawBuffers,_emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(e,r,t,n){n>>>=0,GLctx.drawElements(e,r,t,n)}_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;_emscripten_glDrawElements.sig="viiip";function _glDrawElementsInstanced(e,r,t,n,_){n>>>=0,GLctx.drawElementsInstanced(e,r,t,n,_)}_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced,_emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE,_glEnable=e=>GLctx.enable(e);_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;_emscripten_glEnable.sig="vi";var _glEnableVertexAttribArray=e=>{GLctx.enableVertexAttribArray(e)};_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";var _glEndQueryEXT=e=>{GLctx.disjointTimerQueryExt.endQueryEXT(e)};_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT,_glFinish=()=>GLctx.finish();_glFinish.sig="v";var _emscripten_glFinish=_glFinish;_emscripten_glFinish.sig="v";var _glFlush=()=>GLctx.flush();_glFlush.sig="v";var _emscripten_glFlush=_glFlush;_emscripten_glFlush.sig="v";var _glFramebufferRenderbuffer=(e,r,t,n)=>{GLctx.framebufferRenderbuffer(e,r,t,GL.renderbuffers[n])};_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=(e,r,t,n,_)=>{GLctx.framebufferTexture2D(e,r,t,GL.textures[n],_)};_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";var _glFrontFace=e=>GLctx.frontFace(e);_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;_emscripten_glFrontFace.sig="vi";function _glGenBuffers(e,r){r>>>=0,GL.genObject(e,r,"createBuffer",GL.buffers)}_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;_emscripten_glGenBuffers.sig="vip";function _glGenFramebuffers(e,r){r>>>=0,GL.genObject(e,r,"createFramebuffer",GL.framebuffers)}_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vip";function _glGenQueriesEXT(e,r){r>>>=0;for(var t=0;t>>2>>>0]=0;return}var _=GL.getNewId(GL.queries);n.name=_,GL.queries[_]=n,GROWABLE_HEAP_I32()[r+t*4>>>2>>>0]=_}}_glGenQueriesEXT.sig="vip";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(e,r){r>>>=0,GL.genObject(e,r,"createRenderbuffer",GL.renderbuffers)}_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vip";function _glGenTextures(e,r){r>>>=0,GL.genObject(e,r,"createTexture",GL.textures)}_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;_emscripten_glGenTextures.sig="vip";function _glGenVertexArrays(e,r){r>>>=0,GL.genObject(e,r,"createVertexArray",GL.vaos)}_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vip";var _glGenerateMipmap=e=>GLctx.generateMipmap(e);_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";var __glGetActiveAttribOrUniform=(e,r,t,n,_,a,o,l)=>{r=GL.programs[r];var c=GLctx[e](r,t);if(c){var u=l&&stringToUTF8(c.name,l,n);_&&(GROWABLE_HEAP_I32()[_>>>2>>>0]=u),a&&(GROWABLE_HEAP_I32()[a>>>2>>>0]=c.size),o&&(GROWABLE_HEAP_I32()[o>>>2>>>0]=c.type)}};function _glGetActiveAttrib(e,r,t,n,_,a,o){n>>>=0,_>>>=0,a>>>=0,o>>>=0,__glGetActiveAttribOrUniform("getActiveAttrib",e,r,t,n,_,a,o)}_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiipppp";function _glGetActiveUniform(e,r,t,n,_,a,o){n>>>=0,_>>>=0,a>>>=0,o>>>=0,__glGetActiveAttribOrUniform("getActiveUniform",e,r,t,n,_,a,o)}_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiipppp";function _glGetAttachedShaders(e,r,t,n){t>>>=0,n>>>=0;var _=GLctx.getAttachedShaders(GL.programs[e]),a=_.length;a>r&&(a=r),GROWABLE_HEAP_I32()[t>>>2>>>0]=a;for(var o=0;o>>2>>>0]=l}}_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viipp";function _glGetAttribLocation(e,r){return r>>>=0,GLctx.getAttribLocation(GL.programs[e],UTF8ToString(r))}_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(e,r)=>{GROWABLE_HEAP_U32()[e>>>2>>>0]=r;var t=GROWABLE_HEAP_U32()[e>>>2>>>0];GROWABLE_HEAP_U32()[e+4>>>2>>>0]=(r-t)/4294967296},emscriptenWebGLGet=(e,r,t)=>{if(!r){GL.recordError(1281);return}var n=void 0;switch(e){case 36346:n=1;break;case 36344:t!=0&&t!=1&&GL.recordError(1280);return;case 36345:n=0;break;case 34466:var _=GLctx.getParameter(34467);n=_?_.length:0;break}if(n===void 0){var a=GLctx.getParameter(e);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":GL.recordError(1280);return;case"object":if(a===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{n=0;break}default:{GL.recordError(1280);return}}else if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var o=0;o>>2>>>0]=a[o];break;case 2:GROWABLE_HEAP_F32()[r+o*4>>>2>>>0]=a[o];break;case 4:GROWABLE_HEAP_I8()[r+o>>>0]=a[o]?1:0;break}return}else try{n=a.name|0}catch(l){GL.recordError(1280),err("GL_INVALID_ENUM in glGet".concat(t,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(l,")"));return}break;default:GL.recordError(1280),err("GL_INVALID_ENUM in glGet".concat(t,"v: Native code calling glGet").concat(t,"v(").concat(e,") and it returns ").concat(a," of type ").concat(typeof a,"!"));return}}switch(t){case 1:writeI53ToI64(r,n);break;case 0:GROWABLE_HEAP_I32()[r>>>2>>>0]=n;break;case 2:GROWABLE_HEAP_F32()[r>>>2>>>0]=n;break;case 4:GROWABLE_HEAP_I8()[r>>>0]=n?1:0;break}};function _glGetBooleanv(e,r){return r>>>=0,emscriptenWebGLGet(e,r,4)}_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;_emscripten_glGetBooleanv.sig="vip";function _glGetBufferParameteriv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}GROWABLE_HEAP_I32()[t>>>2>>>0]=GLctx.getBufferParameter(e,r)}_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viip";var _glGetError=()=>{var e=GLctx.getError()||GL.lastError;return GL.lastError=0,e};_glGetError.sig="i";var _emscripten_glGetError=_glGetError;_emscripten_glGetError.sig="i";function _glGetFloatv(e,r){return r>>>=0,emscriptenWebGLGet(e,r,2)}_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;_emscripten_glGetFloatv.sig="vip";function _glGetFramebufferAttachmentParameteriv(e,r,t,n){n>>>=0;var _=GLctx.getFramebufferAttachmentParameter(e,r,t);(_ instanceof WebGLRenderbuffer||_ instanceof WebGLTexture)&&(_=_.name|0),GROWABLE_HEAP_I32()[n>>>2>>>0]=_}_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";function _glGetIntegerv(e,r){return r>>>=0,emscriptenWebGLGet(e,r,0)}_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;_emscripten_glGetIntegerv.sig="vip";function _glGetProgramInfoLog(e,r,t,n){t>>>=0,n>>>=0;var _=GLctx.getProgramInfoLog(GL.programs[e]);_===null&&(_="(unknown error)");var a=r>0&&n?stringToUTF8(_,n,r):0;t&&(GROWABLE_HEAP_I32()[t>>>2>>>0]=a)}_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viipp";function _glGetProgramiv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}if(e>=GL.counter){GL.recordError(1281);return}if(e=GL.programs[e],r==35716){var n=GLctx.getProgramInfoLog(e);n===null&&(n="(unknown error)"),GROWABLE_HEAP_I32()[t>>>2>>>0]=n.length+1}else if(r==35719){if(!e.maxUniformLength)for(var _=0;_>>2>>>0]=e.maxUniformLength}else if(r==35722){if(!e.maxAttributeLength)for(var _=0;_>>2>>>0]=e.maxAttributeLength}else if(r==35381){if(!e.maxUniformBlockNameLength)for(var _=0;_>>2>>>0]=e.maxUniformBlockNameLength}else GROWABLE_HEAP_I32()[t>>>2>>>0]=GLctx.getProgramParameter(e,r)}_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;_emscripten_glGetProgramiv.sig="viip";function _glGetQueryObjecti64vEXT(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}var n=GL.queries[e],_;_=GLctx.disjointTimerQueryExt.getQueryObjectEXT(n,r);var a;typeof _=="boolean"?a=_?1:0:a=_,writeI53ToI64(t,a)}_glGetQueryObjecti64vEXT.sig="viip";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}var n=GL.queries[e],_=GLctx.disjointTimerQueryExt.getQueryObjectEXT(n,r),a;typeof _=="boolean"?a=_?1:0:a=_,GROWABLE_HEAP_I32()[t>>>2>>>0]=a}_glGetQueryObjectivEXT.sig="viip";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT,_glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT,_emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT,_glGetQueryObjectuivEXT=_glGetQueryObjectivEXT,_emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryivEXT(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}GROWABLE_HEAP_I32()[t>>>2>>>0]=GLctx.disjointTimerQueryExt.getQueryEXT(e,r)}_glGetQueryivEXT.sig="viip";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}GROWABLE_HEAP_I32()[t>>>2>>>0]=GLctx.getRenderbufferParameter(e,r)}_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viip";function _glGetShaderInfoLog(e,r,t,n){t>>>=0,n>>>=0;var _=GLctx.getShaderInfoLog(GL.shaders[e]);_===null&&(_="(unknown error)");var a=r>0&&n?stringToUTF8(_,n,r):0;t&&(GROWABLE_HEAP_I32()[t>>>2>>>0]=a)}_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viipp";function _glGetShaderPrecisionFormat(e,r,t,n){t>>>=0,n>>>=0;var _=GLctx.getShaderPrecisionFormat(e,r);GROWABLE_HEAP_I32()[t>>>2>>>0]=_.rangeMin,GROWABLE_HEAP_I32()[t+4>>>2>>>0]=_.rangeMax,GROWABLE_HEAP_I32()[n>>>2>>>0]=_.precision}_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viipp";function _glGetShaderSource(e,r,t,n){t>>>=0,n>>>=0;var _=GLctx.getShaderSource(GL.shaders[e]);if(_){var a=r>0&&n?stringToUTF8(_,n,r):0;t&&(GROWABLE_HEAP_I32()[t>>>2>>>0]=a)}}_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;_emscripten_glGetShaderSource.sig="viipp";function _glGetShaderiv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}if(r==35716){var n=GLctx.getShaderInfoLog(GL.shaders[e]);n===null&&(n="(unknown error)");var _=n?n.length+1:0;GROWABLE_HEAP_I32()[t>>>2>>>0]=_}else if(r==35720){var a=GLctx.getShaderSource(GL.shaders[e]),o=a?a.length+1:0;GROWABLE_HEAP_I32()[t>>>2>>>0]=o}else GROWABLE_HEAP_I32()[t>>>2>>>0]=GLctx.getShaderParameter(GL.shaders[e],r)}_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;_emscripten_glGetShaderiv.sig="viip";var webglGetExtensions=function e(){var r=getEmscriptenSupportedExtensions(GLctx);return r=r.concat(r.map(t=>"GL_"+t)),r};function _glGetString(e){var r=GL.stringCache[e];if(!r){switch(e){case 7939:r=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=GLctx.getParameter(e);t||GL.recordError(1280),r=t?stringToNewUTF8(t):0;break;case 7938:var n=GLctx.getParameter(7938);n="OpenGL ES 2.0 (".concat(n,")"),r=stringToNewUTF8(n);break;case 35724:var _=GLctx.getParameter(35724),a=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/,o=_.match(a);o!==null&&(o[1].length==3&&(o[1]=o[1]+"0"),_="OpenGL ES GLSL ES ".concat(o[1]," (").concat(_,")")),r=stringToNewUTF8(_);break;default:GL.recordError(1280)}GL.stringCache[e]=r}return r}_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;_emscripten_glGetString.sig="pi";function _glGetTexParameterfv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}GROWABLE_HEAP_F32()[t>>>2>>>0]=GLctx.getTexParameter(e,r)}_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viip";function _glGetTexParameteriv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}GROWABLE_HEAP_I32()[t>>>2>>>0]=GLctx.getTexParameter(e,r)}_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viip";var webglGetLeftBracePos=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),webglPrepareUniformLocationsBeforeFirstUse=e=>{var r=e.uniformLocsById,t=e.uniformSizeAndIdsByName,n,_;if(!r)for(e.uniformLocsById=r={},e.uniformArrayNamesById={},n=0;n0?o.slice(0,c):o,d=e.uniformIdCounter;for(e.uniformIdCounter+=l,t[u]=[l,d],_=0;_>>=0,r=UTF8ToString(r),e=GL.programs[e]){webglPrepareUniformLocationsBeforeFirstUse(e);var t=e.uniformLocsById,n=0,_=r,a=webglGetLeftBracePos(r);a>0&&(n=jstoi_q(r.slice(a+1))>>>0,_=r.slice(0,a));var o=e.uniformSizeAndIdsByName[_];if(o&&n{var r=GLctx.currentProgram;if(r){var t=r.uniformLocsById[e];return typeof t=="number"&&(r.uniformLocsById[e]=t=GLctx.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?"[".concat(t,"]"):""))),t}else GL.recordError(1282)},emscriptenWebGLGetUniform=(e,r,t,n)=>{if(!t){GL.recordError(1281);return}e=GL.programs[e],webglPrepareUniformLocationsBeforeFirstUse(e);var _=GLctx.getUniform(e,webglGetUniformLocation(r));if(typeof _=="number"||typeof _=="boolean")switch(n){case 0:GROWABLE_HEAP_I32()[t>>>2>>>0]=_;break;case 2:GROWABLE_HEAP_F32()[t>>>2>>>0]=_;break}else for(var a=0;a<_.length;a++)switch(n){case 0:GROWABLE_HEAP_I32()[t+a*4>>>2>>>0]=_[a];break;case 2:GROWABLE_HEAP_F32()[t+a*4>>>2>>>0]=_[a];break}};function _glGetUniformfv(e,r,t){t>>>=0,emscriptenWebGLGetUniform(e,r,t,2)}_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;_emscripten_glGetUniformfv.sig="viip";function _glGetUniformiv(e,r,t){t>>>=0,emscriptenWebGLGetUniform(e,r,t,0)}_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;_emscripten_glGetUniformiv.sig="viip";function _glGetVertexAttribPointerv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}GROWABLE_HEAP_I32()[t>>>2>>>0]=GLctx.getVertexAttribOffset(e,r)}_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viip";var emscriptenWebGLGetVertexAttrib=(e,r,t,n)=>{if(!t){GL.recordError(1281);return}var _=GLctx.getVertexAttrib(e,r);if(r==34975)GROWABLE_HEAP_I32()[t>>>2>>>0]=_&&_.name;else if(typeof _=="number"||typeof _=="boolean")switch(n){case 0:GROWABLE_HEAP_I32()[t>>>2>>>0]=_;break;case 2:GROWABLE_HEAP_F32()[t>>>2>>>0]=_;break;case 5:GROWABLE_HEAP_I32()[t>>>2>>>0]=Math.fround(_);break}else for(var a=0;a<_.length;a++)switch(n){case 0:GROWABLE_HEAP_I32()[t+a*4>>>2>>>0]=_[a];break;case 2:GROWABLE_HEAP_F32()[t+a*4>>>2>>>0]=_[a];break;case 5:GROWABLE_HEAP_I32()[t+a*4>>>2>>>0]=Math.fround(_[a]);break}};function _glGetVertexAttribfv(e,r,t){t>>>=0,emscriptenWebGLGetVertexAttrib(e,r,t,2)}_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viip";function _glGetVertexAttribiv(e,r,t){t>>>=0,emscriptenWebGLGetVertexAttrib(e,r,t,5)}_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viip";var _glHint=(e,r)=>GLctx.hint(e,r);_glHint.sig="vii";var _emscripten_glHint=_glHint;_emscripten_glHint.sig="vii";var _glIsBuffer=e=>{var r=GL.buffers[e];return r?GLctx.isBuffer(r):0};_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;_emscripten_glIsBuffer.sig="ii";var _glIsEnabled=e=>GLctx.isEnabled(e);_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;_emscripten_glIsEnabled.sig="ii";var _glIsFramebuffer=e=>{var r=GL.framebuffers[e];return r?GLctx.isFramebuffer(r):0};_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";var _glIsProgram=e=>(e=GL.programs[e],e?GLctx.isProgram(e):0);_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;_emscripten_glIsProgram.sig="ii";var _glIsQueryEXT=e=>{var r=GL.queries[e];return r?GLctx.disjointTimerQueryExt.isQueryEXT(r):0};_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT,_glIsRenderbuffer=e=>{var r=GL.renderbuffers[e];return r?GLctx.isRenderbuffer(r):0};_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";var _glIsShader=e=>{var r=GL.shaders[e];return r?GLctx.isShader(r):0};_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;_emscripten_glIsShader.sig="ii";var _glIsTexture=e=>{var r=GL.textures[e];return r?GLctx.isTexture(r):0};_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;_emscripten_glIsTexture.sig="ii";var _glIsVertexArray=e=>{var r=GL.vaos[e];return r?GLctx.isVertexArray(r):0};_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";var _glLineWidth=e=>GLctx.lineWidth(e);_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;_emscripten_glLineWidth.sig="vf";var _glLinkProgram=e=>{e=GL.programs[e],GLctx.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}};_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;_emscripten_glLinkProgram.sig="vi";var _glPixelStorei=(e,r)=>{e==3317&&(GL.unpackAlignment=r),GLctx.pixelStorei(e,r)};_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;_emscripten_glPixelStorei.sig="vii";var _glPolygonOffset=(e,r)=>GLctx.polygonOffset(e,r);_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;_emscripten_glPolygonOffset.sig="vff";var _glQueryCounterEXT=(e,r)=>{GLctx.disjointTimerQueryExt.queryCounterEXT(GL.queries[e],r)};_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT,computeUnpackAlignedImageSize=(e,r,t,n)=>{function _(l,c){return l+c-1&-c}var a=e*t,o=_(a,n);return r*o},colorChannelsInGlTextureFormat=e=>{var r={5:3,6:4,8:2,29502:3,29504:4};return r[e-6402]||1},heapObjectForWebGLType=e=>(e-=5120,e==1?GROWABLE_HEAP_U8():e==4?GROWABLE_HEAP_I32():e==6?GROWABLE_HEAP_F32():e==5||e==28922?GROWABLE_HEAP_U32():GROWABLE_HEAP_U16()),toTypedArrayIndex=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),emscriptenWebGLGetTexPixelData=(e,r,t,n,_,a)=>{var o=heapObjectForWebGLType(e),l=colorChannelsInGlTextureFormat(r)*o.BYTES_PER_ELEMENT,c=computeUnpackAlignedImageSize(t,n,l,GL.unpackAlignment);return o.subarray(toTypedArrayIndex(_,o)>>>0,toTypedArrayIndex(_+c,o)>>>0)};function _glReadPixels(e,r,t,n,_,a,o){o>>>=0;var l=emscriptenWebGLGetTexPixelData(a,_,t,n,o,_);if(!l){GL.recordError(1280);return}GLctx.readPixels(e,r,t,n,_,a,l)}_glReadPixels.sig="viiiiiip";var _emscripten_glReadPixels=_glReadPixels;_emscripten_glReadPixels.sig="viiiiiip";var _glReleaseShaderCompiler=()=>{};_glReleaseShaderCompiler.sig="v";var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;_emscripten_glReleaseShaderCompiler.sig="v";var _glRenderbufferStorage=(e,r,t,n)=>GLctx.renderbufferStorage(e,r,t,n);_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";var _glSampleCoverage=(e,r)=>{GLctx.sampleCoverage(e,!!r)};_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;_emscripten_glSampleCoverage.sig="vfi";var _glScissor=(e,r,t,n)=>GLctx.scissor(e,r,t,n);_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;_emscripten_glScissor.sig="viiii";function _glShaderBinary(e,r,t,n,_){r>>>=0,n>>>=0,GL.recordError(1280)}_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;_emscripten_glShaderBinary.sig="vipipi";function _glShaderSource(e,r,t,n){t>>>=0,n>>>=0;var _=GL.getSource(e,r,t,n);GLctx.shaderSource(GL.shaders[e],_)}_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;_emscripten_glShaderSource.sig="viipp";var _glStencilFunc=(e,r,t)=>GLctx.stencilFunc(e,r,t);_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;_emscripten_glStencilFunc.sig="viii";var _glStencilFuncSeparate=(e,r,t,n)=>GLctx.stencilFuncSeparate(e,r,t,n);_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";var _glStencilMask=e=>GLctx.stencilMask(e);_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;_emscripten_glStencilMask.sig="vi";var _glStencilMaskSeparate=(e,r)=>GLctx.stencilMaskSeparate(e,r);_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";var _glStencilOp=(e,r,t)=>GLctx.stencilOp(e,r,t);_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;_emscripten_glStencilOp.sig="viii";var _glStencilOpSeparate=(e,r,t,n)=>GLctx.stencilOpSeparate(e,r,t,n);_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";function _glTexImage2D(e,r,t,n,_,a,o,l,c){c>>>=0;var u=c?emscriptenWebGLGetTexPixelData(l,o,n,_,c,t):null;GLctx.texImage2D(e,r,t,n,_,a,o,l,u)}_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiip";var _glTexParameterf=(e,r,t)=>GLctx.texParameterf(e,r,t);_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;_emscripten_glTexParameterf.sig="viif";function _glTexParameterfv(e,r,t){t>>>=0;var n=GROWABLE_HEAP_F32()[t>>>2>>>0];GLctx.texParameterf(e,r,n)}_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;_emscripten_glTexParameterfv.sig="viip";var _glTexParameteri=(e,r,t)=>GLctx.texParameteri(e,r,t);_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;_emscripten_glTexParameteri.sig="viii";function _glTexParameteriv(e,r,t){t>>>=0;var n=GROWABLE_HEAP_I32()[t>>>2>>>0];GLctx.texParameteri(e,r,n)}_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;_emscripten_glTexParameteriv.sig="viip";function _glTexSubImage2D(e,r,t,n,_,a,o,l,c){c>>>=0;var u=c?emscriptenWebGLGetTexPixelData(l,o,_,a,c,0):null;GLctx.texSubImage2D(e,r,t,n,_,a,o,l,u)}_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiip";var _glUniform1f=(e,r)=>{GLctx.uniform1f(webglGetUniformLocation(e),r)};_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];function _glUniform1fv(e,r,t){if(t>>>=0,r<=288)for(var n=miniTempWebGLFloatBuffers[r],_=0;_>>2>>>0];else var n=GROWABLE_HEAP_F32().subarray(t>>>2>>>0,t+r*4>>>2>>>0);GLctx.uniform1fv(webglGetUniformLocation(e),n)}_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;_emscripten_glUniform1fv.sig="viip";var _glUniform1i=(e,r)=>{GLctx.uniform1i(webglGetUniformLocation(e),r)};_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[];function _glUniform1iv(e,r,t){if(t>>>=0,r<=288)for(var n=miniTempWebGLIntBuffers[r],_=0;_>>2>>>0];else var n=GROWABLE_HEAP_I32().subarray(t>>>2>>>0,t+r*4>>>2>>>0);GLctx.uniform1iv(webglGetUniformLocation(e),n)}_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;_emscripten_glUniform1iv.sig="viip";var _glUniform2f=(e,r,t)=>{GLctx.uniform2f(webglGetUniformLocation(e),r,t)};_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;_emscripten_glUniform2f.sig="viff";function _glUniform2fv(e,r,t){if(t>>>=0,r<=144)for(var n=miniTempWebGLFloatBuffers[2*r],_=0;_<2*r;_+=2)n[_]=GROWABLE_HEAP_F32()[t+4*_>>>2>>>0],n[_+1]=GROWABLE_HEAP_F32()[t+(4*_+4)>>>2>>>0];else var n=GROWABLE_HEAP_F32().subarray(t>>>2>>>0,t+r*8>>>2>>>0);GLctx.uniform2fv(webglGetUniformLocation(e),n)}_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;_emscripten_glUniform2fv.sig="viip";var _glUniform2i=(e,r,t)=>{GLctx.uniform2i(webglGetUniformLocation(e),r,t)};_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;_emscripten_glUniform2i.sig="viii";function _glUniform2iv(e,r,t){if(t>>>=0,r<=144)for(var n=miniTempWebGLIntBuffers[2*r],_=0;_<2*r;_+=2)n[_]=GROWABLE_HEAP_I32()[t+4*_>>>2>>>0],n[_+1]=GROWABLE_HEAP_I32()[t+(4*_+4)>>>2>>>0];else var n=GROWABLE_HEAP_I32().subarray(t>>>2>>>0,t+r*8>>>2>>>0);GLctx.uniform2iv(webglGetUniformLocation(e),n)}_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;_emscripten_glUniform2iv.sig="viip";var _glUniform3f=(e,r,t,n)=>{GLctx.uniform3f(webglGetUniformLocation(e),r,t,n)};_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;_emscripten_glUniform3f.sig="vifff";function _glUniform3fv(e,r,t){if(t>>>=0,r<=96)for(var n=miniTempWebGLFloatBuffers[3*r],_=0;_<3*r;_+=3)n[_]=GROWABLE_HEAP_F32()[t+4*_>>>2>>>0],n[_+1]=GROWABLE_HEAP_F32()[t+(4*_+4)>>>2>>>0],n[_+2]=GROWABLE_HEAP_F32()[t+(4*_+8)>>>2>>>0];else var n=GROWABLE_HEAP_F32().subarray(t>>>2>>>0,t+r*12>>>2>>>0);GLctx.uniform3fv(webglGetUniformLocation(e),n)}_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;_emscripten_glUniform3fv.sig="viip";var _glUniform3i=(e,r,t,n)=>{GLctx.uniform3i(webglGetUniformLocation(e),r,t,n)};_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;_emscripten_glUniform3i.sig="viiii";function _glUniform3iv(e,r,t){if(t>>>=0,r<=96)for(var n=miniTempWebGLIntBuffers[3*r],_=0;_<3*r;_+=3)n[_]=GROWABLE_HEAP_I32()[t+4*_>>>2>>>0],n[_+1]=GROWABLE_HEAP_I32()[t+(4*_+4)>>>2>>>0],n[_+2]=GROWABLE_HEAP_I32()[t+(4*_+8)>>>2>>>0];else var n=GROWABLE_HEAP_I32().subarray(t>>>2>>>0,t+r*12>>>2>>>0);GLctx.uniform3iv(webglGetUniformLocation(e),n)}_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;_emscripten_glUniform3iv.sig="viip";var _glUniform4f=(e,r,t,n,_)=>{GLctx.uniform4f(webglGetUniformLocation(e),r,t,n,_)};_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;_emscripten_glUniform4f.sig="viffff";function _glUniform4fv(e,r,t){if(t>>>=0,r<=72){var n=miniTempWebGLFloatBuffers[4*r],_=GROWABLE_HEAP_F32();t=t>>>2;for(var a=0;a<4*r;a+=4){var o=t+a;n[a]=_[o>>>0],n[a+1]=_[o+1>>>0],n[a+2]=_[o+2>>>0],n[a+3]=_[o+3>>>0]}}else var n=GROWABLE_HEAP_F32().subarray(t>>>2>>>0,t+r*16>>>2>>>0);GLctx.uniform4fv(webglGetUniformLocation(e),n)}_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;_emscripten_glUniform4fv.sig="viip";var _glUniform4i=(e,r,t,n,_)=>{GLctx.uniform4i(webglGetUniformLocation(e),r,t,n,_)};_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;_emscripten_glUniform4i.sig="viiiii";function _glUniform4iv(e,r,t){if(t>>>=0,r<=72)for(var n=miniTempWebGLIntBuffers[4*r],_=0;_<4*r;_+=4)n[_]=GROWABLE_HEAP_I32()[t+4*_>>>2>>>0],n[_+1]=GROWABLE_HEAP_I32()[t+(4*_+4)>>>2>>>0],n[_+2]=GROWABLE_HEAP_I32()[t+(4*_+8)>>>2>>>0],n[_+3]=GROWABLE_HEAP_I32()[t+(4*_+12)>>>2>>>0];else var n=GROWABLE_HEAP_I32().subarray(t>>>2>>>0,t+r*16>>>2>>>0);GLctx.uniform4iv(webglGetUniformLocation(e),n)}_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;_emscripten_glUniform4iv.sig="viip";function _glUniformMatrix2fv(e,r,t,n){if(n>>>=0,r<=72)for(var _=miniTempWebGLFloatBuffers[4*r],a=0;a<4*r;a+=4)_[a]=GROWABLE_HEAP_F32()[n+4*a>>>2>>>0],_[a+1]=GROWABLE_HEAP_F32()[n+(4*a+4)>>>2>>>0],_[a+2]=GROWABLE_HEAP_F32()[n+(4*a+8)>>>2>>>0],_[a+3]=GROWABLE_HEAP_F32()[n+(4*a+12)>>>2>>>0];else var _=GROWABLE_HEAP_F32().subarray(n>>>2>>>0,n+r*16>>>2>>>0);GLctx.uniformMatrix2fv(webglGetUniformLocation(e),!!t,_)}_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiip";function _glUniformMatrix3fv(e,r,t,n){if(n>>>=0,r<=32)for(var _=miniTempWebGLFloatBuffers[9*r],a=0;a<9*r;a+=9)_[a]=GROWABLE_HEAP_F32()[n+4*a>>>2>>>0],_[a+1]=GROWABLE_HEAP_F32()[n+(4*a+4)>>>2>>>0],_[a+2]=GROWABLE_HEAP_F32()[n+(4*a+8)>>>2>>>0],_[a+3]=GROWABLE_HEAP_F32()[n+(4*a+12)>>>2>>>0],_[a+4]=GROWABLE_HEAP_F32()[n+(4*a+16)>>>2>>>0],_[a+5]=GROWABLE_HEAP_F32()[n+(4*a+20)>>>2>>>0],_[a+6]=GROWABLE_HEAP_F32()[n+(4*a+24)>>>2>>>0],_[a+7]=GROWABLE_HEAP_F32()[n+(4*a+28)>>>2>>>0],_[a+8]=GROWABLE_HEAP_F32()[n+(4*a+32)>>>2>>>0];else var _=GROWABLE_HEAP_F32().subarray(n>>>2>>>0,n+r*36>>>2>>>0);GLctx.uniformMatrix3fv(webglGetUniformLocation(e),!!t,_)}_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiip";function _glUniformMatrix4fv(e,r,t,n){if(n>>>=0,r<=18){var _=miniTempWebGLFloatBuffers[16*r],a=GROWABLE_HEAP_F32();n=n>>>2;for(var o=0;o<16*r;o+=16){var l=n+o;_[o]=a[l>>>0],_[o+1]=a[l+1>>>0],_[o+2]=a[l+2>>>0],_[o+3]=a[l+3>>>0],_[o+4]=a[l+4>>>0],_[o+5]=a[l+5>>>0],_[o+6]=a[l+6>>>0],_[o+7]=a[l+7>>>0],_[o+8]=a[l+8>>>0],_[o+9]=a[l+9>>>0],_[o+10]=a[l+10>>>0],_[o+11]=a[l+11>>>0],_[o+12]=a[l+12>>>0],_[o+13]=a[l+13>>>0],_[o+14]=a[l+14>>>0],_[o+15]=a[l+15>>>0]}}else var _=GROWABLE_HEAP_F32().subarray(n>>>2>>>0,n+r*64>>>2>>>0);GLctx.uniformMatrix4fv(webglGetUniformLocation(e),!!t,_)}_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiip";var _glUseProgram=e=>{e=GL.programs[e],GLctx.useProgram(e),GLctx.currentProgram=e};_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;_emscripten_glUseProgram.sig="vi";var _glValidateProgram=e=>{GLctx.validateProgram(GL.programs[e])};_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;_emscripten_glValidateProgram.sig="vi";var _glVertexAttrib1f=(e,r)=>GLctx.vertexAttrib1f(e,r);_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vif";function _glVertexAttrib1fv(e,r){r>>>=0,GLctx.vertexAttrib1f(e,GROWABLE_HEAP_F32()[r>>>2])}_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2f=(e,r,t)=>GLctx.vertexAttrib2f(e,r,t);_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viff";function _glVertexAttrib2fv(e,r){r>>>=0,GLctx.vertexAttrib2f(e,GROWABLE_HEAP_F32()[r>>>2],GROWABLE_HEAP_F32()[r+4>>>2])}_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3f=(e,r,t,n)=>GLctx.vertexAttrib3f(e,r,t,n);_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="vifff";function _glVertexAttrib3fv(e,r){r>>>=0,GLctx.vertexAttrib3f(e,GROWABLE_HEAP_F32()[r>>>2],GROWABLE_HEAP_F32()[r+4>>>2],GROWABLE_HEAP_F32()[r+8>>>2])}_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4f=(e,r,t,n,_)=>GLctx.vertexAttrib4f(e,r,t,n,_);_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viffff";function _glVertexAttrib4fv(e,r){r>>>=0,GLctx.vertexAttrib4f(e,GROWABLE_HEAP_F32()[r>>>2],GROWABLE_HEAP_F32()[r+4>>>2],GROWABLE_HEAP_F32()[r+8>>>2],GROWABLE_HEAP_F32()[r+12>>>2])}_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vip";var _glVertexAttribDivisor=(e,r)=>{GLctx.vertexAttribDivisor(e,r)};_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor,_emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;function _glVertexAttribPointer(e,r,t,n,_,a){a>>>=0,GLctx.vertexAttribPointer(e,r,t,!!n,_,a)}_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiip";var _glViewport=(e,r,t,n)=>GLctx.viewport(e,r,t,n);_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;_emscripten_glViewport.sig="viiii";var _emscripten_num_logical_cores=()=>ENVIRONMENT_IS_NODE?ce().cpus().length:navigator.hardwareConcurrency;_emscripten_num_logical_cores.sig="i";function _emscripten_out(e){return e>>>=0,out(UTF8ToString(e))}_emscripten_out.sig="vp";function _emscripten_promise_destroy(e){e>>>=0,promiseMap.free(e)}_emscripten_promise_destroy.sig="vp";function _emscripten_promise_resolve(e,r,t){e>>>=0,t>>>=0;var n=promiseMap.get(e);switch(r){case 0:n.resolve(t);return;case 1:n.resolve(getPromise(t));return;case 2:n.resolve(getPromise(t)),_emscripten_promise_destroy(t);return;case 3:n.reject(t);return}}_emscripten_promise_resolve.sig="vpip";var growMemory=e=>{var r=wasmMemory.buffer,t=(e-r.byteLength+65535)/65536;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch(n){}};function _emscripten_resize_heap(e){e>>>=0;var r=GROWABLE_HEAP_U8().length;if(e<=r)return!1;var t=getHeapMax();if(e>t)return!1;for(var n=(c,u)=>c+(u-c%u)%u,_=1;_<=4;_*=2){var a=r*(1+.2/_);a=Math.min(a,e+100663296);var o=Math.min(t,n(Math.max(e,a),65536)),l=growMemory(o);if(l)return!0}return!1}_emscripten_resize_heap.sig="ip";var _emscripten_set_timeout=function(e,r,t){return e>>>=0,t>>>=0,safeSetTimeout(()=>getWasmTableEntry(e)(t),r)};_emscripten_set_timeout.sig="ipdp";var _emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};_emscripten_unwind_to_js_event_loop.sig="v";function _emscripten_wget_data(e,r,t,n){throw e>>>=0,r>>>=0,t>>>=0,n>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_wget_data"}_emscripten_wget_data.sig="vpppp";var getExecutableName=()=>thisProgram||"./this.program",getEnvStrings=()=>{if(!getEnvStrings.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:getExecutableName()};for(var t in ENV)ENV[t]===void 0?delete r[t]:r[t]=ENV[t];var n=[];for(var t in r)n.push("".concat(t,"=").concat(r[t]));getEnvStrings.strings=n}return getEnvStrings.strings},stringToAscii=(e,r)=>{for(var t=0;t>>0]=e.charCodeAt(t);GROWABLE_HEAP_I8()[r>>>0]=0},_environ_get=function(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(151,0,1,e,r);e>>>=0,r>>>=0;var t=0;return getEnvStrings().forEach((n,_)=>{var a=r+t;GROWABLE_HEAP_U32()[e+_*4>>>2>>>0]=a,stringToAscii(n,a),t+=n.length+1}),0};_environ_get.sig="ipp";var _environ_sizes_get=function(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(152,0,1,e,r);e>>>=0,r>>>=0;var t=getEnvStrings();GROWABLE_HEAP_U32()[e>>>2>>>0]=t.length;var n=0;return t.forEach(_=>n+=_.length+1),GROWABLE_HEAP_U32()[r>>>2>>>0]=n,0};_environ_sizes_get.sig="ipp";function _fd_close(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(153,0,1,e);try{var r=SYSCALLS.getStreamFromFD(e);return FS.close(r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return t.errno}}_fd_close.sig="ii";function _fd_fdstat_get(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(154,0,1,e,r);r>>>=0;try{var t=0,n=0,_=0,a=SYSCALLS.getStreamFromFD(e),o=a.tty?2:FS.isDir(a.mode)?3:FS.isLink(a.mode)?7:4;return GROWABLE_HEAP_I8()[r>>>0]=o,GROWABLE_HEAP_I16()[r+2>>>1>>>0]=_,tempI64=[t>>>0,(tempDouble=t,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+8>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[r+12>>>2>>>0]=tempI64[1],tempI64=[n>>>0,(tempDouble=n,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+16>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[r+20>>>2>>>0]=tempI64[1],0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return l.errno}}_fd_fdstat_get.sig="iip";var doReadv=(e,r,t,n)=>{for(var _=0,a=0;a>>2>>>0],l=GROWABLE_HEAP_U32()[r+4>>>2>>>0];r+=8;var c=FS.read(e,GROWABLE_HEAP_I8(),o,l,n);if(c<0)return-1;if(_+=c,c>>=0,t>>>=0;var o=convertI32PairToI53Checked(n,_);a>>>=0;try{if(isNaN(o))return 61;var l=SYSCALLS.getStreamFromFD(e),c=doReadv(l,r,t,o);return GROWABLE_HEAP_U32()[a>>>2>>>0]=c,0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return u.errno}}_fd_pread.sig="iippiip";var doWritev=(e,r,t,n)=>{for(var _=0,a=0;a>>2>>>0],l=GROWABLE_HEAP_U32()[r+4>>>2>>>0];r+=8;var c=FS.write(e,GROWABLE_HEAP_I8(),o,l,n);if(c<0)return-1;_+=c,typeof n<"u"&&(n+=c)}return _};function _fd_pwrite(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(156,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0;var o=convertI32PairToI53Checked(n,_);a>>>=0;try{if(isNaN(o))return 61;var l=SYSCALLS.getStreamFromFD(e),c=doWritev(l,r,t,o);return GROWABLE_HEAP_U32()[a>>>2>>>0]=c,0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return u.errno}}_fd_pwrite.sig="iippiip";function _fd_read(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(157,0,1,e,r,t,n);r>>>=0,t>>>=0,n>>>=0;try{var _=SYSCALLS.getStreamFromFD(e),a=doReadv(_,r,t);return GROWABLE_HEAP_U32()[n>>>2>>>0]=a,0}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return o.errno}}_fd_read.sig="iippp";function _fd_seek(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(158,0,1,e,r,t,n,_);var a=convertI32PairToI53Checked(r,t);_>>>=0;try{if(isNaN(a))return 61;var o=SYSCALLS.getStreamFromFD(e);return FS.llseek(o,a,n),tempI64=[o.position>>>0,(tempDouble=o.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[_>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[_+4>>>2>>>0]=tempI64[1],o.getdents&&a===0&&n===0&&(o.getdents=null),0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return l.errno}}_fd_seek.sig="iiiiip";function _fd_sync(e){var t;if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(159,0,1,e);try{var r=SYSCALLS.getStreamFromFD(e);return(t=r.stream_ops)!=null&&t.fsync?r.stream_ops.fsync(r):0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return n.errno}}_fd_sync.sig="ii";function _fd_write(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(160,0,1,e,r,t,n);r>>>=0,t>>>=0,n>>>=0;try{var _=SYSCALLS.getStreamFromFD(e),a=doWritev(_,r,t);return GROWABLE_HEAP_U32()[n>>>2>>>0]=a,0}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return o.errno}}_fd_write.sig="iippp";function _getaddrinfo(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(161,0,1,e,r,t,n);e>>>=0,r>>>=0,t>>>=0,n>>>=0;var _=[],a=null,o=0,l=0,c=0,u=0,d=0,p=0,f,g;function E(v,b,D,h,T,x){var S,M,A,L;return M=v===10?28:16,T=v===10?inetNtop6(T):inetNtop4(T),S=_malloc(M),L=writeSockaddr(S,v,T,x),assert(!L),A=_malloc(32),GROWABLE_HEAP_I32()[A+4>>>2>>>0]=v,GROWABLE_HEAP_I32()[A+8>>>2>>>0]=b,GROWABLE_HEAP_I32()[A+12>>>2>>>0]=D,GROWABLE_HEAP_U32()[A+24>>>2>>>0]=h,GROWABLE_HEAP_U32()[A+20>>>2>>>0]=S,v===10?GROWABLE_HEAP_I32()[A+16>>>2>>>0]=28:GROWABLE_HEAP_I32()[A+16>>>2>>>0]=16,GROWABLE_HEAP_I32()[A+28>>>2>>>0]=0,A}if(t&&(c=GROWABLE_HEAP_I32()[t>>>2>>>0],u=GROWABLE_HEAP_I32()[t+4>>>2>>>0],d=GROWABLE_HEAP_I32()[t+8>>>2>>>0],p=GROWABLE_HEAP_I32()[t+12>>>2>>>0]),d&&!p&&(p=d===2?17:6),!d&&p&&(d=p===17?2:1),p===0&&(p=6),d===0&&(d=1),!e&&!r)return-2;if(c&-1088||t!==0&&GROWABLE_HEAP_I32()[t>>>2>>>0]&2&&!e)return-1;if(c&32)return-2;if(d!==0&&d!==1&&d!==2)return-7;if(u!==0&&u!==2&&u!==10)return-6;if(r&&(r=UTF8ToString(r),l=parseInt(r,10),isNaN(l)))return c&1024?-2:-8;if(!e)return u===0&&(u=2),c&1||(u===2?o=_htonl(2130706433):o=[0,0,0,1]),f=E(u,d,p,null,o,l),GROWABLE_HEAP_U32()[n>>>2>>>0]=f,0;if(e=UTF8ToString(e),o=inetPton4(e),o!==null)if(u===0||u===2)u=2;else if(u===10&&c&8)o=[0,0,_htonl(65535),o],u=10;else return-2;else if(o=inetPton6(e),o!==null)if(u===0||u===10)u=10;else return-2;return o!=null?(f=E(u,d,p,e,o,l),GROWABLE_HEAP_U32()[n>>>2>>>0]=f,0):c&4?-2:(e=DNS.lookup_name(e),o=inetPton4(e),u===0?u=2:u===10&&(o=[0,0,_htonl(65535),o]),f=E(u,d,p,null,o,l),GROWABLE_HEAP_U32()[n>>>2>>>0]=f,0)}_getaddrinfo.sig="ipppp";function _getentropy(e,r){return e>>>=0,r>>>=0,randomFill(GROWABLE_HEAP_U8().subarray(e>>>0,e+r>>>0)),0}_getentropy.sig="ipp";function _getnameinfo(e,r,t,n,_,a,o){e>>>=0,t>>>=0,_>>>=0;var l=readSockaddr(e,r);if(l.errno)return-6;var c=l.port,u=l.addr,d=!1;if(t&&n){var p;if(o&1||!(p=DNS.lookup_addr(u))){if(o&8)return-2}else u=p;var f=stringToUTF8(u,t,n);f+1>=n&&(d=!0)}if(_&&a){c=""+c;var f=stringToUTF8(c,_,a);f+1>=a&&(d=!0)}return d?-12:0}_getnameinfo.sig="ipipipii";var arraySum=(e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t},MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31],addDays=(e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=isLeapYear(t.getFullYear()),_=t.getMonth(),a=(n?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[_];if(r>a-t.getDate())r-=a-t.getDate()+1,t.setDate(1),_<11?t.setMonth(_+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));else return t.setDate(t.getDate()+r),t}return t},writeArrayToMemory=(e,r)=>{GROWABLE_HEAP_I8().set(e,r>>>0)};function _strftime(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var _=GROWABLE_HEAP_U32()[n+40>>>2>>>0],a={tm_sec:GROWABLE_HEAP_I32()[n>>>2>>>0],tm_min:GROWABLE_HEAP_I32()[n+4>>>2>>>0],tm_hour:GROWABLE_HEAP_I32()[n+8>>>2>>>0],tm_mday:GROWABLE_HEAP_I32()[n+12>>>2>>>0],tm_mon:GROWABLE_HEAP_I32()[n+16>>>2>>>0],tm_year:GROWABLE_HEAP_I32()[n+20>>>2>>>0],tm_wday:GROWABLE_HEAP_I32()[n+24>>>2>>>0],tm_yday:GROWABLE_HEAP_I32()[n+28>>>2>>>0],tm_isdst:GROWABLE_HEAP_I32()[n+32>>>2>>>0],tm_gmtoff:GROWABLE_HEAP_I32()[n+36>>>2>>>0],tm_zone:_?UTF8ToString(_):""},o=UTF8ToString(t),l={"%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 c in l)o=o.replace(new RegExp(c,"g"),l[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],d=["January","February","March","April","May","June","July","August","September","October","November","December"];function p(h,T,x){for(var S=typeof h=="number"?h.toString():h||"";S.length0?1:0}var S;return(S=x(h.getFullYear()-T.getFullYear()))===0&&(S=x(h.getMonth()-T.getMonth()))===0&&(S=x(h.getDate()-T.getDate())),S}function E(h){switch(h.getDay()){case 0:return new Date(h.getFullYear()-1,11,29);case 1:return h;case 2:return new Date(h.getFullYear(),0,3);case 3:return new Date(h.getFullYear(),0,2);case 4:return new Date(h.getFullYear(),0,1);case 5:return new Date(h.getFullYear()-1,11,31);case 6:return new Date(h.getFullYear()-1,11,30)}}function v(h){var T=addDays(new Date(h.tm_year+1900,0,1),h.tm_yday),x=new Date(T.getFullYear(),0,4),S=new Date(T.getFullYear()+1,0,4),M=E(x),A=E(S);return g(M,T)<=0?g(A,T)<=0?T.getFullYear()+1:T.getFullYear():T.getFullYear()-1}var b={"%a":h=>u[h.tm_wday].substring(0,3),"%A":h=>u[h.tm_wday],"%b":h=>d[h.tm_mon].substring(0,3),"%B":h=>d[h.tm_mon],"%C":h=>{var T=h.tm_year+1900;return f(T/100|0,2)},"%d":h=>f(h.tm_mday,2),"%e":h=>p(h.tm_mday,2," "),"%g":h=>v(h).toString().substring(2),"%G":v,"%H":h=>f(h.tm_hour,2),"%I":h=>{var T=h.tm_hour;return T==0?T=12:T>12&&(T-=12),f(T,2)},"%j":h=>f(h.tm_mday+arraySum(isLeapYear(h.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,h.tm_mon-1),3),"%m":h=>f(h.tm_mon+1,2),"%M":h=>f(h.tm_min,2),"%n":()=>"\n","%p":h=>h.tm_hour>=0&&h.tm_hour<12?"AM":"PM","%S":h=>f(h.tm_sec,2),"%t":()=>" ","%u":h=>h.tm_wday||7,"%U":h=>{var T=h.tm_yday+7-h.tm_wday;return f(Math.floor(T/7),2)},"%V":h=>{var T=Math.floor((h.tm_yday+7-(h.tm_wday+6)%7)/7);if((h.tm_wday+371-h.tm_yday-2)%7<=2&&T++,T){if(T==53){var S=(h.tm_wday+371-h.tm_yday)%7;S!=4&&(S!=3||!isLeapYear(h.tm_year))&&(T=1)}}else{T=52;var x=(h.tm_wday+7-h.tm_yday-1)%7;(x==4||x==5&&isLeapYear(h.tm_year%400-1))&&T++}return f(T,2)},"%w":h=>h.tm_wday,"%W":h=>{var T=h.tm_yday+7-(h.tm_wday+6)%7;return f(Math.floor(T/7),2)},"%y":h=>(h.tm_year+1900).toString().substring(2),"%Y":h=>h.tm_year+1900,"%z":h=>{var T=h.tm_gmtoff,x=T>=0;return T=Math.abs(T)/60,T=T/60*100+T%60,(x?"+":"-")+("0000"+T).slice(-4)},"%Z":h=>h.tm_zone,"%%":()=>"%"};o=o.replace(/%%/g,"\0\0");for(var c in b)o.includes(c)&&(o=o.replace(new RegExp(c,"g"),b[c](a)));o=o.replace(/\0\0/g,"%");var D=intArrayFromString(o,!1);return D.length>r?0:(writeArrayToMemory(D,e),D.length-1)}_strftime.sig="ppppp";function _strftime_l(e,r,t,n,_){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,_strftime(e,r,t,n)}_strftime_l.sig="pppppp";function _strptime(e,r,t){e>>>=0,r>>>=0,t>>>=0;for(var n=UTF8ToString(r),_="\\!@#$^&*()+=-[]/{}|:<>?,.",a=0,o=_.length;al[C]||B).replace(/%(.)/g,(B,C)=>{let O=c[C];return O?(f.push(C),"(".concat(O,")")):C}).replace(/\s+/g,"\\s*"),E=new RegExp("^"+g,"i").exec(UTF8ToString(e));function v(){function B(C,O,U){return typeof C!="number"||isNaN(C)?O:C>=O?C<=U?C:U:O}return{year:B(GROWABLE_HEAP_I32()[t+20>>>2>>>0]+1900,1970,9999),month:B(GROWABLE_HEAP_I32()[t+16>>>2>>>0],0,11),day:B(GROWABLE_HEAP_I32()[t+12>>>2>>>0],1,31),hour:B(GROWABLE_HEAP_I32()[t+8>>>2>>>0],0,23),min:B(GROWABLE_HEAP_I32()[t+4>>>2>>>0],0,59),sec:B(GROWABLE_HEAP_I32()[t>>>2>>>0],0,59),gmtoff:0}}if(E){var b=v(),D,h=B=>{var C=f.indexOf(B);if(C>=0)return E[C+1]};if((D=h("S"))&&(b.sec=jstoi_q(D)),(D=h("M"))&&(b.min=jstoi_q(D)),D=h("H"))b.hour=jstoi_q(D);else if(D=h("I")){var T=jstoi_q(D);(D=h("p"))&&(T+=D.toUpperCase()[0]==="P"?12:0),b.hour=T}if(D=h("Y"))b.year=jstoi_q(D);else if(D=h("y")){var x=jstoi_q(D);(D=h("C"))?x+=jstoi_q(D)*100:x+=x<69?2e3:1900,b.year=x}if((D=h("m"))?b.month=jstoi_q(D)-1:(D=h("b"))&&(b.month=u[D.substring(0,3).toUpperCase()]||0),D=h("d"))b.day=jstoi_q(D);else if(D=h("j"))for(var S=jstoi_q(D),M=isLeapYear(b.year),A=0;A<12;++A){var L=arraySum(M?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,A-1);S<=L+(M?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[A]&&(b.day=S-L)}else if(D=h("a")){var R=D.substring(0,3).toUpperCase();if(D=h("U")){var y=d[R],G=jstoi_q(D),w=new Date(b.year,0,1),P;w.getDay()===0?P=addDays(w,y+7*(G-1)):P=addDays(w,7-w.getDay()+y+7*(G-1)),b.day=P.getDate(),b.month=P.getMonth()}else if(D=h("W")){var y=p[R],G=jstoi_q(D),w=new Date(b.year,0,1),P;w.getDay()===1?P=addDays(w,y+7*(G-1)):P=addDays(w,7-w.getDay()+1+y+7*(G-1)),b.day=P.getDate(),b.month=P.getMonth()}}if(D=h("z"))if(D.toLowerCase()==="z")b.gmtoff=0;else{var I=D.match(/^((?:\-|\+)\d\d):?(\d\d)?/);b.gmtoff=I[1]*3600,I[2]&&(b.gmtoff+=b.gmtoff>0?I[2]*60:-I[2]*60)}var k=new Date(b.year,b.month,b.day,b.hour,b.min,b.sec,0);return GROWABLE_HEAP_I32()[t>>>2>>>0]=k.getSeconds(),GROWABLE_HEAP_I32()[t+4>>>2>>>0]=k.getMinutes(),GROWABLE_HEAP_I32()[t+8>>>2>>>0]=k.getHours(),GROWABLE_HEAP_I32()[t+12>>>2>>>0]=k.getDate(),GROWABLE_HEAP_I32()[t+16>>>2>>>0]=k.getMonth(),GROWABLE_HEAP_I32()[t+20>>>2>>>0]=k.getFullYear()-1900,GROWABLE_HEAP_I32()[t+24>>>2>>>0]=k.getDay(),GROWABLE_HEAP_I32()[t+28>>>2>>>0]=arraySum(isLeapYear(k.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,k.getMonth()-1)+k.getDate()-1,GROWABLE_HEAP_I32()[t+32>>>2>>>0]=0,GROWABLE_HEAP_I32()[t+36>>>2>>>0]=b.gmtoff,e+intArrayFromString(E[0]).length-1}return 0}_strptime.sig="pppp";var getCFunc=e=>{var r=Module["_"+e];return r},ccall=(e,r,t,n,_)=>{var a={string:E=>{var v=0;return E!=null&&E!==0&&(v=stringToUTF8OnStack(E)),v},array:E=>{var v=stackAlloc(E.length);return writeArrayToMemory(E,v),v}};function o(E){return r==="string"?UTF8ToString(E):r==="boolean"?!!E:E}var l=getCFunc(e),c=[],u=0;if(n)for(var d=0;d{r>9223372036854776e3?(GROWABLE_HEAP_U32()[e>>>2>>>0]=4294967295,GROWABLE_HEAP_U32()[e+4>>>2>>>0]=2147483647):r<-9223372036854776e3?(GROWABLE_HEAP_U32()[e>>>2>>>0]=0,GROWABLE_HEAP_U32()[e+4>>>2>>>0]=2147483648):writeI53ToI64(e,r)},writeI53ToI64Signaling=(e,r)=>{if(r>9223372036854776e3||r<-9223372036854776e3)throw"RangeError: ".concat(r);writeI53ToI64(e,r)},writeI53ToU64Clamped=(e,r)=>{r>18446744073709552e3?(GROWABLE_HEAP_U32()[e>>>2>>>0]=4294967295,GROWABLE_HEAP_U32()[e+4>>>2>>>0]=4294967295):r<0?(GROWABLE_HEAP_U32()[e>>>2>>>0]=0,GROWABLE_HEAP_U32()[e+4>>>2>>>0]=0):writeI53ToI64(e,r)},writeI53ToU64Signaling=(e,r)=>{if(r<0||r>18446744073709552e3)throw"RangeError: ".concat(r);writeI53ToI64(e,r)},readI53FromU64=e=>GROWABLE_HEAP_U32()[e>>>2>>>0]+GROWABLE_HEAP_U32()[e+4>>>2>>>0]*4294967296,convertI32PairToI53=(e,r)=>(e>>>0)+r*4294967296,convertU32PairToI53=(e,r)=>(e>>>0)+(r>>>0)*4294967296,getTempRet0=e=>__emscripten_tempret_get(),setTempRet0=e=>__emscripten_tempret_set(e),_stackAlloc=stackAlloc,_stackSave=stackSave,_stackRestore=stackSave,ptrToString=e=>"0x"+e.toString(16).padStart(8,"0");function _emscripten_notify_memory_growth(e){e>>>=0,updateMemoryViews()}_emscripten_notify_memory_growth.sig="vp";function ___asctime_r(e,r){e>>>=0,r>>>=0;var t={tm_sec:GROWABLE_HEAP_I32()[e>>>2>>>0],tm_min:GROWABLE_HEAP_I32()[e+4>>>2>>>0],tm_hour:GROWABLE_HEAP_I32()[e+8>>>2>>>0],tm_mday:GROWABLE_HEAP_I32()[e+12>>>2>>>0],tm_mon:GROWABLE_HEAP_I32()[e+16>>>2>>>0],tm_year:GROWABLE_HEAP_I32()[e+20>>>2>>>0],tm_wday:GROWABLE_HEAP_I32()[e+24>>>2>>>0]},n=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],_=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],a=n[t.tm_wday]+" "+_[t.tm_mon]+(t.tm_mday<10?" ":" ")+t.tm_mday+(t.tm_hour<10?" 0":" ")+t.tm_hour+(t.tm_min<10?":0":":")+t.tm_min+(t.tm_sec<10?":0":":")+t.tm_sec+" "+(1900+t.tm_year)+"\n";return stringToUTF8(a,r,26),r}___asctime_r.sig="ppp";function _strptime_l(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,_strptime(e,r,t)}_strptime_l.sig="ppppp";var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},ERRNO_MESSAGES={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},Protocols={list:[],map:{}},_setprotoent=e=>{function r(a,o,l){var c=_malloc(a.length+1);stringToAscii(a,c);for(var u=0,d=l.length,p=_malloc((d+1)*4),f=0;f>>2>>>0]=E}GROWABLE_HEAP_U32()[p+u>>>2>>>0]=0;var v=_malloc(12);return GROWABLE_HEAP_U32()[v>>>2>>>0]=c,GROWABLE_HEAP_U32()[v+4>>>2>>>0]=p,GROWABLE_HEAP_I32()[v+8>>>2>>>0]=o,v}var t=Protocols.list,n=Protocols.map;if(t.length===0){var _=r("tcp",6,["TCP"]);t.push(_),n.tcp=n[6]=_,_=r("udp",17,["UDP"]),t.push(_),n.udp=n[17]=_}_setprotoent.index=0};_setprotoent.sig="vi";var _endprotoent=()=>{};_endprotoent.sig="v";function _getprotoent(e){if(_setprotoent.index===Protocols.list.length)return 0;var r=Protocols.list[_setprotoent.index++];return r}_getprotoent.sig="p";function _getprotobyname(e){e>>>=0,e=UTF8ToString(e),_setprotoent(!0);var r=Protocols.map[e];return r}_getprotobyname.sig="pp";function _getprotobynumber(e){_setprotoent(!0);var r=Protocols.map[e];return r}_getprotobynumber.sig="pi";function _emscripten_run_script(ptr){ptr>>>=0,eval(UTF8ToString(ptr))}_emscripten_run_script.sig="vp";function _emscripten_run_script_int(ptr){return ptr>>>=0,eval(UTF8ToString(ptr))|0}_emscripten_run_script_int.sig="ip";function _emscripten_run_script_string(ptr){ptr>>>=0;var s=eval(UTF8ToString(ptr));if(s==null)return 0;s+="";var me=_emscripten_run_script_string,len=lengthBytesUTF8(s);return(!me.bufferSize||me.bufferSizeMath.random();_emscripten_random.sig="f";function jsStackTrace(){return new Error().stack.toString()}function getCallstack(e){var r=jsStackTrace(),t=r.lastIndexOf("_emscripten_log"),n=r.lastIndexOf("_emscripten_get_callstack"),_=r.indexOf("\n",Math.max(t,n))+1;r=r.slice(_),e&8&&typeof emscripten_source_map>"u"&&(warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var a=r.split("\n");r="";var o=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),l=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),c=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var u in a){var d=a[u],p="",f="",g=0,E=0,v=c.exec(d);if(v&&v.length==5)p=v[1],f=v[2],g=v[3],E=v[4];else if(v=o.exec(d),v||(v=l.exec(d)),v&&v.length>=4)p=v[1],f=v[2],g=v[3],E=v[4]|0;else{r+=d+"\n";continue}var b=!1;if(e&8){var D=emscripten_source_map.originalPositionFor({line:g,column:E});b=D==null?void 0:D.source,b&&(e&64&&(D.source=D.source.substring(D.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=" at ".concat(p," (").concat(D.source,":").concat(D.line,":").concat(D.column,")\n"))}(e&16||!b)&&(e&64&&(f=f.substring(f.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(b?" = ".concat(p):" at ".concat(p))+" (".concat(f,":").concat(g,":").concat(E,")\n"))}return r=r.replace(/\s+$/,""),r}var emscriptenLog=(e,r)=>{e&24&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+getCallstack(e)),e&1?e&4?console.error(r):e&2?console.warn(r):e&512?console.info(r):e&256?console.debug(r):console.log(r):e&6?err(r):out(r)},reallyNegative=e=>e<0||e===0&&1/e===-1/0,reSign=(e,r)=>{if(e<=0)return e;var t=r<=32?Math.abs(1<=t&&(r<=32||e>t)&&(e=-2*t+e),e},unSign=(e,r)=>e>=0?e:r<=32?2*Math.abs(1<{for(var r=e;GROWABLE_HEAP_U8()[r>>>0];)++r;return r-e},formatString=(e,r)=>{var t=e,n=r;function _(H,W){return(W==="double"||W==="i64")&&H&7&&(H+=4),H}function a(H){var W;return n=_(n,H),H==="double"?(W=GROWABLE_HEAP_F64()[n>>>3>>>0],n+=8):H=="i64"?(W=[GROWABLE_HEAP_I32()[n>>>2>>>0],GROWABLE_HEAP_I32()[n+4>>>2>>>0]],n+=8):(H="i32",W=GROWABLE_HEAP_I32()[n>>>2>>>0],n+=4),W}for(var o=[],l,c,u;;){var d=t;if(l=GROWABLE_HEAP_I8()[t>>>0],l===0)break;if(c=GROWABLE_HEAP_I8()[t+1>>>0],l==37){var p=!1,f=!1,g=!1,E=!1,v=!1;e:for(;;){switch(c){case 43:p=!0;break;case 45:f=!0;break;case 35:g=!0;break;case 48:if(E)break e;E=!0;break;case 32:v=!0;break;default:break e}t++,c=GROWABLE_HEAP_I8()[t+1>>>0]}var b=0;if(c==42)b=a("i32"),t++,c=GROWABLE_HEAP_I8()[t+1>>>0];else for(;c>=48&&c<=57;)b=b*10+(c-48),t++,c=GROWABLE_HEAP_I8()[t+1>>>0];var D=!1,h=-1;if(c==46){if(h=0,D=!0,t++,c=GROWABLE_HEAP_I8()[t+1>>>0],c==42)h=a("i32"),t++;else for(;;){var T=GROWABLE_HEAP_I8()[t+1>>>0];if(T<48||T>57)break;h=h*10+(T-48),t++}c=GROWABLE_HEAP_I8()[t+1>>>0]}h<0&&(h=6,D=!1);var x;switch(String.fromCharCode(c)){case"h":var S=GROWABLE_HEAP_I8()[t+2>>>0];S==104?(t++,x=1):x=2;break;case"l":var S=GROWABLE_HEAP_I8()[t+2>>>0];S==108?(t++,x=8):x=4;break;case"L":case"q":case"j":x=8;break;case"z":case"t":case"I":x=4;break;default:x=null}switch(x&&t++,c=GROWABLE_HEAP_I8()[t+1>>>0],String.fromCharCode(c)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var M=c==100||c==105;x=x||4,u=a("i"+x*8);var A;if(x==8&&(u=c==117?convertU32PairToI53(u[0],u[1]):convertI32PairToI53(u[0],u[1])),x<=4){var L=Math.pow(256,x)-1;u=(M?reSign:unSign)(u&L,x*8)}var R=Math.abs(u),y="";if(c==100||c==105)A=reSign(u,8*x).toString(10);else if(c==117)A=unSign(u,8*x).toString(10),u=Math.abs(u);else if(c==111)A=(g?"0":"")+R.toString(8);else if(c==120||c==88){if(y=g&&u!=0?"0x":"",u<0){u=-u,A=(R-1).toString(16);for(var G=[],w=0;w=0&&(p?y="+"+y:v&&(y=" "+y)),A.charAt(0)=="-"&&(y="-"+y,A=A.substr(1));y.length+A.lengthk&&k>=-4?(c=(c==103?"f":"F").charCodeAt(0),h-=k+1):(c=(c==103?"e":"E").charCodeAt(0),h--),I=Math.min(h,20)}c==101||c==69?(A=u.toExponential(I),/[eE][-+]\d$/.test(A)&&(A=A.slice(0,-1)+"0"+A.slice(-1))):(c==102||c==70)&&(A=u.toFixed(I),u===0&&reallyNegative(u)&&(A="-"+A));var B=A.split("e");if(P&&!g)for(;B[0].length>1&&B[0].includes(".")&&(B[0].slice(-1)=="0"||B[0].slice(-1)==".");)B[0]=B[0].slice(0,-1);else for(g&&A.indexOf(".")==-1&&(B[0]+=".");h>I++;)B[0]+="0";A=B[0]+(B.length>1?"e"+B[1]:""),c==69&&(A=A.toUpperCase()),u>=0&&(p?A="+"+A:v&&(A=" "+A))}for(;A.length>>0]);else o=o.concat(intArrayFromString("(null)".substr(0,O),!0));if(f)for(;O0;)o.push(32);f||o.push(a("i8"));break}case"n":{var U=a("i32*");GROWABLE_HEAP_I32()[U>>>2>>>0]=o.length;break}case"%":{o.push(l);break}default:for(var w=d;w>>0])}t+=2}else o.push(l),t+=1}return o};function _emscripten_log(e,r,t){r>>>=0,t>>>=0;var n=formatString(r,t),_=UTF8ArrayToString(n,0);emscriptenLog(e,_)}_emscripten_log.sig="vipp";function _emscripten_get_compiler_setting(e){throw e>>>=0,"You must build with -sRETAIN_COMPILER_SETTINGS for getCompilerSetting or emscripten_get_compiler_setting to work"}_emscripten_get_compiler_setting.sig="pp";var _emscripten_has_asyncify=()=>0;_emscripten_has_asyncify.sig="i";function _emscripten_debugger(){debugger}_emscripten_debugger.sig="v";function _emscripten_print_double(e,r,t){r>>>=0;var n=e+"";return r?stringToUTF8(n,r,t):lengthBytesUTF8(n)}_emscripten_print_double.sig="idpi";function _emscripten_get_module_name(e,r){return e>>>=0,r>>>=0,stringToUTF8(wasmBinaryFile,e,r)}_emscripten_get_module_name.sig="ppp";function _emscripten_asm_const_double(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runEmAsmFunction(e,r,t)}_emscripten_asm_const_double.sig="dppp";var runMainThreadEmAsm=(e,r,t,n)=>{var _=readEmAsmArgs(r,t);return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(0,e,n,..._):ASM_CONSTS[e](..._)};function _emscripten_asm_const_int_sync_on_main_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runMainThreadEmAsm(e,r,t,1)}_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";function _emscripten_asm_const_ptr_sync_on_main_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runMainThreadEmAsm(e,r,t,1)}_emscripten_asm_const_ptr_sync_on_main_thread.sig="pppp";var _emscripten_asm_const_double_sync_on_main_thread=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";function _emscripten_asm_const_async_on_main_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runMainThreadEmAsm(e,r,t,0)}_emscripten_asm_const_async_on_main_thread.sig="vppp";var jstoi_s=Number;function __Unwind_Backtrace(e,r){e>>>=0,r>>>=0;for(var t=getCallstack(),n=t.split("\n"),_=0;_>>=0,r>>>=0,abort("Unwind_GetIPInfo")}__Unwind_GetIPInfo.sig="ppp";function __Unwind_FindEnclosingFunction(e){return e>>>=0,0}__Unwind_FindEnclosingFunction.sig="pp";var createDyncallWrapper=e=>{var r=[],t=[0,97,115,109,1,0,0,0];r.push(t);var n=[e[0].replace("j","i"),"i",e.slice(1).replace(/j/g,"ii")].join(""),_=[3];generateFuncType(n,_),generateFuncType(e,_),generateFuncType("vi",_);var a=[1];uleb128Encode(_.length,a),a.push(..._),r.push(a);var o=[2,15,2,1,101,1,116,1,112,0,0,1,101,1,114,0,2];r.push(o);var l=[3,2,1,0];r.push(l);var c=[7,5,1,1,102,0,1];r.push(c);var u=[];e[0]==="j"?u=[1,1,126]:u.push(0);function d(T){u.push(32),uleb128Encode(T,u)}for(var p=1,f=1;f{e=e.replace(/p/g,"i"),"dynCall_"+e in Module||(Module["dynCall_"+e]=createDyncallWrapper(e));var n=Module["dynCall_"+e];return n(r,...t)},dynCall=(e,r,t=[])=>{if(e.includes("j"))return dynCallLegacy(e,r,t);var n=getWasmTableEntry(r)(...t);return e[0]=="p"?n>>>0:n},getDynCaller=(e,r)=>(...t)=>dynCall(e,r,t);function _emscripten_force_exit(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(162,0,1,e);__emscripten_runtime_keepalive_clear(),_exit(e)}_emscripten_force_exit.sig="vi";function _emscripten_outn(e,r){return e>>>=0,r>>>=0,out(UTF8ToString(e,r))}_emscripten_outn.sig="vpp";function _emscripten_errn(e,r){return e>>>=0,r>>>=0,err(UTF8ToString(e,r))}_emscripten_errn.sig="vpp";var _emscripten_throw_number=e=>{throw e};_emscripten_throw_number.sig="vd";function _emscripten_throw_string(e){throw e>>>=0,UTF8ToString(e)}_emscripten_throw_string.sig="vp";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=e=>(e=="__main_argc_argv"&&(e="main"),e.startsWith("dynCall_")?e:"_"+e),___global_base=1024;function __emscripten_fs_load_embedded_files(e){e>>>=0;do{var r=GROWABLE_HEAP_U32()[e>>>2>>>0];e+=4;var t=GROWABLE_HEAP_U32()[e>>>2>>>0];e+=4;var n=GROWABLE_HEAP_U32()[e>>>2>>>0];e+=4;var _=UTF8ToString(r);FS.createPath("/",PATH.dirname(_),!0,!0),FS.createDataFile(_,null,GROWABLE_HEAP_I8().subarray(n>>>0,n+t>>>0),!0,!0,!0)}while(GROWABLE_HEAP_U32()[e>>>2>>>0])}__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;function getNativeTypeSize(e){switch(e){case"i1":case"i8":case"u8":return 1;case"i16":case"u16":return 2;case"i32":case"u32":return 4;case"i64":case"u64":return 8;case"float":return 4;case"double":return 8;default:{if(e[e.length-1]==="*")return POINTER_SIZE;if(e[0]==="i"){let r=Number(e.substr(1));return assert(r%8===0,"getNativeTypeSize invalid bits ".concat(r,", ").concat(e," type")),r/8}return 0}}}var STACK_SIZE=65536,STACK_ALIGN=16,ASSERTIONS=0,cwrap=(e,r,t,n)=>{var _=!t||t.every(o=>o==="number"||o==="boolean"),a=r!=="string";return a&&_&&!n?getCFunc(e):(...o)=>ccall(e,r,t,o,n)},removeFunction=e=>{functionsInTableMap.delete(getWasmTableEntry(e)),setWasmTableEntry(e,null),freeTableIndexes.push(e)},_emscripten_math_cbrt=Math.cbrt;_emscripten_math_cbrt.sig="dd";var _emscripten_math_pow=Math.pow;_emscripten_math_pow.sig="ddd";var _emscripten_math_random=Math.random;_emscripten_math_random.sig="d";var _emscripten_math_sign=Math.sign;_emscripten_math_sign.sig="dd";var _emscripten_math_sqrt=Math.sqrt;_emscripten_math_sqrt.sig="dd";var _emscripten_math_exp=Math.exp;_emscripten_math_exp.sig="dd";var _emscripten_math_expm1=Math.expm1;_emscripten_math_expm1.sig="dd";var _emscripten_math_fmod=(e,r)=>e%r;_emscripten_math_fmod.sig="ddd";var _emscripten_math_log=Math.log;_emscripten_math_log.sig="dd";var _emscripten_math_log1p=Math.log1p;_emscripten_math_log1p.sig="dd";var _emscripten_math_log10=Math.log10;_emscripten_math_log10.sig="dd";var _emscripten_math_log2=Math.log2;_emscripten_math_log2.sig="dd";var _emscripten_math_round=Math.round;_emscripten_math_round.sig="dd";var _emscripten_math_acos=Math.acos;_emscripten_math_acos.sig="dd";var _emscripten_math_acosh=Math.acosh;_emscripten_math_acosh.sig="dd";var _emscripten_math_asin=Math.asin;_emscripten_math_asin.sig="dd";var _emscripten_math_asinh=Math.asinh;_emscripten_math_asinh.sig="dd";var _emscripten_math_atan=Math.atan;_emscripten_math_atan.sig="dd";var _emscripten_math_atanh=Math.atanh;_emscripten_math_atanh.sig="dd";var _emscripten_math_atan2=Math.atan2;_emscripten_math_atan2.sig="ddd";var _emscripten_math_cos=Math.cos;_emscripten_math_cos.sig="dd";var _emscripten_math_cosh=Math.cosh;_emscripten_math_cosh.sig="dd";function _emscripten_math_hypot(e,r){r>>>=0;for(var t=[],n=0;n>>3>>>0]);return Math.hypot(...t)}_emscripten_math_hypot.sig="dip";var _emscripten_math_sin=Math.sin;_emscripten_math_sin.sig="dd";var _emscripten_math_sinh=Math.sinh;_emscripten_math_sinh.sig="dd";var _emscripten_math_tan=Math.tan;_emscripten_math_tan.sig="dd";var _emscripten_math_tanh=Math.tanh;_emscripten_math_tanh.sig="dd";function intArrayToString(e){for(var r=[],t=0;t255&&(n&=255),r.push(String.fromCharCode(n))}return r.join("")}var AsciiToString=e=>{e>>>=0;for(var r="";;){var t=GROWABLE_HEAP_U8()[e++>>>0];if(!t)return r;r+=String.fromCharCode(t)}},JSEvents={removeAllEventListeners(){for(;JSEvents.eventHandlers.length;)JSEvents._removeHandler(JSEvents.eventHandlers.length-1);JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,r,t){function n(o,l){if(o.length!=l.length)return!1;for(var c in o)if(o[c]!=l[c])return!1;return!0}for(var _ in JSEvents.deferredCalls){var a=JSEvents.deferredCalls[_];if(a.targetFunction==e&&n(a.argsList,t))return}JSEvents.deferredCalls.push({targetFunction:e,precedence:r,argsList:t}),JSEvents.deferredCalls.sort((o,l)=>o.precedence{for(var t=0;te>2?UTF8ToString(e):e,specialHTMLTargets=[0,typeof document<"u"?document:0,typeof window<"u"?window:0],findEventTarget=e=>{e=maybeCStringToJsString(e);var r=specialHTMLTargets[e]||(typeof document<"u"?document.querySelector(e):void 0);return r},registerKeyEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.keyEvent||(JSEvents.keyEvent=_malloc(176));var l=u=>{var d=o?_malloc(176):JSEvents.keyEvent;GROWABLE_HEAP_F64()[d>>>3>>>0]=u.timeStamp;var p=d>>>2;GROWABLE_HEAP_I32()[p+2>>>0]=u.location,GROWABLE_HEAP_I32()[p+3>>>0]=u.ctrlKey,GROWABLE_HEAP_I32()[p+4>>>0]=u.shiftKey,GROWABLE_HEAP_I32()[p+5>>>0]=u.altKey,GROWABLE_HEAP_I32()[p+6>>>0]=u.metaKey,GROWABLE_HEAP_I32()[p+7>>>0]=u.repeat,GROWABLE_HEAP_I32()[p+8>>>0]=u.charCode,GROWABLE_HEAP_I32()[p+9>>>0]=u.keyCode,GROWABLE_HEAP_I32()[p+10>>>0]=u.which,stringToUTF8(u.key||"",d+44,32),stringToUTF8(u.code||"",d+76,32),stringToUTF8(u.char||"",d+108,32),stringToUTF8(u.locale||"",d+140,32),o?__emscripten_run_callback_on_thread(o,n,_,d,r):getWasmTableEntry(n)(_,d,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)},findCanvasEventTarget=findEventTarget;function _emscripten_set_keypress_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(163,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerKeyEventCallback(e,r,t,n,1,"keypress",_))}_emscripten_set_keypress_callback_on_thread.sig="ippipp";function _emscripten_set_keydown_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(164,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerKeyEventCallback(e,r,t,n,2,"keydown",_))}_emscripten_set_keydown_callback_on_thread.sig="ippipp";function _emscripten_set_keyup_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(165,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerKeyEventCallback(e,r,t,n,3,"keyup",_))}_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0},fillMouseEventData=(e,r,t)=>{GROWABLE_HEAP_F64()[e>>>3>>>0]=r.timeStamp;var n=e>>>2;GROWABLE_HEAP_I32()[n+2>>>0]=r.screenX,GROWABLE_HEAP_I32()[n+3>>>0]=r.screenY,GROWABLE_HEAP_I32()[n+4>>>0]=r.clientX,GROWABLE_HEAP_I32()[n+5>>>0]=r.clientY,GROWABLE_HEAP_I32()[n+6>>>0]=r.ctrlKey,GROWABLE_HEAP_I32()[n+7>>>0]=r.shiftKey,GROWABLE_HEAP_I32()[n+8>>>0]=r.altKey,GROWABLE_HEAP_I32()[n+9>>>0]=r.metaKey,GROWABLE_HEAP_I16()[n*2+20>>>0]=r.button,GROWABLE_HEAP_I16()[n*2+21>>>0]=r.buttons,GROWABLE_HEAP_I32()[n+11>>>0]=r.movementX,GROWABLE_HEAP_I32()[n+12>>>0]=r.movementY;var _=getBoundingClientRect(t);GROWABLE_HEAP_I32()[n+13>>>0]=r.clientX-(_.left|0),GROWABLE_HEAP_I32()[n+14>>>0]=r.clientY-(_.top|0)},registerMouseEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.mouseEvent||(JSEvents.mouseEvent=_malloc(72)),e=findEventTarget(e);var l=(u=event)=>{if(fillMouseEventData(JSEvents.mouseEvent,u,e),o){var d=_malloc(72);fillMouseEventData(d,u,e),__emscripten_run_callback_on_thread(o,n,_,d,r)}else getWasmTableEntry(n)(_,JSEvents.mouseEvent,r)&&u.preventDefault()},c={target:e,allowsDeferredCalls:a!="mousemove"&&a!="mouseenter"&&a!="mouseleave",eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_click_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(166,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerMouseEventCallback(e,r,t,n,4,"click",_))}_emscripten_set_click_callback_on_thread.sig="ippipp";function _emscripten_set_mousedown_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(167,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerMouseEventCallback(e,r,t,n,5,"mousedown",_))}_emscripten_set_mousedown_callback_on_thread.sig="ippipp";function _emscripten_set_mouseup_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(168,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerMouseEventCallback(e,r,t,n,6,"mouseup",_))}_emscripten_set_mouseup_callback_on_thread.sig="ippipp";function _emscripten_set_dblclick_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(169,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerMouseEventCallback(e,r,t,n,7,"dblclick",_))}_emscripten_set_dblclick_callback_on_thread.sig="ippipp";function _emscripten_set_mousemove_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(170,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerMouseEventCallback(e,r,t,n,8,"mousemove",_))}_emscripten_set_mousemove_callback_on_thread.sig="ippipp";function _emscripten_set_mouseenter_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(171,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerMouseEventCallback(e,r,t,n,33,"mouseenter",_))}_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";function _emscripten_set_mouseleave_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(172,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerMouseEventCallback(e,r,t,n,34,"mouseleave",_))}_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";function _emscripten_set_mouseover_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(173,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerMouseEventCallback(e,r,t,n,35,"mouseover",_))}_emscripten_set_mouseover_callback_on_thread.sig="ippipp";function _emscripten_set_mouseout_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(174,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerMouseEventCallback(e,r,t,n,36,"mouseout",_))}_emscripten_set_mouseout_callback_on_thread.sig="ippipp";function _emscripten_get_mouse_status(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(175,0,1,e):(e>>>=0,JSEvents.mouseEvent?(GROWABLE_HEAP_I8().set(GROWABLE_HEAP_I8().subarray(JSEvents.mouseEvent>>>0,JSEvents.mouseEvent+72>>>0),e>>>0),0):-7)}_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.wheelEvent||(JSEvents.wheelEvent=_malloc(104));var l=(u=event)=>{var d=o?_malloc(104):JSEvents.wheelEvent;fillMouseEventData(d,u,e),GROWABLE_HEAP_F64()[d+72>>>3>>>0]=u.deltaX,GROWABLE_HEAP_F64()[d+80>>>3>>>0]=u.deltaY,GROWABLE_HEAP_F64()[d+88>>>3>>>0]=u.deltaZ,GROWABLE_HEAP_I32()[d+96>>>2>>>0]=u.deltaMode,o?__emscripten_run_callback_on_thread(o,n,_,d,r):getWasmTableEntry(n)(_,d,r)&&u.preventDefault()},c={target:e,allowsDeferredCalls:!0,eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_wheel_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(176,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,e=findEventTarget(e),e?typeof e.onwheel<"u"?registerWheelEventCallback(e,r,t,n,9,"wheel",_):-1:-4)}_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.uiEvent||(JSEvents.uiEvent=_malloc(36)),e=findEventTarget(e);var l=(u=event)=>{if(u.target==e){var d=document.body;if(d){var p=o?_malloc(36):JSEvents.uiEvent;GROWABLE_HEAP_I32()[p>>>2>>>0]=0,GROWABLE_HEAP_I32()[p+4>>>2>>>0]=d.clientWidth,GROWABLE_HEAP_I32()[p+8>>>2>>>0]=d.clientHeight,GROWABLE_HEAP_I32()[p+12>>>2>>>0]=innerWidth,GROWABLE_HEAP_I32()[p+16>>>2>>>0]=innerHeight,GROWABLE_HEAP_I32()[p+20>>>2>>>0]=outerWidth,GROWABLE_HEAP_I32()[p+24>>>2>>>0]=outerHeight,GROWABLE_HEAP_I32()[p+28>>>2>>>0]=pageXOffset|0,GROWABLE_HEAP_I32()[p+32>>>2>>>0]=pageYOffset|0,o?__emscripten_run_callback_on_thread(o,n,_,p,r):getWasmTableEntry(n)(_,p,r)&&u.preventDefault()}}},c={target:e,eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_resize_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(177,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerUiEventCallback(e,r,t,n,10,"resize",_))}_emscripten_set_resize_callback_on_thread.sig="ippipp";function _emscripten_set_scroll_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(178,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerUiEventCallback(e,r,t,n,11,"scroll",_))}_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.focusEvent||(JSEvents.focusEvent=_malloc(256));var l=(u=event)=>{var d=JSEvents.getNodeNameForTarget(u.target),p=u.target.id?u.target.id:"",f=o?_malloc(256):JSEvents.focusEvent;stringToUTF8(d,f+0,128),stringToUTF8(p,f+128,128),o?__emscripten_run_callback_on_thread(o,n,_,f,r):getWasmTableEntry(n)(_,f,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_blur_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(179,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerFocusEventCallback(e,r,t,n,12,"blur",_))}_emscripten_set_blur_callback_on_thread.sig="ippipp";function _emscripten_set_focus_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(180,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerFocusEventCallback(e,r,t,n,13,"focus",_))}_emscripten_set_focus_callback_on_thread.sig="ippipp";function _emscripten_set_focusin_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(181,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerFocusEventCallback(e,r,t,n,14,"focusin",_))}_emscripten_set_focusin_callback_on_thread.sig="ippipp";function _emscripten_set_focusout_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(182,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerFocusEventCallback(e,r,t,n,15,"focusout",_))}_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(e,r,t)=>{GROWABLE_HEAP_F64()[e>>>3>>>0]=r.alpha,GROWABLE_HEAP_F64()[e+8>>>3>>>0]=r.beta,GROWABLE_HEAP_F64()[e+16>>>3>>>0]=r.gamma,GROWABLE_HEAP_I32()[e+24>>>2>>>0]=r.absolute},registerDeviceOrientationEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.deviceOrientationEvent||(JSEvents.deviceOrientationEvent=_malloc(32));var l=(u=event)=>{if(fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,u,e),o){var d=_malloc(32);fillDeviceOrientationEventData(d,u,e),__emscripten_run_callback_on_thread(o,n,_,d,r)}else getWasmTableEntry(n)(_,JSEvents.deviceOrientationEvent,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_deviceorientation_callback_on_thread(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(183,0,1,e,r,t,n):(e>>>=0,t>>>=0,n>>>=0,registerDeviceOrientationEventCallback(2,e,r,t,16,"deviceorientation",n))}_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";function _emscripten_get_deviceorientation_status(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(184,0,1,e):(e>>>=0,JSEvents.deviceOrientationEvent?(GROWABLE_HEAP_I32().set(GROWABLE_HEAP_I32().subarray(JSEvents.deviceOrientationEvent>>>0,32),e>>>0),0):-7)}_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(e,r,t)=>{var n=0,_=r.acceleration;n|=_&&1;var a=r.accelerationIncludingGravity;n|=a&&2;var o=r.rotationRate;n|=o&&4,_=_||{},a=a||{},o=o||{},GROWABLE_HEAP_F64()[e>>>3>>>0]=_.x,GROWABLE_HEAP_F64()[e+8>>>3>>>0]=_.y,GROWABLE_HEAP_F64()[e+16>>>3>>>0]=_.z,GROWABLE_HEAP_F64()[e+24>>>3>>>0]=a.x,GROWABLE_HEAP_F64()[e+32>>>3>>>0]=a.y,GROWABLE_HEAP_F64()[e+40>>>3>>>0]=a.z,GROWABLE_HEAP_F64()[e+48>>>3>>>0]=o.alpha,GROWABLE_HEAP_F64()[e+56>>>3>>>0]=o.beta,GROWABLE_HEAP_F64()[e+64>>>3>>>0]=o.gamma},registerDeviceMotionEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.deviceMotionEvent||(JSEvents.deviceMotionEvent=_malloc(80));var l=(u=event)=>{if(fillDeviceMotionEventData(JSEvents.deviceMotionEvent,u,e),o){var d=_malloc(80);fillDeviceMotionEventData(d,u,e),__emscripten_run_callback_on_thread(o,n,_,d,r)}else getWasmTableEntry(n)(_,JSEvents.deviceMotionEvent,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_devicemotion_callback_on_thread(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(185,0,1,e,r,t,n):(e>>>=0,t>>>=0,n>>>=0,registerDeviceMotionEventCallback(2,e,r,t,17,"devicemotion",n))}_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";function _emscripten_get_devicemotion_status(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(186,0,1,e):(e>>>=0,JSEvents.deviceMotionEvent?(GROWABLE_HEAP_I32().set(GROWABLE_HEAP_I32().subarray(JSEvents.deviceMotionEvent>>>0,80),e>>>0),0):-7)}_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(window.screen)return screen.orientation||screen.mozOrientation||screen.webkitOrientation},fillOrientationChangeEventData=e=>{var r=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"],t=["portrait","portrait","landscape","landscape"],n=0,_=0,a=screenOrientation();typeof a=="object"?(n=r.indexOf(a.type),n<0&&(n=t.indexOf(a.type)),n>=0&&(n=1<>>2>>>0]=n,GROWABLE_HEAP_I32()[e+4>>>2>>>0]=_},registerOrientationChangeEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.orientationChangeEvent||(JSEvents.orientationChangeEvent=_malloc(8));var l=(u=event)=>{var d=o?_malloc(8):JSEvents.orientationChangeEvent;fillOrientationChangeEventData(d),o?__emscripten_run_callback_on_thread(o,n,_,d,r):getWasmTableEntry(n)(_,d,r)&&u.preventDefault()},c={target:e,eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_orientationchange_callback_on_thread(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(187,0,1,e,r,t,n):(e>>>=0,t>>>=0,n>>>=0,!window.screen||!screen.orientation?-1:registerOrientationChangeEventCallback(screen.orientation,e,r,t,18,"change",n))}_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";function _emscripten_get_orientation_status(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(188,0,1,e):(e>>>=0,!screenOrientation()&&typeof orientation>"u"?-1:(fillOrientationChangeEventData(e),0))}_emscripten_get_orientation_status.sig="ip";function _emscripten_lock_orientation(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(189,0,1,e);var r=[];e&1&&r.push("portrait-primary"),e&2&&r.push("portrait-secondary"),e&4&&r.push("landscape-primary"),e&8&&r.push("landscape-secondary");var t;if(screen.lockOrientation)t=screen.lockOrientation(r);else if(screen.mozLockOrientation)t=screen.mozLockOrientation(r);else if(screen.webkitLockOrientation)t=screen.webkitLockOrientation(r);else return-1;return t?0:-6}_emscripten_lock_orientation.sig="ii";function _emscripten_unlock_orientation(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(190,0,1);if(screen.unlockOrientation)screen.unlockOrientation();else if(screen.mozUnlockOrientation)screen.mozUnlockOrientation();else if(screen.webkitUnlockOrientation)screen.webkitUnlockOrientation();else return-1;return 0}_emscripten_unlock_orientation.sig="i";var fillFullscreenChangeEventData=e=>{var r=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement,t=!!r;GROWABLE_HEAP_I32()[e>>>2>>>0]=t,GROWABLE_HEAP_I32()[e+4>>>2>>>0]=JSEvents.fullscreenEnabled();var n=t?r:JSEvents.previousFullscreenElement,_=JSEvents.getNodeNameForTarget(n),a=(n==null?void 0:n.id)||"";stringToUTF8(_,e+8,128),stringToUTF8(a,e+136,128),GROWABLE_HEAP_I32()[e+264>>>2>>>0]=n?n.clientWidth:0,GROWABLE_HEAP_I32()[e+268>>>2>>>0]=n?n.clientHeight:0,GROWABLE_HEAP_I32()[e+272>>>2>>>0]=screen.width,GROWABLE_HEAP_I32()[e+276>>>2>>>0]=screen.height,t&&(JSEvents.previousFullscreenElement=r)},registerFullscreenChangeEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.fullscreenChangeEvent||(JSEvents.fullscreenChangeEvent=_malloc(280));var l=(u=event)=>{var d=o?_malloc(280):JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(d),o?__emscripten_run_callback_on_thread(o,n,_,d,r):getWasmTableEntry(n)(_,d,r)&&u.preventDefault()},c={target:e,eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_fullscreenchange_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(191,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,JSEvents.fullscreenEnabled()?(e=findEventTarget(e),e?(registerFullscreenChangeEventCallback(e,r,t,n,19,"webkitfullscreenchange",_),registerFullscreenChangeEventCallback(e,r,t,n,19,"fullscreenchange",_)):-4):-1)}_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";function _emscripten_get_fullscreen_status(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(192,0,1,e):(e>>>=0,JSEvents.fullscreenEnabled()?(fillFullscreenChangeEventData(e),0):-1)}_emscripten_get_fullscreen_status.sig="ip";var getCanvasSizeCallingThread=(e,r,t)=>{var n=findCanvasEventTarget(e);if(!n)return-4;if(!n.controlTransferredOffscreen)GROWABLE_HEAP_I32()[r>>>2>>>0]=n.width,GROWABLE_HEAP_I32()[t>>>2>>>0]=n.height;else return-4;return 0};function getCanvasSizeMainThread(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(193,0,1,e,r,t):getCanvasSizeCallingThread(e,r,t)}function _emscripten_get_canvas_element_size(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=findCanvasEventTarget(e);return n?getCanvasSizeCallingThread(e,r,t):getCanvasSizeMainThread(e,r,t)}_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=e=>withStackSave(()=>{var r=stackAlloc(8),t=r+4,n=stringToUTF8OnStack(e.id),_=_emscripten_get_canvas_element_size(n,r,t),a=[GROWABLE_HEAP_I32()[r>>>2>>>0],GROWABLE_HEAP_I32()[t>>>2>>>0]];return a}),setCanvasElementSizeCallingThread=(e,r,t)=>{var o;var n=findCanvasEventTarget(e);if(!n||n.controlTransferredOffscreen)return-4;var _=!1;if((o=n.GLctxObject)!=null&&o.GLctx){var a=n.GLctxObject.GLctx.getParameter(2978);_=a[0]===0&&a[1]===0&&a[2]===n.width&&a[3]===n.height}return n.width=r,n.height=t,_&&n.GLctxObject.GLctx.viewport(0,0,r,t),0};function setCanvasElementSizeMainThread(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(194,0,1,e,r,t):setCanvasElementSizeCallingThread(e,r,t)}function _emscripten_set_canvas_element_size(e,r,t){e>>>=0;var n=findCanvasEventTarget(e);return n?setCanvasElementSizeCallingThread(e,r,t):setCanvasElementSizeMainThread(e,r,t)}_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(e,r,t)=>{e.controlTransferredOffscreen?withStackSave(()=>{var n=stringToUTF8OnStack(e.id);_emscripten_set_canvas_element_size(n,r,t)}):(e.width=r,e.height=t)},registerRestoreOldStyle=e=>{var r=getCanvasElementSize(e),t=r[0],n=r[1],_=e.style.width,a=e.style.height,o=e.style.backgroundColor,l=document.body.style.backgroundColor,c=e.style.paddingLeft,u=e.style.paddingRight,d=e.style.paddingTop,p=e.style.paddingBottom,f=e.style.marginLeft,g=e.style.marginRight,E=e.style.marginTop,v=e.style.marginBottom,b=document.body.style.margin,D=document.documentElement.style.overflow,h=document.body.scroll,T=e.style.imageRendering;function x(){var S=document.fullscreenElement||document.webkitFullscreenElement;S||(document.removeEventListener("fullscreenchange",x),document.removeEventListener("webkitfullscreenchange",x),setCanvasElementSize(e,t,n),e.style.width=_,e.style.height=a,e.style.backgroundColor=o,l||(document.body.style.backgroundColor="white"),document.body.style.backgroundColor=l,e.style.paddingLeft=c,e.style.paddingRight=u,e.style.paddingTop=d,e.style.paddingBottom=p,e.style.marginLeft=f,e.style.marginRight=g,e.style.marginTop=E,e.style.marginBottom=v,document.body.style.margin=b,document.documentElement.style.overflow=D,document.body.scroll=h,e.style.imageRendering=T,e.GLctxObject&&e.GLctxObject.GLctx.viewport(0,0,t,n),currentFullscreenStrategy.canvasResizedCallback&&(currentFullscreenStrategy.canvasResizedCallbackTargetThread?__emscripten_run_callback_on_thread(currentFullscreenStrategy.canvasResizedCallbackTargetThread,currentFullscreenStrategy.canvasResizedCallback,37,0,currentFullscreenStrategy.canvasResizedCallbackUserData):getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)))}return document.addEventListener("fullscreenchange",x),document.addEventListener("webkitfullscreenchange",x),x},setLetterbox=(e,r,t)=>{e.style.paddingLeft=e.style.paddingRight=t+"px",e.style.paddingTop=e.style.paddingBottom=r+"px"},JSEvents_resizeCanvasForFullscreen=(e,r)=>{var t=registerRestoreOldStyle(e),n=r.softFullscreen?innerWidth:screen.width,_=r.softFullscreen?innerHeight:screen.height,a=getBoundingClientRect(e),o=a.width,l=a.height,c=getCanvasElementSize(e),u=c[0],d=c[1];if(r.scaleMode==3)setLetterbox(e,(_-l)/2,(n-o)/2),n=o,_=l;else if(r.scaleMode==2)if(n*d{if((r.scaleMode!=0||r.canvasResolutionScaleMode!=0)&&JSEvents_resizeCanvasForFullscreen(e,r),e.requestFullscreen)e.requestFullscreen();else if(e.webkitRequestFullscreen)e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);else return JSEvents.fullscreenEnabled()?-3:-1;return currentFullscreenStrategy=r,r.canvasResizedCallback&&(r.canvasResizedCallbackTargetThread?__emscripten_run_callback_on_thread(r.canvasResizedCallbackTargetThread,r.canvasResizedCallback,37,0,r.canvasResizedCallbackUserData):getWasmTableEntry(r.canvasResizedCallback)(37,0,r.canvasResizedCallbackUserData)),0},hideEverythingExceptGivenElement=e=>{for(var r=e,t=r.parentNode,n=[];r!=document.body;){for(var _=t.children,a=0;a<_.length;++a)_[a]!=r&&(n.push({node:_[a],displayState:_[a].style.display}),_[a].style.display="none");r=t,t=t.parentNode}return n},restoreHiddenElements=e=>{for(var r=0;r{var e=devicePixelRatio,r=currentFullscreenStrategy.canvasResolutionScaleMode==2,t=currentFullscreenStrategy.scaleMode==2,n=currentFullscreenStrategy.canvasResolutionScaleMode!=0,_=currentFullscreenStrategy.scaleMode==3,a=r?Math.round(innerWidth*e):innerWidth,o=r?Math.round(innerHeight*e):innerHeight,l=a,c=o,u=currentFullscreenStrategy.target,d=getCanvasElementSize(u),p=d[0],f=d[1],g;if(t&&(l*fp*c&&(l=c*p/f|0),g=(o-c)/2|0),n&&(setCanvasElementSize(u,l,c),u.GLctxObject&&u.GLctxObject.GLctx.viewport(0,0,l,c)),r&&(g/=e,l/=e,c/=e,l=Math.round(l*1e4)/1e4,c=Math.round(c*1e4)/1e4,g=Math.round(g*1e4)/1e4),_){var E=(innerHeight-jstoi_q(u.style.height))/2,v=(innerWidth-jstoi_q(u.style.width))/2;setLetterbox(u,E,v)}else{u.style.width=l+"px",u.style.height=c+"px";var v=(innerWidth-l)/2;setLetterbox(u,g,v)}!_&¤tFullscreenStrategy.canvasResizedCallback&&(currentFullscreenStrategy.canvasResizedCallbackTargetThread?__emscripten_run_callback_on_thread(currentFullscreenStrategy.canvasResizedCallbackTargetThread,currentFullscreenStrategy.canvasResizedCallback,37,0,currentFullscreenStrategy.canvasResizedCallbackUserData):getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData))},doRequestFullscreen=(e,r)=>{if(!JSEvents.fullscreenEnabled())return-1;if(e=findEventTarget(e),!e)return-4;if(!e.requestFullscreen&&!e.webkitRequestFullscreen)return-3;var t=JSEvents.canPerformEventHandlerRequests();return t?JSEvents_requestFullscreen(e,r):r.deferUntilInEventHandler?(JSEvents.deferCall(JSEvents_requestFullscreen,1,[e,r]),1):-2};function _emscripten_request_fullscreen(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(195,0,1,e,r);e>>>=0;var t={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler:r,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(e,t)}_emscripten_request_fullscreen.sig="ipi";function _emscripten_request_fullscreen_strategy(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(196,0,1,e,r,t);e>>>=0,t>>>=0;var n={scaleMode:GROWABLE_HEAP_I32()[t>>>2>>>0],canvasResolutionScaleMode:GROWABLE_HEAP_I32()[t+4>>>2>>>0],filteringMode:GROWABLE_HEAP_I32()[t+8>>>2>>>0],deferUntilInEventHandler:r,canvasResizedCallbackTargetThread:GROWABLE_HEAP_I32()[t+20>>>2>>>0],canvasResizedCallback:GROWABLE_HEAP_I32()[t+12>>>2>>>0],canvasResizedCallbackUserData:GROWABLE_HEAP_I32()[t+16>>>2>>>0]};return doRequestFullscreen(e,n)}_emscripten_request_fullscreen_strategy.sig="ipip";function _emscripten_enter_soft_fullscreen(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(197,0,1,e,r);if(e>>>=0,r>>>=0,e=findEventTarget(e),!e)return-4;var t={scaleMode:GROWABLE_HEAP_I32()[r>>>2>>>0],canvasResolutionScaleMode:GROWABLE_HEAP_I32()[r+4>>>2>>>0],filteringMode:GROWABLE_HEAP_I32()[r+8>>>2>>>0],canvasResizedCallback:GROWABLE_HEAP_I32()[r+12>>>2>>>0],canvasResizedCallbackUserData:GROWABLE_HEAP_I32()[r+16>>>2>>>0],canvasResizedCallbackTargetThread:JSEvents.getTargetThreadForEventCallback(),target:e,softFullscreen:!0},n=JSEvents_resizeCanvasForFullscreen(e,t);document.documentElement.style.overflow="hidden",document.body.scroll="no",document.body.style.margin="0px";var _=hideEverythingExceptGivenElement(e);function a(){n(),restoreHiddenElements(_),removeEventListener("resize",softFullscreenResizeWebGLRenderTarget),t.canvasResizedCallback&&(t.canvasResizedCallbackTargetThread?__emscripten_run_callback_on_thread(t.canvasResizedCallbackTargetThread,t.canvasResizedCallback,37,0,t.canvasResizedCallbackUserData):getWasmTableEntry(t.canvasResizedCallback)(37,0,t.canvasResizedCallbackUserData)),currentFullscreenStrategy=0}return restoreOldWindowedStyle=a,currentFullscreenStrategy=t,addEventListener("resize",softFullscreenResizeWebGLRenderTarget),t.canvasResizedCallback&&(t.canvasResizedCallbackTargetThread?__emscripten_run_callback_on_thread(t.canvasResizedCallbackTargetThread,t.canvasResizedCallback,37,0,t.canvasResizedCallbackUserData):getWasmTableEntry(t.canvasResizedCallback)(37,0,t.canvasResizedCallbackUserData)),0}_emscripten_enter_soft_fullscreen.sig="ipp";function _emscripten_exit_soft_fullscreen(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(198,0,1):(restoreOldWindowedStyle==null||restoreOldWindowedStyle(),restoreOldWindowedStyle=null,0)}_emscripten_exit_soft_fullscreen.sig="i";function _emscripten_exit_fullscreen(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(199,0,1);if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var e=specialHTMLTargets[1];if(e.exitFullscreen)e.fullscreenElement&&e.exitFullscreen();else if(e.webkitExitFullscreen)e.webkitFullscreenElement&&e.webkitExitFullscreen();else return-1;return 0}_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=e=>{var r=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement,t=!!r;GROWABLE_HEAP_I32()[e>>>2>>>0]=t;var n=JSEvents.getNodeNameForTarget(r),_=(r==null?void 0:r.id)||"";stringToUTF8(n,e+4,128),stringToUTF8(_,e+132,128)},registerPointerlockChangeEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.pointerlockChangeEvent||(JSEvents.pointerlockChangeEvent=_malloc(260));var l=(u=event)=>{var d=o?_malloc(260):JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(d),o?__emscripten_run_callback_on_thread(o,n,_,d,r):getWasmTableEntry(n)(_,d,r)&&u.preventDefault()},c={target:e,eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_pointerlockchange_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(200,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:(e=findEventTarget(e),e?(registerPointerlockChangeEventCallback(e,r,t,n,20,"mozpointerlockchange",_),registerPointerlockChangeEventCallback(e,r,t,n,20,"webkitpointerlockchange",_),registerPointerlockChangeEventCallback(e,r,t,n,20,"mspointerlockchange",_),registerPointerlockChangeEventCallback(e,r,t,n,20,"pointerlockchange",_)):-4))}_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o);var l=(u=event)=>{o?__emscripten_run_callback_on_thread(o,n,_,0,r):getWasmTableEntry(n)(_,0,r)&&u.preventDefault()},c={target:e,eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_pointerlockerror_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(201,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:(e=findEventTarget(e),e?(registerPointerlockErrorEventCallback(e,r,t,n,38,"mozpointerlockerror",_),registerPointerlockErrorEventCallback(e,r,t,n,38,"webkitpointerlockerror",_),registerPointerlockErrorEventCallback(e,r,t,n,38,"mspointerlockerror",_),registerPointerlockErrorEventCallback(e,r,t,n,38,"pointerlockerror",_)):-4))}_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";function _emscripten_get_pointerlock_status(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(202,0,1,e):(e>>>=0,e&&fillPointerlockChangeEventData(e),!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:0)}_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=e=>{if(e.requestPointerLock)e.requestPointerLock();else return document.body.requestPointerLock?-3:-1;return 0};function _emscripten_request_pointerlock(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(203,0,1,e,r);if(e>>>=0,e=findEventTarget(e),!e)return-4;if(!e.requestPointerLock)return-1;var t=JSEvents.canPerformEventHandlerRequests();return t?requestPointerLock(e):r?(JSEvents.deferCall(requestPointerLock,2,[e]),1):-2}_emscripten_request_pointerlock.sig="ipi";function _emscripten_exit_pointerlock(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(204,0,1);if(JSEvents.removeDeferredCalls(requestPointerLock),document.exitPointerLock)document.exitPointerLock();else return-1;return 0}_emscripten_exit_pointerlock.sig="i";function _emscripten_vibrate(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(205,0,1,e):navigator.vibrate?(navigator.vibrate(e),0):-1}_emscripten_vibrate.sig="ii";function _emscripten_vibrate_pattern(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(206,0,1,e,r);if(e>>>=0,!navigator.vibrate)return-1;for(var t=[],n=0;n>>2>>>0];t.push(_)}return navigator.vibrate(t),0}_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=e=>{var r=["hidden","visible","prerender","unloaded"],t=r.indexOf(document.visibilityState);GROWABLE_HEAP_I32()[e>>>2>>>0]=document.hidden,GROWABLE_HEAP_I32()[e+4>>>2>>>0]=t},registerVisibilityChangeEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.visibilityChangeEvent||(JSEvents.visibilityChangeEvent=_malloc(8));var l=(u=event)=>{var d=o?_malloc(8):JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(d),o?__emscripten_run_callback_on_thread(o,n,_,d,r):getWasmTableEntry(n)(_,d,r)&&u.preventDefault()},c={target:e,eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_visibilitychange_callback_on_thread(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(207,0,1,e,r,t,n):(e>>>=0,t>>>=0,n>>>=0,specialHTMLTargets[1]?registerVisibilityChangeEventCallback(specialHTMLTargets[1],e,r,t,21,"visibilitychange",n):-4)}_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";function _emscripten_get_visibility_status(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(208,0,1,e):(e>>>=0,typeof document.visibilityState>"u"&&typeof document.hidden>"u"?-1:(fillVisibilityChangeEventData(e),0))}_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.touchEvent||(JSEvents.touchEvent=_malloc(1696)),e=findEventTarget(e);var l=u=>{for(var d,p={},f=u.touches,g=0;g>>3>>>0]=u.timeStamp;var v=E>>>2;GROWABLE_HEAP_I32()[v+3>>>0]=u.ctrlKey,GROWABLE_HEAP_I32()[v+4>>>0]=u.shiftKey,GROWABLE_HEAP_I32()[v+5>>>0]=u.altKey,GROWABLE_HEAP_I32()[v+6>>>0]=u.metaKey,v+=7;var b=getBoundingClientRect(e),D=0;for(var g in p)if(d=p[g],GROWABLE_HEAP_I32()[v+0>>>0]=d.identifier,GROWABLE_HEAP_I32()[v+1>>>0]=d.screenX,GROWABLE_HEAP_I32()[v+2>>>0]=d.screenY,GROWABLE_HEAP_I32()[v+3>>>0]=d.clientX,GROWABLE_HEAP_I32()[v+4>>>0]=d.clientY,GROWABLE_HEAP_I32()[v+5>>>0]=d.pageX,GROWABLE_HEAP_I32()[v+6>>>0]=d.pageY,GROWABLE_HEAP_I32()[v+7>>>0]=d.isChanged,GROWABLE_HEAP_I32()[v+8>>>0]=d.onTarget,GROWABLE_HEAP_I32()[v+9>>>0]=d.clientX-(b.left|0),GROWABLE_HEAP_I32()[v+10>>>0]=d.clientY-(b.top|0),v+=13,++D>31)break;GROWABLE_HEAP_I32()[E+8>>>2>>>0]=D,o?__emscripten_run_callback_on_thread(o,n,_,E,r):getWasmTableEntry(n)(_,E,r)&&u.preventDefault()},c={target:e,allowsDeferredCalls:a=="touchstart"||a=="touchend",eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_touchstart_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(209,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerTouchEventCallback(e,r,t,n,22,"touchstart",_))}_emscripten_set_touchstart_callback_on_thread.sig="ippipp";function _emscripten_set_touchend_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(210,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerTouchEventCallback(e,r,t,n,23,"touchend",_))}_emscripten_set_touchend_callback_on_thread.sig="ippipp";function _emscripten_set_touchmove_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(211,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerTouchEventCallback(e,r,t,n,24,"touchmove",_))}_emscripten_set_touchmove_callback_on_thread.sig="ippipp";function _emscripten_set_touchcancel_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(212,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerTouchEventCallback(e,r,t,n,25,"touchcancel",_))}_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(e,r)=>{GROWABLE_HEAP_F64()[e>>>3>>>0]=r.timestamp;for(var t=0;t>>3>>>0]=r.axes[t];for(var t=0;t>>3>>>0]=r.buttons[t].value:GROWABLE_HEAP_F64()[e+t*8+528>>>3>>>0]=r.buttons[t];for(var t=0;t>>2>>>0]=r.buttons[t].pressed:GROWABLE_HEAP_I32()[e+t*4+1040>>>2>>>0]=r.buttons[t]==1;GROWABLE_HEAP_I32()[e+1296>>>2>>>0]=r.connected,GROWABLE_HEAP_I32()[e+1300>>>2>>>0]=r.index,GROWABLE_HEAP_I32()[e+8>>>2>>>0]=r.axes.length,GROWABLE_HEAP_I32()[e+12>>>2>>>0]=r.buttons.length,stringToUTF8(r.id,e+1304,64),stringToUTF8(r.mapping,e+1368,64)},registerGamepadEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.gamepadEvent||(JSEvents.gamepadEvent=_malloc(1432));var l=(u=event)=>{var d=o?_malloc(1432):JSEvents.gamepadEvent;fillGamepadEventData(d,u.gamepad),o?__emscripten_run_callback_on_thread(o,n,_,d,r):getWasmTableEntry(n)(_,d,r)&&u.preventDefault()},c={target:findEventTarget(e),allowsDeferredCalls:!0,eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_sample_gamepad_data(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(214,0,1);try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){navigator.getGamepads=null}return-1}_emscripten_sample_gamepad_data.sig="i";function _emscripten_set_gamepadconnected_callback_on_thread(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(213,0,1,e,r,t,n):(e>>>=0,t>>>=0,n>>>=0,_emscripten_sample_gamepad_data()?-1:registerGamepadEventCallback(2,e,r,t,26,"gamepadconnected",n))}_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";function _emscripten_set_gamepaddisconnected_callback_on_thread(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(215,0,1,e,r,t,n):(e>>>=0,t>>>=0,n>>>=0,_emscripten_sample_gamepad_data()?-1:registerGamepadEventCallback(2,e,r,t,27,"gamepaddisconnected",n))}_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";function _emscripten_get_num_gamepads(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(216,0,1):JSEvents.lastGamepadState.length}_emscripten_get_num_gamepads.sig="i";function _emscripten_get_gamepad_status(e,r){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(217,0,1,e,r):(r>>>=0,e<0||e>=JSEvents.lastGamepadState.length?-5:JSEvents.lastGamepadState[e]?(fillGamepadEventData(r,JSEvents.lastGamepadState[e]),0):-7)}_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(e,r,t,n,_,a)=>{var o=(c=event)=>{var u=getWasmTableEntry(n)(_,0,r);if(u&&(u=UTF8ToString(u)),u)return c.preventDefault(),c.returnValue=u,u},l={target:findEventTarget(e),eventTypeString:a,callbackfunc:n,handlerFunc:o,useCapture:t};return JSEvents.registerOrRemoveHandler(l)};function _emscripten_set_beforeunload_callback_on_thread(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(218,0,1,e,r,t):(e>>>=0,r>>>=0,t>>>=0,typeof onbeforeunload>"u"?-1:t!==1?-5:registerBeforeUnloadEventCallback(2,e,!0,r,28,"beforeunload"))}_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(e,r)=>{GROWABLE_HEAP_F64()[e>>>3>>>0]=r.chargingTime,GROWABLE_HEAP_F64()[e+8>>>3>>>0]=r.dischargingTime,GROWABLE_HEAP_F64()[e+16>>>3>>>0]=r.level,GROWABLE_HEAP_I32()[e+24>>>2>>>0]=r.charging},battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery,registerBatteryEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o),JSEvents.batteryEvent||(JSEvents.batteryEvent=_malloc(32));var l=(u=event)=>{var d=o?_malloc(32):JSEvents.batteryEvent;fillBatteryEventData(d,battery()),o?__emscripten_run_callback_on_thread(o,n,_,d,r):getWasmTableEntry(n)(_,d,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_batterychargingchange_callback_on_thread(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(219,0,1,e,r,t):(e>>>=0,r>>>=0,t>>>=0,battery()?registerBatteryEventCallback(battery(),e,!0,r,29,"chargingchange",t):-1)}_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";function _emscripten_set_batterylevelchange_callback_on_thread(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(220,0,1,e,r,t):(e>>>=0,r>>>=0,t>>>=0,battery()?registerBatteryEventCallback(battery(),e,!0,r,30,"levelchange",t):-1)}_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";function _emscripten_get_battery_status(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(221,0,1,e):(e>>>=0,battery()?(fillBatteryEventData(e,battery()),0):-1)}_emscripten_get_battery_status.sig="ip";function _emscripten_set_element_css_size(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(222,0,1,e,r,t):(e>>>=0,e=findEventTarget(e),e?(e.style.width=r+"px",e.style.height=t+"px",0):-4)}_emscripten_set_element_css_size.sig="ipdd";function _emscripten_get_element_css_size(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(223,0,1,e,r,t);if(e>>>=0,r>>>=0,t>>>=0,e=findEventTarget(e),!e)return-4;var n=getBoundingClientRect(e);return GROWABLE_HEAP_F64()[r>>>3>>>0]=n.width,GROWABLE_HEAP_F64()[t>>>3>>>0]=n.height,0}_emscripten_get_element_css_size.sig="ippp";var _emscripten_html5_remove_all_event_listeners=()=>JSEvents.removeAllEventListeners();_emscripten_html5_remove_all_event_listeners.sig="v";var _emscripten_request_animation_frame=function(e,r){return e>>>=0,r>>>=0,requestAnimationFrame(t=>getWasmTableEntry(e)(t,r))};_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=e=>cancelAnimationFrame(e);_emscripten_cancel_animation_frame.sig="vi";function _emscripten_request_animation_frame_loop(e,r){e>>>=0,r>>>=0;function t(n){getWasmTableEntry(e)(n,r)&&requestAnimationFrame(t)}return requestAnimationFrame(t)}_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_performance_now=()=>performance.now();_emscripten_performance_now.sig="d";function _emscripten_get_device_pixel_ratio(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(224,0,1):typeof devicePixelRatio=="number"&&devicePixelRatio||1}_emscripten_get_device_pixel_ratio.sig="d";function _emscripten_get_callstack(e,r,t){r>>>=0;var n=getCallstack(e);if(!r||t<=0)return lengthBytesUTF8(n)+1;var _=stringToUTF8(n,r,t);return _+1}_emscripten_get_callstack.sig="iipi";var convertFrameToPC=e=>(abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER"),0);function _emscripten_return_address(e){var r=jsStackTrace().split("\n");r[0]=="Error"&&r.shift();var t=r[e+3];return convertFrameToPC(t)}_emscripten_return_address.sig="pi";var UNWIND_CACHE={},saveInUnwindCache=e=>{e.forEach(r=>{var t=convertFrameToPC(r);t&&(UNWIND_CACHE[t]=r)})};function _emscripten_stack_snapshot(){var e=jsStackTrace().split("\n");return e[0]=="Error"&&e.shift(),saveInUnwindCache(e),UNWIND_CACHE.last_addr=convertFrameToPC(e[3]),UNWIND_CACHE.last_stack=e,UNWIND_CACHE.last_addr}_emscripten_stack_snapshot.sig="p";function _emscripten_stack_unwind_buffer(e,r,t){e>>>=0,r>>>=0;var n;UNWIND_CACHE.last_addr==e?n=UNWIND_CACHE.last_stack:(n=jsStackTrace().split("\n"),n[0]=="Error"&&n.shift(),saveInUnwindCache(n));for(var _=3;n[_]&&convertFrameToPC(n[_])!=e;)++_;for(var a=0;a>>2>>>0]=convertFrameToPC(n[a+_]);return a}_emscripten_stack_unwind_buffer.sig="ippi";function _emscripten_pc_get_function(e){return e>>>=0,abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER"),0}_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=e=>{if(UNWIND_CACHE.last_get_source_pc==e)return UNWIND_CACHE.last_source;var r,t;if(!t){var n=UNWIND_CACHE[e];if(!n)return null;(r=/\((.*):(\d+):(\d+)\)$/.exec(n))?t={file:r[1],line:r[2],column:r[3]}:(r=/@(.*):(\d+):(\d+)/.exec(n))&&(t={file:r[1],line:r[2],column:r[3]})}return UNWIND_CACHE.last_get_source_pc=e,UNWIND_CACHE.last_source=t,t};function _emscripten_pc_get_file(e){e>>>=0;var r=convertPCtoSourceLocation(e);return r?(_emscripten_pc_get_file.ret&&_free(_emscripten_pc_get_file.ret),_emscripten_pc_get_file.ret=stringToNewUTF8(r.file),_emscripten_pc_get_file.ret):0}_emscripten_pc_get_file.sig="pp";function _emscripten_pc_get_line(e){e>>>=0;var r=convertPCtoSourceLocation(e);return r?r.line:0}_emscripten_pc_get_line.sig="ip";function _emscripten_pc_get_column(e){e>>>=0;var r=convertPCtoSourceLocation(e);return r&&r.column||0}_emscripten_pc_get_column.sig="ip";function _random_get(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(225,0,1,e,r);e>>>=0,r>>>=0;try{return _getentropy(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return t.errno}}_random_get.sig="ipp";var checkWasiClock=e=>e==0||e==1||e==2||e==3;function _clock_time_get(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(226,0,1,e,r,t,n);var _=convertI32PairToI53Checked(r,t);if(n>>>=0,!checkWasiClock(e))return 28;var a;if(e===0)a=Date.now();else if(nowIsMonotonic)a=_emscripten_get_now();else return 52;var o=Math.round(a*1e3*1e3);return GROWABLE_HEAP_I32()[n>>>2>>>0]=o>>>0,GROWABLE_HEAP_I32()[n+4>>>2>>>0]=o/Math.pow(2,32)>>>0,0}_clock_time_get.sig="iiiip";function _clock_res_get(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(227,0,1,e,r);if(r>>>=0,!checkWasiClock(e))return 28;var t;if(e===0)t=1e6;else if(nowIsMonotonic)t=_emscripten_get_now_res();else return 52;return GROWABLE_HEAP_I32()[r>>>2>>>0]=t>>>0,GROWABLE_HEAP_I32()[r+4>>>2>>>0]=t/Math.pow(2,32)>>>0,0}_clock_res_get.sig="iip";var wasiRightsToMuslOFlags=e=>{if(e&2&&e&64)return 2;if(e&2)return 0;if(e&64)return 1;throw new FS.ErrnoError(28)},wasiOFlagsToMuslOFlags=e=>{var r=0;return e&1&&(r|=64),e&8&&(r|=512),e&2&&(r|=65536),e&4&&(r|=128),r},setImmediateWrapped=e=>{setImmediateWrapped.mapping||(setImmediateWrapped.mapping=[]);var r=setImmediateWrapped.mapping.length;return setImmediateWrapped.mapping[r]=setImmediate(()=>{setImmediateWrapped.mapping[r]=void 0,e()}),r},clearImmediateWrapped=e=>{clearImmediate(setImmediateWrapped.mapping[e]),setImmediateWrapped.mapping[e]=void 0},polyfillSetImmediate=()=>{},_emscripten_set_immediate=function(e,r){return e>>>=0,r>>>=0,runtimeKeepalivePush(),emSetImmediate(()=>{runtimeKeepalivePop(),callUserCallback(()=>getWasmTableEntry(e)(r))})};_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=e=>{runtimeKeepalivePop(),emClearImmediate(e)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=function(e,r){e>>>=0,r>>>=0;function t(){callUserCallback(()=>{getWasmTableEntry(e)(r)?emSetImmediate(t):runtimeKeepalivePop()})}runtimeKeepalivePush(),emSetImmediate(t)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_clear_timeout=clearTimeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=function(e,r,t){e>>>=0,t>>>=0;function n(){var _=_emscripten_get_now(),a=_+r;runtimeKeepalivePop(),callUserCallback(()=>{getWasmTableEntry(e)(_,t)&&(runtimeKeepalivePush(),setTimeout(n,a-_emscripten_get_now()))})}return runtimeKeepalivePush(),setTimeout(n,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=function(e,r,t){return e>>>=0,t>>>=0,runtimeKeepalivePush(),setInterval(()=>{callUserCallback(()=>getWasmTableEntry(e)(t))},r)};_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=e=>{runtimeKeepalivePop(),clearInterval(e)};_emscripten_clear_interval.sig="vi";var idsToPromises=(e,r)=>{for(var t=[],n=0;n>>2>>>0];t[n]=getPromise(_)}return t},makePromiseCallback=(e,r)=>t=>{runtimeKeepalivePop();var n=stackSave(),_=stackAlloc(POINTER_SIZE);GROWABLE_HEAP_U32()[_>>>2>>>0]=0;try{var a=getWasmTableEntry(e)(_,r,t),o=GROWABLE_HEAP_U32()[_>>>2>>>0]}catch(c){throw typeof c!="number"?0:c}finally{stackRestore(n)}switch(a){case 0:return o;case 1:return getPromise(o);case 2:var l=getPromise(o);return _emscripten_promise_destroy(o),l;case 3:throw o}};function _emscripten_promise_then(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0,runtimeKeepalivePush();var _=getPromise(e),a=promiseMap.allocate({promise:_.then(makePromiseCallback(r,n),makePromiseCallback(t,n))});return a}_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=idsToPromises(e,t),_=promiseMap.allocate({promise:Promise.all(n).then(a=>{if(r)for(var o=0;o>>2>>>0]=l}return r})});return _};_emscripten_promise_all.sig="pppp";var setPromiseResult=(e,r,t)=>{var n=r?0:3;GROWABLE_HEAP_I32()[e>>>2>>>0]=n,GROWABLE_HEAP_U32()[e+4>>>2>>>0]=t},_emscripten_promise_all_settled=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=idsToPromises(e,t),_=promiseMap.allocate({promise:Promise.allSettled(n).then(a=>{if(r)for(var o=r,l=0;l>>=0,r>>>=0,t>>>=0;var n=idsToPromises(e,t),_=promiseMap.allocate({promise:Promise.any(n).catch(a=>{if(r)for(var o=0;o>>2>>>0]=a.errors[o];throw r})});return _};_emscripten_promise_any.sig="pppp";function _emscripten_promise_race(e,r){e>>>=0,r>>>=0;var t=idsToPromises(e,r),n=promiseMap.allocate({promise:Promise.race(t)});return n}_emscripten_promise_race.sig="ppp";function _emscripten_promise_await(e,r){e>>>=0,r>>>=0,abort("emscripten_promise_await is only available with ASYNCIFY")}_emscripten_promise_await.sig="vpp";var getExceptionMessageCommon=e=>withStackSave(()=>{var r=stackAlloc(4),t=stackAlloc(4);___get_exception_message(e,r,t);var n=GROWABLE_HEAP_U32()[r>>>2>>>0],_=GROWABLE_HEAP_U32()[t>>>2>>>0],a=UTF8ToString(n);_free(n);var o;return _&&(o=UTF8ToString(_),_free(_)),[a,o]}),getCppExceptionTag=()=>___cpp_exception,getCppExceptionThrownObjectFromWebAssemblyException=e=>{var r=e.getArg(getCppExceptionTag(),0);return ___thrown_object_from_unwind_exception(r)},incrementExceptionRefcount=e=>{var r=getCppExceptionThrownObjectFromWebAssemblyException(e);___cxa_increment_exception_refcount(r)},decrementExceptionRefcount=e=>{var r=getCppExceptionThrownObjectFromWebAssemblyException(e);___cxa_decrement_exception_refcount(r)},getExceptionMessage=e=>{var r=getCppExceptionThrownObjectFromWebAssemblyException(e);return getExceptionMessageCommon(r)},_emscripten_run_preload_plugins=function(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(228,0,1,e,r,t);e>>>=0,r>>>=0,t>>>=0,runtimeKeepalivePush();var n=UTF8ToString(e),_=FS.analyzePath(n);return _.exists?(FS.createPreloadedFile(PATH.dirname(n),PATH.basename(n),new Uint8Array(_.object.contents),!0,!0,()=>{runtimeKeepalivePop(),r&&getWasmTableEntry(r)(e)},()=>{runtimeKeepalivePop(),t&&getWasmTableEntry(t)(e)},!0),0):-1};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0,_emscripten_run_preload_plugins_data=function(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(229,0,1,e,r,t,n,_,a);e>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,runtimeKeepalivePush();var o=UTF8ToString(t),l="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+o,c=stringToNewUTF8(l);FS.createPreloadedFile("/",l,GROWABLE_HEAP_U8().subarray(e>>>0,e+r>>>0),!0,!0,()=>{runtimeKeepalivePop(),_&&getWasmTableEntry(_)(n,c)},()=>{runtimeKeepalivePop(),a&&getWasmTableEntry(a)(n)},!0)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=function(e,r){e>>>=0,safeSetTimeout(()=>_emscripten_run_script(e),r)};_emscripten_async_run_script.sig="vpi";function _emscripten_async_load_script(url,onload,onerror){if(url>>>=0,onload>>>=0,onerror>>>=0,url=UTF8ToString(url),onload=getWasmTableEntry(onload),onerror=getWasmTableEntry(onerror),ENVIRONMENT_IS_PTHREAD)return err('emscripten_async_load_script("'.concat(url,'") failed, emscripten_async_load_script is currently not available in pthreads!')),onerror?onerror():void 0;runtimeKeepalivePush();var loadDone=()=>{runtimeKeepalivePop(),onload&&(runDependencies>0?dependenciesFulfilled=onload:onload())},loadError=()=>{runtimeKeepalivePop(),onerror==null||onerror()};if(ENVIRONMENT_IS_NODE){readAsync(url,data=>{eval(data),loadDone()},loadError,!1);return}var script=document.createElement("script");script.onload=loadDone,script.onerror=loadError,script.src=url,document.body.appendChild(script)}_emscripten_async_load_script.sig="vppp";function _emscripten_get_main_loop_timing(e,r){e>>>=0,r>>>=0,e&&(GROWABLE_HEAP_I32()[e>>>2>>>0]=Browser.mainLoop.timingMode),r&&(GROWABLE_HEAP_I32()[r>>>2>>>0]=Browser.mainLoop.timingValue)}_emscripten_get_main_loop_timing.sig="vpp";function _emscripten_set_main_loop(e,r,t){e>>>=0;var n=getWasmTableEntry(e);setMainLoop(n,r,t)}_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=function(e,r,t,n){e>>>=0,r>>>=0;var _=()=>getWasmTableEntry(e)(r);setMainLoop(_,t,n,r)};_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{Browser.mainLoop.pause(),Browser.mainLoop.func=null};_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>{Browser.mainLoop.pause()};_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>{Browser.mainLoop.resume()};_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,Browser.mainLoop.queue.push({func:()=>{getWasmTableEntry(e)(r)},name:UTF8ToString(t),counted:!0}),Browser.mainLoop.updateStatus()};__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,Browser.mainLoop.queue.push({func:()=>{getWasmTableEntry(e)(r)},name:UTF8ToString(t),counted:!1}),Browser.mainLoop.updateStatus()};__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=e=>{Browser.mainLoop.expectedBlockers=e,Browser.mainLoop.remainingBlockers=e,Browser.mainLoop.updateStatus()};_emscripten_set_main_loop_expected_blockers.sig="vi";function _emscripten_async_call(e,r,t){e>>>=0,r>>>=0;function n(){getWasmTableEntry(e)(r)}t>=0||ENVIRONMENT_IS_NODE?safeSetTimeout(n,t):Browser.safeRequestAnimationFrame(n)}_emscripten_async_call.sig="vppi";function _emscripten_get_window_title(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(230,0,1);var e=256;return _emscripten_get_window_title.buffer||(_emscripten_get_window_title.buffer=_malloc(e)),stringToUTF8(document.title,_emscripten_get_window_title.buffer,e),_emscripten_get_window_title.buffer}_emscripten_get_window_title.sig="p";function _emscripten_set_window_title(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(231,0,1,e):(e>>>=0,document.title=UTF8ToString(e))}_emscripten_set_window_title.sig="vp";function _emscripten_get_screen_size(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(232,0,1,e,r);e>>>=0,r>>>=0,GROWABLE_HEAP_I32()[e>>>2>>>0]=screen.width,GROWABLE_HEAP_I32()[r>>>2>>>0]=screen.height}_emscripten_get_screen_size.sig="vpp";function _emscripten_hide_mouse(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(233,0,1);for(var e=document.styleSheets[0],r=e.cssRules,t=0;t>>=0,r>>>=0,t>>>=0;var n=Module.canvas;GROWABLE_HEAP_I32()[e>>>2>>>0]=n.width,GROWABLE_HEAP_I32()[r>>>2>>>0]=n.height,GROWABLE_HEAP_I32()[t>>>2>>>0]=Browser.isFullscreen?1:0}_emscripten_get_canvas_size.sig="vppp";function _emscripten_create_worker(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(236,0,1,e);e>>>=0,e=UTF8ToString(e);var r=Browser.workers.length,t={worker:new Worker(e),callbacks:[],awaited:0,buffer:0,bufferSize:0};return t.worker.onmessage=function(_){if(!ABORT){var a=Browser.workers[r];if(a){var o=_.data.callbackId,l=a.callbacks[o];if(l){_.data.finalResponse&&(a.awaited--,a.callbacks[o]=null,runtimeKeepalivePop());var c=_.data.data;c?(c.byteLength||(c=new Uint8Array(c)),(!a.buffer||a.bufferSize>>0),l.func(a.buffer,c.length,l.arg)):l.func(0,0,l.arg)}}}},Browser.workers.push(t),r}_emscripten_create_worker.sig="ip";function _emscripten_destroy_worker(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(237,0,1,e);var r=Browser.workers[e];r.worker.terminate(),r.buffer&&_free(r.buffer),Browser.workers[e]=null}_emscripten_destroy_worker.sig="vi";function _emscripten_call_worker(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(238,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0,_>>>=0,a>>>=0,r=UTF8ToString(r);var o=Browser.workers[e],l=-1;_&&(runtimeKeepalivePush(),l=o.callbacks.length,o.callbacks.push({func:getWasmTableEntry(_),arg:a}),o.awaited++);var c={funcName:r,callbackId:l,data:t?new Uint8Array(GROWABLE_HEAP_U8().subarray(t>>>0,t+n>>>0)):0};t?o.worker.postMessage(c,[c.data.buffer]):o.worker.postMessage(c)}_emscripten_call_worker.sig="vippipp";function _emscripten_get_worker_queue_size(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(239,0,1,e);var r=Browser.workers[e];return r?r.awaited:-1}_emscripten_get_worker_queue_size.sig="ii";var getPreloadedImageData=(e,r,t)=>{e=PATH_FS.resolve(e);var n=preloadedImages[e];if(!n)return 0;var _=n.getContext("2d"),a=_.getImageData(0,0,n.width,n.height),o=_malloc(n.width*n.height*4);return GROWABLE_HEAP_U8().set(a.data,o>>>0),GROWABLE_HEAP_I32()[r>>>2>>>0]=n.width,GROWABLE_HEAP_I32()[t>>>2>>>0]=n.height,o};function _emscripten_get_preloaded_image_data(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(240,0,1,e,r,t):(e>>>=0,r>>>=0,t>>>=0,getPreloadedImageData(UTF8ToString(e),r,t))}_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"];function _emscripten_get_preloaded_image_data_from_FILE(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(241,0,1,e,r,t);e>>>=0,r>>>=0,t>>>=0;var n=_fileno(e),_=FS.getStream(n);return _?getPreloadedImageData(_.path,r,t):0}_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var e=wget.nextWgetRequestHandle;return wget.nextWgetRequestHandle++,e}},FS_mkdirTree=(e,r)=>FS.mkdirTree(e,r),FS_unlink=e=>FS.unlink(e),_emscripten_async_wget=function(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(242,0,1,e,r,t,n);e>>>=0,r>>>=0,t>>>=0,n>>>=0,runtimeKeepalivePush();var _=UTF8ToString(e),a=UTF8ToString(r);a=PATH_FS.resolve(a);function o(c){c&&(runtimeKeepalivePop(),callUserCallback(()=>{withStackSave(()=>{getWasmTableEntry(c)(stringToUTF8OnStack(a))})}))}var l=PATH.dirname(a);FS_createPreloadedFile(l,PATH.basename(a),_,!0,!0,()=>o(t),()=>o(n),!1,!1,()=>{try{FS_unlink(a)}catch(c){}FS_mkdirTree(l)})};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=function(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(243,0,1,e,r,t,n);e>>>=0,r>>>=0,t>>>=0,n>>>=0,runtimeKeepalivePush(),asyncLoad(UTF8ToString(e),_=>{runtimeKeepalivePop(),callUserCallback(()=>{var a=_malloc(_.length);GROWABLE_HEAP_U8().set(_,a>>>0),getWasmTableEntry(t)(r,a,_.length),_free(a)})},()=>{n&&(runtimeKeepalivePop(),callUserCallback(()=>{getWasmTableEntry(n)(r)}))},!0)};_emscripten_async_wget_data.sig="vpppp";var _emscripten_async_wget2=function(e,r,t,n,_,a,o,l){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(244,0,1,e,r,t,n,_,a,o,l);e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,o>>>=0,l>>>=0,runtimeKeepalivePush();var c=UTF8ToString(e),u=UTF8ToString(r);u=PATH_FS.resolve(u);var d=UTF8ToString(t),p=UTF8ToString(n),f=u.lastIndexOf("/"),g=new XMLHttpRequest;g.open(d,c,!0),g.responseType="arraybuffer";var E=wget.getNextWgetRequestHandle(),v=PATH.dirname(u);return g.onload=b=>{if(runtimeKeepalivePop(),g.status>=200&&g.status<300){try{FS.unlink(u)}catch(D){}FS.mkdirTree(v),FS.createDataFile(u.substr(0,f),u.substr(f+1),new Uint8Array(g.response),!0,!0,!1),a&&withStackSave(()=>{getWasmTableEntry(a)(E,_,stringToUTF8OnStack(u))})}else o&&getWasmTableEntry(o)(E,_,g.status);delete wget.wgetRequests[E]},g.onerror=b=>{runtimeKeepalivePop(),o&&getWasmTableEntry(o)(E,_,g.status),delete wget.wgetRequests[E]},g.onprogress=b=>{if(b.lengthComputable||b.lengthComputable===void 0&&b.total!=0){var D=b.loaded/b.total*100;l&&getWasmTableEntry(l)(E,_,D)}},g.onabort=b=>{runtimeKeepalivePop(),delete wget.wgetRequests[E]},d=="POST"?(g.setRequestHeader("Content-type","application/x-www-form-urlencoded"),g.send(p)):g.send(null),wget.wgetRequests[E]=g,E};_emscripten_async_wget2.sig="ipppppppp";var _emscripten_async_wget2_data=function(e,r,t,n,_,a,o,l){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(245,0,1,e,r,t,n,_,a,o,l);e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,l>>>=0;var c=UTF8ToString(e),u=UTF8ToString(r),d=UTF8ToString(t),p=new XMLHttpRequest;p.open(u,c,!0),p.responseType="arraybuffer";var f=wget.getNextWgetRequestHandle();function g(){o&&withStackSave(()=>{var E=0;p.statusText&&(E=stringToUTF8OnStack(p.statusText)),getWasmTableEntry(o)(f,n,p.status,E)})}return p.onload=E=>{if(p.status>=200&&p.status<300||p.status===0&&c.substr(0,4).toLowerCase()!="http"){var v=new Uint8Array(p.response),b=_malloc(v.length);GROWABLE_HEAP_U8().set(v,b>>>0),a&&getWasmTableEntry(a)(f,n,b,v.length),_&&_free(b)}else g();delete wget.wgetRequests[f]},p.onerror=E=>{g(),delete wget.wgetRequests[f]},p.onprogress=E=>{l&&getWasmTableEntry(l)(f,n,E.loaded,E.lengthComputable||E.lengthComputable===void 0?E.total:0)},p.onabort=E=>{delete wget.wgetRequests[f]},u=="POST"?(p.setRequestHeader("Content-type","application/x-www-form-urlencoded"),p.send(d)):p.send(null),wget.wgetRequests[f]=p,f};_emscripten_async_wget2_data.sig="ippppippp";function _emscripten_async_wget2_abort(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(246,0,1,e);var r=wget.wgetRequests[e];r==null||r.abort()}_emscripten_async_wget2_abort.sig="vi";var _setNetworkCallback=(e,r,t)=>{function n(_){try{e==="error"?withStackSave(function(){var a=stringToUTF8OnStack(_[2]);getWasmTableEntry(t)(_[0],_[1],a,r)}):getWasmTableEntry(t)(_,r)}catch(a){if(!(a instanceof ExitStatus))throw a&&typeof a=="object"&&a.stack&&err("exception thrown: "+[a,a.stack]),a}}runtimeKeepalivePush(),Module.websocket.on(e,t?n:null)};function _emscripten_set_socket_error_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("error",e,r)}_emscripten_set_socket_error_callback.sig="vpp";function _emscripten_set_socket_open_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("open",e,r)}_emscripten_set_socket_open_callback.sig="vpp";function _emscripten_set_socket_listen_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("listen",e,r)}_emscripten_set_socket_listen_callback.sig="vpp";function _emscripten_set_socket_connection_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("connection",e,r)}_emscripten_set_socket_connection_callback.sig="vpp";function _emscripten_set_socket_message_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("message",e,r)}_emscripten_set_socket_message_callback.sig="vpp";function _emscripten_set_socket_close_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("close",e,r)}_emscripten_set_socket_close_callback.sig="vpp";function _emscripten_webgl_enable_ANGLE_instanced_arrays(e){return e>>>=0,webgl_enable_ANGLE_instanced_arrays(GL.contexts[e].GLctx)}_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";function _emscripten_webgl_enable_OES_vertex_array_object(e){return e>>>=0,webgl_enable_OES_vertex_array_object(GL.contexts[e].GLctx)}_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";function _emscripten_webgl_enable_WEBGL_draw_buffers(e){return e>>>=0,webgl_enable_WEBGL_draw_buffers(GL.contexts[e].GLctx)}_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";function _emscripten_webgl_enable_WEBGL_multi_draw(e){return e>>>=0,webgl_enable_WEBGL_multi_draw(GL.contexts[e].GLctx)}_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";function _glVertexPointer(e,r,t,n){throw n>>>=0,"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."}_glVertexPointer.sig="viiip";var _glMatrixMode=()=>{throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glMatrixMode.sig="vi";var _glBegin=()=>{throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glBegin.sig="vi";var _glLoadIdentity=()=>{throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glLoadIdentity.sig="v";var _glVertexAttribDivisorNV=_glVertexAttribDivisor,_glDrawArraysInstancedNV=_glDrawArraysInstanced,_glDrawElementsInstancedNV=_glDrawElementsInstanced,_glVertexAttribDivisorEXT=_glVertexAttribDivisor,_glDrawArraysInstancedEXT=_glDrawArraysInstanced,_glDrawElementsInstancedEXT=_glDrawElementsInstanced,_glVertexAttribDivisorARB=_glVertexAttribDivisor,_glDrawArraysInstancedARB=_glDrawArraysInstanced,_glDrawElementsInstancedARB=_glDrawElementsInstanced,_glDrawBuffersEXT=_glDrawBuffers;function _glMultiDrawArraysWEBGL(e,r,t,n){r>>>=0,t>>>=0,GLctx.multiDrawWebgl.multiDrawArraysWEBGL(e,GROWABLE_HEAP_I32(),r>>>2,GROWABLE_HEAP_I32(),t>>>2,n)}_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;function _glMultiDrawArraysInstancedWEBGL(e,r,t,n,_){r>>>=0,t>>>=0,n>>>=0,GLctx.multiDrawWebgl.multiDrawArraysInstancedWEBGL(e,GROWABLE_HEAP_I32(),r>>>2,GROWABLE_HEAP_I32(),t>>>2,GROWABLE_HEAP_I32(),n>>>2,_)}_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;function _glMultiDrawElementsWEBGL(e,r,t,n,_){r>>>=0,n>>>=0,GLctx.multiDrawWebgl.multiDrawElementsWEBGL(e,GROWABLE_HEAP_I32(),r>>>2,t,GROWABLE_HEAP_I32(),n>>>2,_)}_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;function _glMultiDrawElementsInstancedWEBGL(e,r,t,n,_,a){r>>>=0,n>>>=0,_>>>=0,GLctx.multiDrawWebgl.multiDrawElementsInstancedWEBGL(e,GROWABLE_HEAP_I32(),r>>>2,t,GROWABLE_HEAP_I32(),n>>>2,GROWABLE_HEAP_I32(),_>>>2,a)}_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL,_glClearDepth=e=>GLctx.clearDepth(e);_glClearDepth.sig="vd";var _glDepthRange=(e,r)=>GLctx.depthRange(e,r);_glDepthRange.sig="vdd";var _emscripten_glGenVertexArrays=_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vip";var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vip";var _emscripten_glBindVertexArray=_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";var _emscripten_glIsVertexArray=_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";var _emscripten_glVertexPointer=_glVertexPointer;_emscripten_glVertexPointer.sig="viiip";var _emscripten_glMatrixMode=_glMatrixMode;_emscripten_glMatrixMode.sig="vi";var _emscripten_glBegin=_glBegin;_emscripten_glBegin.sig="vi";var _emscripten_glLoadIdentity=_glLoadIdentity;_emscripten_glLoadIdentity.sig="v";var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiipi";var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV,_emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV,_emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV,_emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT,_emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT,_emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT,_emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB,_emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB,_emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB,_emscripten_glDrawBuffers=_glDrawBuffers;_emscripten_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT,_emscripten_glMultiDrawArrays=_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE,_emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL,_emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE,_emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL,_emscripten_glMultiDrawElements=_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE,_emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL,_emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE,_emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL,_emscripten_glClearDepth=_glClearDepth;_emscripten_glClearDepth.sig="vd";var _emscripten_glDepthRange=_glDepthRange;_emscripten_glDepthRange.sig="vdd";var writeGLArray=(e,r,t,n)=>{var _=e.length,a=t<_?t:_,o=n?GROWABLE_HEAP_F32():GROWABLE_HEAP_I32();r=r>>>2;for(var l=0;l>>0]=e[l];return _},webglPowerPreferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(e,r){e>>>=0,r>>>=0;var t=r>>>2,n=GROWABLE_HEAP_I32()[t+6>>>0],_={alpha:!!GROWABLE_HEAP_I32()[t+0>>>0],depth:!!GROWABLE_HEAP_I32()[t+1>>>0],stencil:!!GROWABLE_HEAP_I32()[t+2>>>0],antialias:!!GROWABLE_HEAP_I32()[t+3>>>0],premultipliedAlpha:!!GROWABLE_HEAP_I32()[t+4>>>0],preserveDrawingBuffer:!!GROWABLE_HEAP_I32()[t+5>>>0],powerPreference:webglPowerPreferences[n],failIfMajorPerformanceCaveat:!!GROWABLE_HEAP_I32()[t+7>>>0],majorVersion:GROWABLE_HEAP_I32()[t+8>>>0],minorVersion:GROWABLE_HEAP_I32()[t+9>>>0],enableExtensionsByDefault:GROWABLE_HEAP_I32()[t+10>>>0],explicitSwapControl:GROWABLE_HEAP_I32()[t+11>>>0],proxyContextToMainThread:GROWABLE_HEAP_I32()[t+12>>>0],renderViaOffscreenBackBuffer:GROWABLE_HEAP_I32()[t+13>>>0]},a=findCanvasEventTarget(e);if(!a||_.explicitSwapControl)return 0;var o=GL.createContext(a,_);return o}_emscripten_webgl_do_create_context.sig="ppp";var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;_emscripten_webgl_create_context.sig="ppp";function _emscripten_webgl_do_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}_emscripten_webgl_do_get_current_context.sig="p";var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;_emscripten_webgl_get_current_context.sig="p";var _emscripten_webgl_do_commit_frame=()=>!GL.currentContext||!GL.currentContext.GLctx||!GL.currentContext.attributes.explicitSwapControl?-3:0;_emscripten_webgl_do_commit_frame.sig="i";var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;_emscripten_webgl_commit_frame.sig="i";function _emscripten_webgl_make_context_current(e){e>>>=0;var r=GL.makeContextCurrent(e);return r?0:-5}_emscripten_webgl_make_context_current.sig="ip";function _emscripten_webgl_get_drawing_buffer_size(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=GL.getContext(e);return!n||!n.GLctx||!r||!t?-5:(GROWABLE_HEAP_I32()[r>>>2>>>0]=n.GLctx.drawingBufferWidth,GROWABLE_HEAP_I32()[t>>>2>>>0]=n.GLctx.drawingBufferHeight,0)}_emscripten_webgl_get_drawing_buffer_size.sig="ippp";function _emscripten_webgl_get_context_attributes(e,r){if(e>>>=0,r>>>=0,!r)return-5;if(e=GL.contexts[e],!e)return-3;var t=e.GLctx;if(!t)return-3;t=t.getContextAttributes(),GROWABLE_HEAP_I32()[r>>>2>>>0]=t.alpha,GROWABLE_HEAP_I32()[r+4>>>2>>>0]=t.depth,GROWABLE_HEAP_I32()[r+8>>>2>>>0]=t.stencil,GROWABLE_HEAP_I32()[r+12>>>2>>>0]=t.antialias,GROWABLE_HEAP_I32()[r+16>>>2>>>0]=t.premultipliedAlpha,GROWABLE_HEAP_I32()[r+20>>>2>>>0]=t.preserveDrawingBuffer;var n=t.powerPreference&&webglPowerPreferences.indexOf(t.powerPreference);return GROWABLE_HEAP_I32()[r+24>>>2>>>0]=n,GROWABLE_HEAP_I32()[r+28>>>2>>>0]=t.failIfMajorPerformanceCaveat,GROWABLE_HEAP_I32()[r+32>>>2>>>0]=e.version,GROWABLE_HEAP_I32()[r+36>>>2>>>0]=0,GROWABLE_HEAP_I32()[r+40>>>2>>>0]=e.attributes.enableExtensionsByDefault,0}_emscripten_webgl_get_context_attributes.sig="ipp";function _emscripten_webgl_destroy_context(e){e>>>=0,GL.currentContext==e&&(GL.currentContext=0),GL.deleteContext(e)}_emscripten_webgl_destroy_context.sig="ip";var emscripten_webgl_destroy_context_before_on_calling_thread=e=>{_emscripten_webgl_get_current_context()==e&&_emscripten_webgl_make_context_current(0)};function _emscripten_webgl_enable_extension(e,r){e>>>=0,r>>>=0;var t=GL.getContext(e),n=UTF8ToString(r);n.startsWith("GL_")&&(n=n.substr(3)),n=="ANGLE_instanced_arrays"&&webgl_enable_ANGLE_instanced_arrays(GLctx),n=="OES_vertex_array_object"&&webgl_enable_OES_vertex_array_object(GLctx),n=="WEBGL_draw_buffers"&&webgl_enable_WEBGL_draw_buffers(GLctx),n=="WEBGL_multi_draw"&&webgl_enable_WEBGL_multi_draw(GLctx);var _=t.GLctx.getExtension(n);return!!_}_emscripten_webgl_enable_extension.sig="ipp";var _emscripten_supports_offscreencanvas=()=>0;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(e,r,t,n,_,a,o)=>{o=JSEvents.getTargetThreadForEventCallback(o);var l=(u=event)=>{o?__emscripten_run_callback_on_thread(o,n,_,0,r):getWasmTableEntry(n)(_,0,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:a,callbackfunc:n,handlerFunc:l,useCapture:t};JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_webglcontextlost_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(247,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerWebGlEventCallback(e,r,t,n,31,"webglcontextlost",_),0)}_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";function _emscripten_set_webglcontextrestored_callback_on_thread(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(248,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,n>>>=0,_>>>=0,registerWebGlEventCallback(e,r,t,n,32,"webglcontextrestored",_),0)}_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";function _emscripten_is_webgl_context_lost(e){return e>>>=0,!GL.contexts[e]||GL.contexts[e].GLctx.isContextLost()}_emscripten_is_webgl_context_lost.sig="ip";function _emscripten_webgl_get_supported_extensions(){return stringToNewUTF8(GLctx.getSupportedExtensions().join(" "))}_emscripten_webgl_get_supported_extensions.sig="p";var _emscripten_webgl_get_program_parameter_d=(e,r)=>GLctx.getProgramParameter(GL.programs[e],r);_emscripten_webgl_get_program_parameter_d.sig="dii";function _emscripten_webgl_get_program_info_log_utf8(e){return stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[e]))}_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(e,r)=>GLctx.getShaderParameter(GL.shaders[e],r);_emscripten_webgl_get_shader_parameter_d.sig="dii";function _emscripten_webgl_get_shader_info_log_utf8(e){return stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[e]))}_emscripten_webgl_get_shader_info_log_utf8.sig="pi";function _emscripten_webgl_get_shader_source_utf8(e){return stringToNewUTF8(GLctx.getShaderSource(GL.shaders[e]))}_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(e,r)=>GLctx.getVertexAttrib(e,r);_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(e,r)=>{var t=GLctx.getVertexAttrib(e,r);return t==null?void 0:t.name};_emscripten_webgl_get_vertex_attrib_o.sig="iii";function _emscripten_webgl_get_vertex_attrib_v(e,r,t,n,_){return t>>>=0,writeGLArray(GLctx.getVertexAttrib(e,r),t,n,_)}_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(e,r)=>GLctx.getUniform(GL.programs[e],webglGetUniformLocation(r));_emscripten_webgl_get_uniform_d.sig="dii";function _emscripten_webgl_get_uniform_v(e,r,t,n,_){return t>>>=0,writeGLArray(GLctx.getUniform(GL.programs[e],webglGetUniformLocation(r)),t,n,_)}_emscripten_webgl_get_uniform_v.sig="iiipii";function _emscripten_webgl_get_parameter_v(e,r,t,n){return r>>>=0,writeGLArray(GLctx.getParameter(e),r,t,n)}_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=e=>GLctx.getParameter(e);_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=e=>{var r=GLctx.getParameter(e);return r==null?void 0:r.name};_emscripten_webgl_get_parameter_o.sig="ii";function _emscripten_webgl_get_parameter_utf8(e){return stringToNewUTF8(GLctx.getParameter(e))}_emscripten_webgl_get_parameter_utf8.sig="pi";function _emscripten_webgl_get_parameter_i64v(e,r){return r>>>=0,writeI53ToI64(r,GLctx.getParameter(e))}_emscripten_webgl_get_parameter_i64v.sig="vip";function _glutPostRedisplay(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(249,0,1);GLUT.displayFunc&&!GLUT.requestedAnimationFrame&&(GLUT.requestedAnimationFrame=!0,Browser.requestAnimationFrame(function(){GLUT.requestedAnimationFrame=!1,Browser.mainLoop.runIter(function(){getWasmTableEntry(GLUT.displayFunc)()})}))}_glutPostRedisplay.sig="v";var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:!1,saveModifiers:e=>{GLUT.modifiers=0,e.shiftKey&&(GLUT.modifiers+=1),e.ctrlKey&&(GLUT.modifiers+=2),e.altKey&&(GLUT.modifiers+=4)},onMousemove:e=>{var r=Browser.mouseX,t=Browser.mouseY;Browser.calculateMouseEvent(e);var n=Browser.mouseX,_=Browser.mouseY;n==r&&_==t||(GLUT.buttons==0&&e.target==Module.canvas&&GLUT.passiveMotionFunc?(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.passiveMotionFunc)(r,t)):GLUT.buttons!=0&&GLUT.motionFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.motionFunc)(r,t)))},getSpecialKey:e=>{var r=null;switch(e){case 8:r=120;break;case 46:r=111;break;case 112:r=1;break;case 113:r=2;break;case 114:r=3;break;case 115:r=4;break;case 116:r=5;break;case 117:r=6;break;case 118:r=7;break;case 119:r=8;break;case 120:r=9;break;case 121:r=10;break;case 122:r=11;break;case 123:r=12;break;case 37:r=100;break;case 38:r=101;break;case 39:r=102;break;case 40:r=103;break;case 33:r=104;break;case 34:r=105;break;case 36:r=106;break;case 35:r=107;break;case 45:r=108;break;case 16:case 5:r=112;break;case 6:r=113;break;case 17:case 3:r=114;break;case 4:r=115;break;case 18:case 2:r=116;break;case 1:r=117;break}return r},getASCIIKey:e=>{if(e.ctrlKey||e.altKey||e.metaKey)return null;var r=e.keyCode;if(48<=r&&r<=57)return r;if(65<=r&&r<=90)return e.shiftKey?r:r+32;if(96<=r&&r<=105)return r-48;if(106<=r&&r<=111)return r-106+42;switch(r){case 9:case 13:case 27:case 32:case 61:return r}var t=e.shiftKey;switch(r){case 186:return t?58:59;case 187:return t?43:61;case 188:return t?60:44;case 189:return t?95:45;case 190:return t?62:46;case 191:return t?63:47;case 219:return t?123:91;case 220:return t?124:47;case 221:return t?125:93;case 222:return t?34:39}return null},onKeydown:e=>{if(GLUT.specialFunc||GLUT.keyboardFunc){var r=GLUT.getSpecialKey(e.keyCode);r!==null?GLUT.specialFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.specialFunc)(r,Browser.mouseX,Browser.mouseY)):(r=GLUT.getASCIIKey(e),r!==null&&GLUT.keyboardFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.keyboardFunc)(r,Browser.mouseX,Browser.mouseY)))}},onKeyup:e=>{if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var r=GLUT.getSpecialKey(e.keyCode);r!==null?GLUT.specialUpFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.specialUpFunc)(r,Browser.mouseX,Browser.mouseY)):(r=GLUT.getASCIIKey(e),r!==null&&GLUT.keyboardUpFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.keyboardUpFunc)(r,Browser.mouseX,Browser.mouseY)))}},touchHandler:e=>{if(e.target==Module.canvas){var r=e.changedTouches,t=r[0],n="";switch(e.type){case"touchstart":n="mousedown";break;case"touchmove":n="mousemove";break;case"touchend":n="mouseup";break;default:return}var _=document.createEvent("MouseEvent");_.initMouseEvent(n,!0,!0,window,1,t.screenX,t.screenY,t.clientX,t.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(_),e.preventDefault()}},onMouseButtonDown:e=>{if(Browser.calculateMouseEvent(e),GLUT.buttons|=1<{Browser.calculateMouseEvent(e),GLUT.buttons&=~(1<{Browser.calculateMouseEvent(e);var r=window.event||e,t=-Browser.getMouseWheelDelta(e);t=t==0?0:t>0?Math.max(t,1):Math.min(t,-1);var n=3;t<0&&(n=4),GLUT.mouseFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(n,0,Browser.mouseX,Browser.mouseY))},onFullscreenEventChange:e=>{var r,t;document.fullscreen||document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen?(r=screen.width,t=screen.height):(r=GLUT.windowWidth,t=GLUT.windowHeight,document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,!0),document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,!0),document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,!0)),Browser.setCanvasSize(r,t,!0),GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(r,t),_glutPostRedisplay()}};function _glutGetModifiers(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(250,0,1):GLUT.modifiers}_glutGetModifiers.sig="i";function _glutInit(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(251,0,1,e,r);e>>>=0,r>>>=0,GLUT.initTime=Date.now();var t="ontouchstart"in document.documentElement;t&&(window.addEventListener("touchmove",GLUT.touchHandler,!0),window.addEventListener("touchstart",GLUT.touchHandler,!0),window.addEventListener("touchend",GLUT.touchHandler,!0)),window.addEventListener("keydown",GLUT.onKeydown,!0),window.addEventListener("keyup",GLUT.onKeyup,!0),window.addEventListener("mousemove",GLUT.onMousemove,!0),window.addEventListener("mousedown",GLUT.onMouseButtonDown,!0),window.addEventListener("mouseup",GLUT.onMouseButtonUp,!0),window.addEventListener("mousewheel",GLUT.onMouseWheel,!0),window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,!0),Browser.resizeListeners.push(function(n,_){GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(n,_)}),__ATEXIT__.push(function(){t&&(window.removeEventListener("touchmove",GLUT.touchHandler,!0),window.removeEventListener("touchstart",GLUT.touchHandler,!0),window.removeEventListener("touchend",GLUT.touchHandler,!0)),window.removeEventListener("keydown",GLUT.onKeydown,!0),window.removeEventListener("keyup",GLUT.onKeyup,!0),window.removeEventListener("mousemove",GLUT.onMousemove,!0),window.removeEventListener("mousedown",GLUT.onMouseButtonDown,!0),window.removeEventListener("mouseup",GLUT.onMouseButtonUp,!0),window.removeEventListener("mousewheel",GLUT.onMouseWheel,!0),window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,!0),Module.canvas.width=Module.canvas.height=1})}_glutInit.sig="vpp";function _glutInitWindowSize(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(252,0,1,e,r);Browser.setCanvasSize(GLUT.initWindowWidth=e,GLUT.initWindowHeight=r)}_glutInitWindowSize.sig="vii";function _glutInitWindowPosition(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(253,0,1,e,r)}_glutInitWindowPosition.sig="vii";var _glutGet=e=>{switch(e){case 100:return 0;case 101:return 0;case 102:return Module.canvas.width;case 103:return Module.canvas.height;case 200:return Module.canvas.width;case 201:return Module.canvas.height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var r=Date.now();return r-GLUT.initTime;case 105:return Module.ctx.getContextAttributes().stencil?8:0;case 106:return Module.ctx.getContextAttributes().depth?8:0;case 110:return Module.ctx.getContextAttributes().alpha?8:0;case 120:return Module.ctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+e+") not implemented yet"}};_glutGet.sig="ii";function _glutIdleFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(254,0,1,e);e>>>=0;function r(){GLUT.idleFunc&&(getWasmTableEntry(GLUT.idleFunc)(),safeSetTimeout(r,4))}GLUT.idleFunc||safeSetTimeout(r,0),GLUT.idleFunc=e}_glutIdleFunc.sig="vp";var _glutTimerFunc=function(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(255,0,1,e,r,t):(r>>>=0,safeSetTimeout(()=>getWasmTableEntry(r)(t),e))};_glutTimerFunc.sig="vipi";function _glutDisplayFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(256,0,1,e);e>>>=0,GLUT.displayFunc=e}_glutDisplayFunc.sig="vp";function _glutKeyboardFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(257,0,1,e);e>>>=0,GLUT.keyboardFunc=e}_glutKeyboardFunc.sig="vp";function _glutKeyboardUpFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(258,0,1,e);e>>>=0,GLUT.keyboardUpFunc=e}_glutKeyboardUpFunc.sig="vp";function _glutSpecialFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(259,0,1,e);e>>>=0,GLUT.specialFunc=e}_glutSpecialFunc.sig="vp";function _glutSpecialUpFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(260,0,1,e);e>>>=0,GLUT.specialUpFunc=e}_glutSpecialUpFunc.sig="vp";function _glutReshapeFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(261,0,1,e);e>>>=0,GLUT.reshapeFunc=e}_glutReshapeFunc.sig="vp";function _glutMotionFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(262,0,1,e);e>>>=0,GLUT.motionFunc=e}_glutMotionFunc.sig="vp";function _glutPassiveMotionFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(263,0,1,e);e>>>=0,GLUT.passiveMotionFunc=e}_glutPassiveMotionFunc.sig="vp";function _glutMouseFunc(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(264,0,1,e);e>>>=0,GLUT.mouseFunc=e}_glutMouseFunc.sig="vp";function _glutSetCursor(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(265,0,1,e);var r="auto";switch(e){case 0:break;case 1:break;case 2:r="pointer";break;case 3:break;case 4:r="help";break;case 5:break;case 6:break;case 7:r="wait";break;case 8:r="text";break;case 9:case 102:r="crosshair";break;case 10:r="ns-resize";break;case 11:r="ew-resize";break;case 12:r="n-resize";break;case 13:r="s-resize";break;case 14:r="w-resize";break;case 15:r="e-resize";break;case 16:r="nw-resize";break;case 17:r="ne-resize";break;case 18:r="se-resize";break;case 19:r="sw-resize";break;case 100:break;case 101:r="none";break;default:throw"glutSetCursor: Unknown cursor type: "+e}Module.canvas.style.cursor=r}_glutSetCursor.sig="vi";function _glutCreateWindow(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(266,0,1,e);e>>>=0;var r={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};return Module.ctx=Browser.createContext(Module.canvas,!0,!0,r),Module.ctx?1:0}_glutCreateWindow.sig="ip";function _glutDestroyWindow(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(267,0,1,e):(Module.ctx=Browser.destroyContext(Module.canvas,!0,!0),1)}_glutDestroyWindow.sig="vi";function _glutReshapeWindow(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(268,0,1,e,r);Browser.exitFullscreen(),Browser.setCanvasSize(e,r,!0),GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(e,r),_glutPostRedisplay()}_glutReshapeWindow.sig="vii";function _glutPositionWindow(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(269,0,1,e,r);Browser.exitFullscreen(),_glutPostRedisplay()}_glutPositionWindow.sig="vii";function _glutFullScreen(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(270,0,1);GLUT.windowX=0,GLUT.windowY=0,GLUT.windowWidth=Module.canvas.width,GLUT.windowHeight=Module.canvas.height,document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,!0),document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,!0),document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,!0),Browser.requestFullscreen(!1,!1)}_glutFullScreen.sig="v";function _glutInitDisplayMode(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(271,0,1,e):GLUT.initDisplayMode=e}_glutInitDisplayMode.sig="vi";function _glutSwapBuffers(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(272,0,1)}_glutSwapBuffers.sig="v";function _glutMainLoop(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(273,0,1);throw _glutReshapeWindow(Module.canvas.width,Module.canvas.height),_glutPostRedisplay(),"unwind"}_glutMainLoop.sig="v";function _XOpenDisplay(e){return e>>>=0,1}_XOpenDisplay.sig="pp";function _XCreateWindow(e,r,t,n,_,a,o,l,c,u,d,p){return e>>>=0,r>>>=0,u>>>=0,d>>>=0,p>>>=0,Browser.setCanvasSize(_,a),2}_XCreateWindow.sig="pppiiiiiiippp";function _XChangeWindowAttributes(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0}_XChangeWindowAttributes.sig="ipppp";function _XSetWMHints(e,r,t){e>>>=0,r>>>=0,t>>>=0}_XSetWMHints.sig="ippp";function _XMapWindow(e,r){e>>>=0,r>>>=0}_XMapWindow.sig="ipp";function _XStoreName(e,r,t){e>>>=0,r>>>=0,t>>>=0}_XStoreName.sig="ippp";function _XInternAtom(e,r,t){return e>>>=0,r>>>=0,0}_XInternAtom.sig="pppi";function _XSendEvent(e,r,t,n,_){e>>>=0,r>>>=0,n>>>=0,_>>>=0}_XSendEvent.sig="ippipp";function _XPending(e){return e>>>=0,0}_XPending.sig="ip";var EGL={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){EGL.errorCode=e},chooseConfig(e,r,t,n,_){if(e!=62e3)return EGL.setErrorCode(12296),0;if(r)for(;;){var a=GROWABLE_HEAP_I32()[r>>>2>>>0];if(a==12321){var o=GROWABLE_HEAP_I32()[r+4>>>2>>>0];EGL.contextAttributes.alpha=o>0}else if(a==12325){var l=GROWABLE_HEAP_I32()[r+4>>>2>>>0];EGL.contextAttributes.depth=l>0}else if(a==12326){var c=GROWABLE_HEAP_I32()[r+4>>>2>>>0];EGL.contextAttributes.stencil=c>0}else if(a==12337){var u=GROWABLE_HEAP_I32()[r+4>>>2>>>0];EGL.contextAttributes.antialias=u>0}else if(a==12338){var u=GROWABLE_HEAP_I32()[r+4>>>2>>>0];EGL.contextAttributes.antialias=u==1}else if(a==12544){var d=GROWABLE_HEAP_I32()[r+4>>>2>>>0];EGL.contextAttributes.lowLatency=d!=12547}else if(a==12344)break;r+=8}return(!t||!n)&&!_?(EGL.setErrorCode(12300),0):(_&&(GROWABLE_HEAP_I32()[_>>>2>>>0]=1),t&&n>0&&(GROWABLE_HEAP_U32()[t>>>2>>>0]=62002),EGL.setErrorCode(12288),1)}};function _eglGetDisplay(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(274,0,1,e):(e>>>=0,EGL.setErrorCode(12288),e!=0&&e!=1?0:62e3)}_eglGetDisplay.sig="pp";function _eglInitialize(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(275,0,1,e,r,t):(e>>>=0,r>>>=0,t>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):(r&&(GROWABLE_HEAP_I32()[r>>>2>>>0]=1),t&&(GROWABLE_HEAP_I32()[t>>>2>>>0]=4),EGL.defaultDisplayInitialized=!0,EGL.setErrorCode(12288),1))}_eglInitialize.sig="ippp";function _eglTerminate(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(276,0,1,e):(e>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):(EGL.currentContext=0,EGL.currentReadSurface=0,EGL.currentDrawSurface=0,EGL.defaultDisplayInitialized=!1,EGL.setErrorCode(12288),1))}_eglTerminate.sig="ip";function _eglGetConfigs(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(277,0,1,e,r,t,n):(e>>>=0,r>>>=0,n>>>=0,EGL.chooseConfig(e,0,r,t,n))}_eglGetConfigs.sig="ippip";function _eglChooseConfig(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(278,0,1,e,r,t,n,_):(e>>>=0,r>>>=0,t>>>=0,_>>>=0,EGL.chooseConfig(e,r,t,n,_))}_eglChooseConfig.sig="ipppip";function _eglGetConfigAttrib(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(279,0,1,e,r,t,n);if(e>>>=0,r>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(r!=62002)return EGL.setErrorCode(12293),0;if(!n)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),t){case 12320:return GROWABLE_HEAP_I32()[n>>>2>>>0]=EGL.contextAttributes.alpha?32:24,1;case 12321:return GROWABLE_HEAP_I32()[n>>>2>>>0]=EGL.contextAttributes.alpha?8:0,1;case 12322:return GROWABLE_HEAP_I32()[n>>>2>>>0]=8,1;case 12323:return GROWABLE_HEAP_I32()[n>>>2>>>0]=8,1;case 12324:return GROWABLE_HEAP_I32()[n>>>2>>>0]=8,1;case 12325:return GROWABLE_HEAP_I32()[n>>>2>>>0]=EGL.contextAttributes.depth?24:0,1;case 12326:return GROWABLE_HEAP_I32()[n>>>2>>>0]=EGL.contextAttributes.stencil?8:0,1;case 12327:return GROWABLE_HEAP_I32()[n>>>2>>>0]=12344,1;case 12328:return GROWABLE_HEAP_I32()[n>>>2>>>0]=62002,1;case 12329:return GROWABLE_HEAP_I32()[n>>>2>>>0]=0,1;case 12330:return GROWABLE_HEAP_I32()[n>>>2>>>0]=4096,1;case 12331:return GROWABLE_HEAP_I32()[n>>>2>>>0]=16777216,1;case 12332:return GROWABLE_HEAP_I32()[n>>>2>>>0]=4096,1;case 12333:return GROWABLE_HEAP_I32()[n>>>2>>>0]=0,1;case 12334:return GROWABLE_HEAP_I32()[n>>>2>>>0]=0,1;case 12335:return GROWABLE_HEAP_I32()[n>>>2>>>0]=12344,1;case 12337:return GROWABLE_HEAP_I32()[n>>>2>>>0]=EGL.contextAttributes.antialias?4:0,1;case 12338:return GROWABLE_HEAP_I32()[n>>>2>>>0]=EGL.contextAttributes.antialias?1:0,1;case 12339:return GROWABLE_HEAP_I32()[n>>>2>>>0]=4,1;case 12340:return GROWABLE_HEAP_I32()[n>>>2>>>0]=12344,1;case 12341:case 12342:case 12343:return GROWABLE_HEAP_I32()[n>>>2>>>0]=-1,1;case 12345:case 12346:return GROWABLE_HEAP_I32()[n>>>2>>>0]=0,1;case 12347:return GROWABLE_HEAP_I32()[n>>>2>>>0]=0,1;case 12348:return GROWABLE_HEAP_I32()[n>>>2>>>0]=1,1;case 12349:case 12350:return GROWABLE_HEAP_I32()[n>>>2>>>0]=0,1;case 12351:return GROWABLE_HEAP_I32()[n>>>2>>>0]=12430,1;case 12352:return GROWABLE_HEAP_I32()[n>>>2>>>0]=4,1;case 12354:return GROWABLE_HEAP_I32()[n>>>2>>>0]=0,1;default:return EGL.setErrorCode(12292),0}}_eglGetConfigAttrib.sig="ippip";function _eglCreateWindowSurface(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(280,0,1,e,r,t,n):(e>>>=0,r>>>=0,n>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):r!=62002?(EGL.setErrorCode(12293),0):(EGL.setErrorCode(12288),62006))}_eglCreateWindowSurface.sig="pppip";function _eglDestroySurface(e,r){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(281,0,1,e,r):(e>>>=0,r>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):r!=62006?(EGL.setErrorCode(12301),1):(EGL.currentReadSurface==r&&(EGL.currentReadSurface=0),EGL.currentDrawSurface==r&&(EGL.currentDrawSurface=0),EGL.setErrorCode(12288),1))}_eglDestroySurface.sig="ipp";function _eglCreateContext(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(282,0,1,e,r,t,n);if(e>>>=0,r>>>=0,t>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;for(var _=1;;){var a=GROWABLE_HEAP_I32()[n>>>2>>>0];if(a==12440)_=GROWABLE_HEAP_I32()[n+4>>>2>>>0];else{if(a==12344)break;return EGL.setErrorCode(12292),0}n+=8}return _!=2?(EGL.setErrorCode(12293),0):(EGL.contextAttributes.majorVersion=_-1,EGL.contextAttributes.minorVersion=0,EGL.context=GL.createContext(Module.canvas,EGL.contextAttributes),EGL.context!=0?(EGL.setErrorCode(12288),GL.makeContextCurrent(EGL.context),Module.useWebGL=!0,Browser.moduleContextCreatedCallbacks.forEach(function(o){o()}),GL.makeContextCurrent(null),62004):(EGL.setErrorCode(12297),0))}_eglCreateContext.sig="ppppp";function _eglDestroyContext(e,r){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(283,0,1,e,r):(e>>>=0,r>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):r!=62004?(EGL.setErrorCode(12294),0):(GL.deleteContext(EGL.context),EGL.setErrorCode(12288),EGL.currentContext==r&&(EGL.currentContext=0),1))}_eglDestroyContext.sig="ipp";function _eglQuerySurface(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(284,0,1,e,r,t,n);if(e>>>=0,r>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(r!=62006)return EGL.setErrorCode(12301),0;if(!n)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),t){case 12328:return GROWABLE_HEAP_I32()[n>>>2>>>0]=62002,1;case 12376:return 1;case 12375:return GROWABLE_HEAP_I32()[n>>>2>>>0]=Module.canvas.width,1;case 12374:return GROWABLE_HEAP_I32()[n>>>2>>>0]=Module.canvas.height,1;case 12432:return GROWABLE_HEAP_I32()[n>>>2>>>0]=-1,1;case 12433:return GROWABLE_HEAP_I32()[n>>>2>>>0]=-1,1;case 12434:return GROWABLE_HEAP_I32()[n>>>2>>>0]=-1,1;case 12422:return GROWABLE_HEAP_I32()[n>>>2>>>0]=12420,1;case 12441:return GROWABLE_HEAP_I32()[n>>>2>>>0]=12442,1;case 12435:return GROWABLE_HEAP_I32()[n>>>2>>>0]=12437,1;case 12416:case 12417:case 12418:case 12419:return 1;default:return EGL.setErrorCode(12292),0}}_eglQuerySurface.sig="ippip";function _eglQueryContext(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(285,0,1,e,r,t,n);if(e>>>=0,r>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(r!=62004)return EGL.setErrorCode(12294),0;if(!n)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),t){case 12328:return GROWABLE_HEAP_I32()[n>>>2>>>0]=62002,1;case 12439:return GROWABLE_HEAP_I32()[n>>>2>>>0]=12448,1;case 12440:return GROWABLE_HEAP_I32()[n>>>2>>>0]=EGL.contextAttributes.majorVersion+1,1;case 12422:return GROWABLE_HEAP_I32()[n>>>2>>>0]=12420,1;default:return EGL.setErrorCode(12292),0}}_eglQueryContext.sig="ippip";function _eglGetError(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(286,0,1):EGL.errorCode}_eglGetError.sig="i";function _eglQueryString(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(287,0,1,e,r);if(e>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(EGL.setErrorCode(12288),EGL.stringCache[r])return EGL.stringCache[r];var t;switch(r){case 12371:t=stringToNewUTF8("Emscripten");break;case 12372:t=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:t=stringToNewUTF8("");break;case 12429:t=stringToNewUTF8("OpenGL_ES");break;default:return EGL.setErrorCode(12300),0}return EGL.stringCache[r]=t,t}_eglQueryString.sig="ppi";function _eglBindAPI(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(288,0,1,e):e==12448?(EGL.setErrorCode(12288),1):(EGL.setErrorCode(12300),0)}_eglBindAPI.sig="ii";function _eglQueryAPI(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(289,0,1):(EGL.setErrorCode(12288),12448)}_eglQueryAPI.sig="i";function _eglWaitClient(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(290,0,1):(EGL.setErrorCode(12288),1)}_eglWaitClient.sig="i";function _eglWaitNative(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(291,0,1,e):(EGL.setErrorCode(12288),1)}_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;_eglWaitGL.sig="i";function _eglSwapInterval(e,r){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(292,0,1,e,r):(e>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):(r==0?_emscripten_set_main_loop_timing(0,0):_emscripten_set_main_loop_timing(1,r),EGL.setErrorCode(12288),1))}_eglSwapInterval.sig="ipi";function _eglMakeCurrent(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(293,0,1,e,r,t,n):(e>>>=0,r>>>=0,t>>>=0,n>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):n!=0&&n!=62004?(EGL.setErrorCode(12294),0):t!=0&&t!=62006||r!=0&&r!=62006?(EGL.setErrorCode(12301),0):(GL.makeContextCurrent(n?EGL.context:null),EGL.currentContext=n,EGL.currentDrawSurface=r,EGL.currentReadSurface=t,EGL.setErrorCode(12288),1))}_eglMakeCurrent.sig="ipppp";function _eglGetCurrentContext(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(294,0,1):EGL.currentContext}_eglGetCurrentContext.sig="p";function _eglGetCurrentSurface(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(295,0,1,e):e==12378?EGL.currentReadSurface:e==12377?EGL.currentDrawSurface:(EGL.setErrorCode(12300),0)}_eglGetCurrentSurface.sig="pi";function _eglGetCurrentDisplay(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(296,0,1):EGL.currentContext?62e3:0}_eglGetCurrentDisplay.sig="p";function _eglSwapBuffers(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(297,0,1,e,r);if(e>>>=0,r>>>=0,!EGL.defaultDisplayInitialized)EGL.setErrorCode(12289);else if(!Module.ctx)EGL.setErrorCode(12290);else if(Module.ctx.isContextLost())EGL.setErrorCode(12302);else return EGL.setErrorCode(12288),1;return 0}_eglSwapBuffers.sig="ipp";function _eglReleaseThread(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(298,0,1):(EGL.currentContext=0,EGL.currentReadSurface=0,EGL.currentDrawSurface=0,EGL.setErrorCode(12288),1)}_eglReleaseThread.sig="i";function _uuid_clear(e){return e>>>=0,zeroMemory(e,16)}_uuid_clear.sig="vp";function _uuid_compare(e,r){return e>>>=0,r>>>=0,_memcmp(e,r,16)}_uuid_compare.sig="ipp";function _uuid_copy(e,r){return e>>>=0,r>>>=0,_memcpy(e,r,16)}_uuid_copy.sig="vpp";function _uuid_generate(e){e>>>=0;var r=null;if(ENVIRONMENT_IS_NODE)try{var t=K("crypto").randomBytes;r=t(16)}catch(o){}else ENVIRONMENT_IS_WEB&&typeof window.crypto<"u"&&typeof window.crypto.getRandomValues<"u"&&(r=new Uint8Array(16),window.crypto.getRandomValues(r));if(!r){r=new Array(16);for(var n=new Date().getTime(),_=0;_<16;_++){var a=(n+Math.random()*256)%256|0;n=n/256|0,r[_]=a}}r[6]=r[6]&15|64,r[8]=r[8]&63|128,writeArrayToMemory(r,e)}_uuid_generate.sig="vp";function _uuid_is_null(e){e>>>=0;for(var r=0;r<4;r++,e=e+4|0){var t=GROWABLE_HEAP_I32()[e>>>2>>>0];if(t)return 0}return 1}_uuid_is_null.sig="ip";function _uuid_parse(e,r){if(e>>>=0,r>>>=0,e=UTF8ToString(e),e.length===36){var t=0,n=new Array(16);return e.toLowerCase().replace(/[0-9a-f]{2}/g,function(_){t<16&&(n[t++]=parseInt(_,16))}),t<16?-1:(writeArrayToMemory(n,r),0)}return-1}_uuid_parse.sig="ipp";function _uuid_unparse(e,r,t){e>>>=0,r>>>=0;var n=0,_="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(a){var o=t?GROWABLE_HEAP_U8()[e+n>>>0].toString(16).toUpperCase():GROWABLE_HEAP_U8()[e+n>>>0].toString(16);return o=o.length===1?"0"+o:o,n++,o});stringToUTF8(_,r,37)}_uuid_unparse.sig="vpp";function _uuid_unparse_lower(e,r){e>>>=0,r>>>=0,_uuid_unparse(e,r)}_uuid_unparse_lower.sig="vpp";function _uuid_unparse_upper(e,r){e>>>=0,r>>>=0,_uuid_unparse(e,r,!0)}_uuid_unparse_upper.sig="vpp";function _uuid_type(e){return e>>>=0,4}_uuid_type.sig="ip";function _uuid_variant(e){return e>>>=0,1}_uuid_variant.sig="ip";var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode(e){if(GLEW.isLinaroFork)switch(e){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}switch(e){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString(e){if(!GLEW.error[e]){var r=GLEW.errorStringConstantFromCode(e);r||(r="Unknown error",e=8),GLEW.error[e]=stringToNewUTF8(r)}return GLEW.error[e]},versionStringConstantFromCode(e){switch(e){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString(e){if(!GLEW.version[e]){var r=GLEW.versionStringConstantFromCode(e);if(!r)return 0;GLEW.version[e]=stringToNewUTF8(r)}return GLEW.version[e]},extensionIsSupported(e){return GLEW.extensions||(GLEW.extensions=webglGetExtensions()),GLEW.extensions.includes(e)?1:GLEW.extensions.includes("GL_"+e)}},_glewInit=()=>0;_glewInit.sig="i";function _glewIsSupported(e){e>>>=0;for(var r=UTF8ToString(e).split(" "),t=0;t>>=0,GLEW.extensionIsSupported(UTF8ToString(e))}_glewGetExtension.sig="ip";function _glewGetErrorString(e){return GLEW.errorString(e)}_glewGetErrorString.sig="pi";function _glewGetString(e){return GLEW.versionString(e)}_glewGetString.sig="pi";var IDBStore={indexedDB(){if(typeof indexedDB<"u")return indexedDB;var e=null;return typeof window=="object"&&(e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),assert(e,"IDBStore used, but indexedDB not supported"),e},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB(e,r){var t=IDBStore.dbs[e];if(t)return r(null,t);var n;try{n=IDBStore.indexedDB().open(e,IDBStore.DB_VERSION)}catch(_){return r(_)}n.onupgradeneeded=_=>{var a=_.target.result,o=_.target.transaction,l;a.objectStoreNames.contains(IDBStore.DB_STORE_NAME)?l=o.objectStore(IDBStore.DB_STORE_NAME):l=a.createObjectStore(IDBStore.DB_STORE_NAME)},n.onsuccess=()=>{t=n.result,IDBStore.dbs[e]=t,r(null,t)},n.onerror=function(_){r(_.target.error||"unknown error"),_.preventDefault()}},getStore(e,r,t){IDBStore.getDB(e,(n,_)=>{if(n)return t(n);var a=_.transaction([IDBStore.DB_STORE_NAME],r);a.onerror=l=>{t(l.target.error||"unknown error"),l.preventDefault()};var o=a.objectStore(IDBStore.DB_STORE_NAME);t(null,o)})},getFile(e,r,t){IDBStore.getStore(e,"readonly",(n,_)=>{if(n)return t(n);var a=_.get(r);a.onsuccess=o=>{var l=o.target.result;return l?t(null,l):t("file ".concat(r," not found"))},a.onerror=t})},setFile(e,r,t,n){IDBStore.getStore(e,"readwrite",(_,a)=>{if(_)return n(_);var o=a.put(t,r);o.onsuccess=l=>n(),o.onerror=n})},deleteFile(e,r,t){IDBStore.getStore(e,"readwrite",(n,_)=>{if(n)return t(n);var a=_.delete(r);a.onsuccess=o=>t(),a.onerror=t})},existsFile(e,r,t){IDBStore.getStore(e,"readonly",(n,_)=>{if(n)return t(n);var a=_.count(r);a.onsuccess=o=>t(null,o.target.result>0),a.onerror=t})},clearStore(e,r){IDBStore.getStore(e,"readwrite",(t,n)=>{if(t)return r(t);var _=n.clear();_.onsuccess=a=>r(),_.onerror=r})}},_emscripten_idb_async_load=function(e,r,t,n,_){e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,runtimeKeepalivePush(),IDBStore.getFile(UTF8ToString(e),UTF8ToString(r),(a,o)=>{runtimeKeepalivePop(),callUserCallback(()=>{if(a){_&&getWasmTableEntry(_)(t);return}var l=_malloc(o.length);GROWABLE_HEAP_U8().set(o,l>>>0),getWasmTableEntry(n)(t,l,o.length),_free(l)})})};_emscripten_idb_async_load.sig="vppppp";var _emscripten_idb_async_store=function(e,r,t,n,_,a,o){e>>>=0,r>>>=0,t>>>=0,_>>>=0,a>>>=0,o>>>=0,runtimeKeepalivePush(),IDBStore.setFile(UTF8ToString(e),UTF8ToString(r),new Uint8Array(GROWABLE_HEAP_U8().subarray(t>>>0,t+n>>>0)),l=>{runtimeKeepalivePop(),callUserCallback(()=>{if(l){o&&getWasmTableEntry(o)(_);return}a&&getWasmTableEntry(a)(_)})})};_emscripten_idb_async_store.sig="vpppippp";var _emscripten_idb_async_delete=function(e,r,t,n,_){e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,runtimeKeepalivePush(),IDBStore.deleteFile(UTF8ToString(e),UTF8ToString(r),a=>{runtimeKeepalivePop(),callUserCallback(()=>{if(a){_&&getWasmTableEntry(_)(t);return}n&&getWasmTableEntry(n)(t)})})};_emscripten_idb_async_delete.sig="vppppp";var _emscripten_idb_async_exists=function(e,r,t,n,_){e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,runtimeKeepalivePush(),IDBStore.existsFile(UTF8ToString(e),UTF8ToString(r),(a,o)=>{runtimeKeepalivePop(),callUserCallback(()=>{if(a){_&&getWasmTableEntry(_)(t);return}n&&getWasmTableEntry(n)(t,o)})})};_emscripten_idb_async_exists.sig="vppppp";var _emscripten_idb_async_clear=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0,runtimeKeepalivePush(),IDBStore.clearStore(UTF8ToString(e),_=>{runtimeKeepalivePop(),callUserCallback(()=>{if(_){n&&getWasmTableEntry(n)(r);return}t&&getWasmTableEntry(t)(r)})})};_emscripten_idb_async_clear.sig="vpppp";function _emscripten_idb_load(e,r,t,n,_){throw e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_load, etc."}_emscripten_idb_load.sig="vppppp";function _emscripten_idb_store(e,r,t,n,_){throw e>>>=0,r>>>=0,t>>>=0,_>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_store, etc."}_emscripten_idb_store.sig="vpppip";function _emscripten_idb_delete(e,r,t){throw e>>>=0,r>>>=0,t>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_delete, etc."}_emscripten_idb_delete.sig="vppp";function _emscripten_idb_exists(e,r,t,n){throw e>>>=0,r>>>=0,t>>>=0,n>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_exists, etc."}_emscripten_idb_exists.sig="vpppp";function _emscripten_idb_clear(e,r){throw e>>>=0,r>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_clear, etc."}_emscripten_idb_clear.sig="vpp";var runAndAbortIfError=e=>{try{return e()}catch(r){abort(r)}},_emscripten_sleep=()=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"};_emscripten_sleep.sig="vi";function _emscripten_scan_registers(e){throw e>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_scan_registers"}_emscripten_scan_registers.sig="vp";function _emscripten_fiber_swap(e,r){throw e>>>=0,r>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_fiber_swap"}_emscripten_fiber_swap.sig="vpp";function _SDL_GetTicks(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(299,0,1):Date.now()-SDL.startTime|0}_SDL_GetTicks.sig="i";function _SDL_LockSurface(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(300,0,1,e);e>>>=0;var r=SDL.surfaces[e];if(r.locked++,r.locked>1||(r.buffer||(r.buffer=_malloc(r.width*r.height*4),GROWABLE_HEAP_U32()[e+20>>>2>>>0]=r.buffer),GROWABLE_HEAP_U32()[e+20>>>2>>>0]=r.buffer,e==SDL.screen&&Module.screenIsReadOnly&&r.image))return 0;if(SDL.defaults.discardOnLock){if(r.image||(r.image=r.ctx.createImageData(r.width,r.height)),!SDL.defaults.opaqueFrontBuffer)return}else r.image=r.ctx.getImageData(0,0,r.width,r.height);if(e==SDL.screen&&SDL.defaults.opaqueFrontBuffer)for(var t=r.image.data,n=t.length,_=0;_>>0)}return 0}_SDL_LockSurface.sig="ip";var SDL={defaults:{width:320,height:200,copyOnLock:!0,discardOnLock:!1,opaqueFrontBuffer:!0},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:!1,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:!1,isRequestingFullscreen:!1,textInput:!1,unicode:!1,ttfContext:null,audio:null,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect(e){return{x:GROWABLE_HEAP_I32()[e+0>>>2>>>0],y:GROWABLE_HEAP_I32()[e+4>>>2>>>0],w:GROWABLE_HEAP_I32()[e+8>>>2>>>0],h:GROWABLE_HEAP_I32()[e+12>>>2>>>0]}},updateRect(e,r){GROWABLE_HEAP_I32()[e>>>2>>>0]=r.x,GROWABLE_HEAP_I32()[e+4>>>2>>>0]=r.y,GROWABLE_HEAP_I32()[e+8>>>2>>>0]=r.w,GROWABLE_HEAP_I32()[e+12>>>2>>>0]=r.h},intersectionOfRects(e,r){var t=Math.max(e.x,r.x),n=Math.max(e.y,r.y),_=Math.min(e.x+e.w,r.x+r.w),a=Math.min(e.y+e.h,r.y+r.h);return{x:t,y:n,w:Math.max(t,_)-t,h:Math.max(n,a)-n}},checkPixelFormat(e){},loadColorToCSSRGB(e){var r=GROWABLE_HEAP_I32()[e>>>2>>>0];return"rgb("+(r&255)+","+(r>>8&255)+","+(r>>16&255)+")"},loadColorToCSSRGBA(e){var r=GROWABLE_HEAP_I32()[e>>>2>>>0];return"rgba("+(r&255)+","+(r>>8&255)+","+(r>>16&255)+","+(r>>24&255)/255+")"},translateColorToCSSRGBA:e=>"rgba("+(e&255)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>>24)/255+")",translateRGBAToCSSRGBA:(e,r,t,n)=>"rgba("+(e&255)+","+(r&255)+","+(t&255)+","+(n&255)/255+")",translateRGBAToColor:(e,r,t,n)=>e|r<<8|t<<16|n<<24,makeSurface(e,r,t,n,_,a,o,l,c){var u=t&1,d=t&2097152,p=t&67108864,f=_malloc(60),g=_malloc(44),E=d?1:4,v=0;!u&&!p&&(v=_malloc(e*r*4)),GROWABLE_HEAP_I32()[f>>>2>>>0]=t,GROWABLE_HEAP_U32()[f+4>>>2>>>0]=g,GROWABLE_HEAP_I32()[f+8>>>2>>>0]=e,GROWABLE_HEAP_I32()[f+12>>>2>>>0]=r,GROWABLE_HEAP_I32()[f+16>>>2>>>0]=e*E,GROWABLE_HEAP_U32()[f+20>>>2>>>0]=v,GROWABLE_HEAP_I32()[f+36>>>2>>>0]=0,GROWABLE_HEAP_I32()[f+40>>>2>>>0]=0,GROWABLE_HEAP_I32()[f+44>>>2>>>0]=Module.canvas.width,GROWABLE_HEAP_I32()[f+48>>>2>>>0]=Module.canvas.height,GROWABLE_HEAP_I32()[f+56>>>2>>>0]=1,GROWABLE_HEAP_I32()[g>>>2>>>0]=-2042224636,GROWABLE_HEAP_I32()[g+4>>>2>>>0]=0,GROWABLE_HEAP_I8()[g+8>>>0]=E*8,GROWABLE_HEAP_I8()[g+9>>>0]=E,GROWABLE_HEAP_I32()[g+12>>>2>>>0]=a||255,GROWABLE_HEAP_I32()[g+16>>>2>>>0]=o||65280,GROWABLE_HEAP_I32()[g+20>>>2>>>0]=l||16711680,GROWABLE_HEAP_I32()[g+24>>>2>>>0]=c||4278190080,SDL.GL=SDL.GL||p;var b;n?b=Module.canvas:(SDL.canvasPool.length>0?b=SDL.canvasPool.pop():b=document.createElement("canvas"),b.width=e,b.height=r);var D={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0},h=Browser.createContext(b,p,n,D);return SDL.surfaces[f]={width:e,height:r,canvas:b,ctx:h,surf:f,buffer:v,pixelFormat:g,alpha:255,flags:t,locked:0,usePageCanvas:n,source:_,isFlagSet:T=>t&T},f},copyIndexedColorData(e,r,t,n,_){if(e.colors){var a=Module.canvas.width,o=Module.canvas.height,l=r||0,c=t||0,u=(n||a-l)+l,d=(_||o-c)+c,p=e.buffer;e.image.data32||(e.image.data32=new Uint32Array(e.image.data.buffer));for(var f=e.image.data32,g=e.colors32,E=c;E>>0]]}},freeSurface(e){var r=e+56,t=GROWABLE_HEAP_I32()[r>>>2>>>0];if(t>1){GROWABLE_HEAP_I32()[r>>>2>>>0]=t-1;return}var n=SDL.surfaces[e];!n.usePageCanvas&&n.canvas&&SDL.canvasPool.push(n.canvas),n.buffer&&_free(n.buffer),_free(n.pixelFormat),_free(e),SDL.surfaces[e]=null,e===SDL.screen&&(SDL.screen=null)},blitSurface(e,r,t,n,_){var a=SDL.surfaces[e],o=SDL.surfaces[t],l,c;if(r?l=SDL.loadRect(r):l={x:0,y:0,w:a.width,h:a.height},n?c=SDL.loadRect(n):c={x:0,y:0,w:a.width,h:a.height},o.clipRect){var u=!_||l.w===0?1:l.w/c.w,d=!_||l.h===0?1:l.h/c.h;c=SDL.intersectionOfRects(o.clipRect,c),l.w=c.w*u,l.h=c.h*d,n&&SDL.updateRect(n,c)}var p,f;if(_?(p=c.w,f=c.h):(p=l.w,f=l.h),l.w===0||l.h===0||p===0||f===0)return 0;var g=o.ctx.globalAlpha;return o.ctx.globalAlpha=a.alpha/255,o.ctx.drawImage(a.canvas,l.x,l.y,l.w,l.h,c.x,c.y,p,f),o.ctx.globalAlpha=g,t!=SDL.screen&&(warnOnce("WARNING: copying canvas data to memory for compatibility"),_SDL_LockSurface(t),o.locked--),0},downFingers:{},savedKeydown:null,receiveEvent(e){function r(){for(var d in SDL.keyboardMap)SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[d]})}switch(e.type){case"touchstart":case"touchmove":{e.preventDefault();var t=[];if(e.type==="touchstart")for(var n=0;n0?Math.max(c,1):Math.min(c,-1);var u=c>0?3:4;SDL.events.push({type:"mousedown",button:u,pageX:e.pageX,pageY:e.pageY}),SDL.events.push({type:"mouseup",button:u,pageX:e.pageX,pageY:e.pageY}),SDL.events.push({type:"wheel",deltaX:0,deltaY:c}),e.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1&&SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),Browser.pointerLock&&("mozMovementX"in e&&(e.movementX=e.mozMovementX,e.movementY=e.mozMovementY),e.movementX==0&&e.movementY==0)){e.preventDefault();return}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if((e.type!=="keydown"||!SDL.unicode&&!SDL.textInput||e.keyCode===8||e.keyCode===9)&&e.preventDefault(),e.type=="mousedown")SDL.DOMButtons[e.button]=1,SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}});else if(e.type=="mouseup"){if(!SDL.DOMButtons[e.button])return;SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),SDL.DOMButtons[e.button]=0}e.type==="keydown"||e.type==="mousedown"?SDL.canRequestFullscreen=!0:(e.type==="keyup"||e.type==="mouseup")&&(SDL.isRequestingFullscreen&&(Module.requestFullscreen(!0,!0),SDL.isRequestingFullscreen=!1),SDL.canRequestFullscreen=!1),e.type==="keypress"&&SDL.savedKeydown?(SDL.savedKeydown.keypressCharCode=e.charCode,SDL.savedKeydown=null):e.type==="keydown"&&(SDL.savedKeydown=e),(e.type!=="keypress"||SDL.textInput)&&SDL.events.push(e);break;case"mouseout":for(var n=0;n<3;n++)SDL.DOMButtons[n]&&(SDL.events.push({type:"mouseup",button:n,pageX:e.pageX,pageY:e.pageY}),SDL.DOMButtons[n]=0);e.preventDefault();break;case"focus":SDL.events.push(e),e.preventDefault();break;case"blur":SDL.events.push(e),r(),e.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden}),r(),e.preventDefault();break;case"unload":Browser.mainLoop.runner&&(SDL.events.push(e),Browser.mainLoop.runner());return;case"resize":SDL.events.push(e),e.preventDefault&&e.preventDefault();break}SDL.events.length>=1e4&&(err("SDL event queue full, dropping events"),SDL.events=SDL.events.slice(0,1e4)),SDL.flushEventsToHandler()},lookupKeyCodeForEvent(e){var r=e.keyCode;return r>=65&&r<=90?r+=32:(r=SDL.keyCodes[e.keyCode]||e.keyCode,e.location===2&&r>=1248&&r<=1251&&(r+=4)),r},handleEvent(e){if(!e.handled)switch(e.handled=!0,e.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(e);break}case"keydown":case"keyup":{var r=e.type==="keydown",t=SDL.lookupKeyCodeForEvent(e);GROWABLE_HEAP_I8()[SDL.keyboardState+t>>>0]=r,SDL.modState=(GROWABLE_HEAP_I8()[SDL.keyboardState+1248>>>0]?64:0)|(GROWABLE_HEAP_I8()[SDL.keyboardState+1249>>>0]?1:0)|(GROWABLE_HEAP_I8()[SDL.keyboardState+1250>>>0]?256:0)|(GROWABLE_HEAP_I8()[SDL.keyboardState+1252>>>0]?128:0)|(GROWABLE_HEAP_I8()[SDL.keyboardState+1253>>>0]?2:0)|(GROWABLE_HEAP_I8()[SDL.keyboardState+1254>>>0]?512:0),r?SDL.keyboardMap[t]=e.keyCode:delete SDL.keyboardMap[t];break}case"mousedown":case"mouseup":e.type=="mousedown"?SDL.buttonState|=1<0;)if(SDL.makeCEvent(SDL.events.shift(),e)!==!1)return 1;return 0}return SDL.events.length>0},makeCEvent(e,r){if(typeof e=="number"){_memcpy(r,e,28),_free(e);return}switch(SDL.handleEvent(e),e.type){case"keydown":case"keyup":{var t=e.type==="keydown",n=SDL.lookupKeyCodeForEvent(e),_;n>=1024?_=n-1024:_=SDL.scanCodes[n]||n,GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I8()[r+8>>>0]=t?1:0,GROWABLE_HEAP_I8()[r+9>>>0]=0,GROWABLE_HEAP_I32()[r+12>>>2>>>0]=_,GROWABLE_HEAP_I32()[r+16>>>2>>>0]=n,GROWABLE_HEAP_I16()[r+20>>>1>>>0]=SDL.modState,GROWABLE_HEAP_I32()[r+24>>>2>>>0]=e.keypressCharCode||n;break}case"keypress":{GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type];for(var a=intArrayFromString(String.fromCharCode(e.charCode)),o=0;o>>0]=a[o];break}case"mousedown":case"mouseup":case"mousemove":{if(e.type!="mousemove"){var t=e.type==="mousedown";GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I32()[r+4>>>2>>>0]=0,GROWABLE_HEAP_I32()[r+8>>>2>>>0]=0,GROWABLE_HEAP_I32()[r+12>>>2>>>0]=0,GROWABLE_HEAP_I8()[r+16>>>0]=e.button+1,GROWABLE_HEAP_I8()[r+17>>>0]=t?1:0,GROWABLE_HEAP_I32()[r+20>>>2>>>0]=Browser.mouseX,GROWABLE_HEAP_I32()[r+24>>>2>>>0]=Browser.mouseY}else GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I32()[r+4>>>2>>>0]=0,GROWABLE_HEAP_I32()[r+8>>>2>>>0]=0,GROWABLE_HEAP_I32()[r+12>>>2>>>0]=0,GROWABLE_HEAP_I32()[r+16>>>2>>>0]=SDL.buttonState,GROWABLE_HEAP_I32()[r+20>>>2>>>0]=Browser.mouseX,GROWABLE_HEAP_I32()[r+24>>>2>>>0]=Browser.mouseY,GROWABLE_HEAP_I32()[r+28>>>2>>>0]=Browser.mouseMovementX,GROWABLE_HEAP_I32()[r+32>>>2>>>0]=Browser.mouseMovementY;break}case"wheel":{GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I32()[r+16>>>2>>>0]=e.deltaX,GROWABLE_HEAP_I32()[r+20>>>2>>>0]=e.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var l=e.touch;if(!Browser.touches[l.identifier])break;var c=Module.canvas.width,u=Module.canvas.height,d=Browser.touches[l.identifier].x/c,p=Browser.touches[l.identifier].y/u,f=Browser.lastTouches[l.identifier].x/c,g=Browser.lastTouches[l.identifier].y/u,E=d-f,v=p-g;if(l.deviceID===void 0&&(l.deviceID=SDL.TOUCH_DEFAULT_ID),E===0&&v===0&&e.type==="touchmove")return!1;GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I32()[r+4>>>2>>>0]=_SDL_GetTicks(),tempI64=[l.deviceID>>>0,(tempDouble=l.deviceID,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+8>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[r+12>>>2>>>0]=tempI64[1],tempI64=[l.identifier>>>0,(tempDouble=l.identifier,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[r+16>>>2>>>0]=tempI64[0],GROWABLE_HEAP_I32()[r+20>>>2>>>0]=tempI64[1],GROWABLE_HEAP_F32()[r+24>>>2>>>0]=d,GROWABLE_HEAP_F32()[r+28>>>2>>>0]=p,GROWABLE_HEAP_F32()[r+32>>>2>>>0]=E,GROWABLE_HEAP_F32()[r+36>>>2>>>0]=v,l.force!==void 0?GROWABLE_HEAP_F32()[r+40>>>2>>>0]=l.force:GROWABLE_HEAP_F32()[r+40>>>2>>>0]=e.type=="touchend"?0:1;break}case"unload":{GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type];break}case"resize":{GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I32()[r+4>>>2>>>0]=e.w,GROWABLE_HEAP_I32()[r+8>>>2>>>0]=e.h;break}case"joystick_button_up":case"joystick_button_down":{var b=e.type==="joystick_button_up"?0:1;GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I8()[r+4>>>0]=e.index,GROWABLE_HEAP_I8()[r+5>>>0]=e.button,GROWABLE_HEAP_I8()[r+6>>>0]=b;break}case"joystick_axis_motion":{GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I8()[r+4>>>0]=e.index,GROWABLE_HEAP_I8()[r+5>>>0]=e.axis,GROWABLE_HEAP_I32()[r+8>>>2>>>0]=SDL.joystickAxisValueConversion(e.value);break}case"focus":{var D=12;GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I32()[r+4>>>2>>>0]=0,GROWABLE_HEAP_I8()[r+8>>>0]=D;break}case"blur":{var h=13;GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I32()[r+4>>>2>>>0]=0,GROWABLE_HEAP_I8()[r+8>>>0]=h;break}case"visibilitychange":{var T=1,x=2,S=e.visible?T:x;GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],GROWABLE_HEAP_I32()[r+4>>>2>>>0]=0,GROWABLE_HEAP_I8()[r+8>>>0]=S;break}default:throw"Unhandled SDL event: "+e.type}},makeFontString(e,r){return r.charAt(0)!="'"&&r.charAt(0)!='"'&&(r='"'+r+'"'),e+"px "+r+", serif"},estimateTextWidth(e,r){var t=e.size,n=SDL.makeFontString(t,e.name),_=SDL.ttfContext;_.font=n;var a=_.measureText(r).width|0;return a},allocateChannels(e){if(!(SDL.numChannels&&SDL.numChannels>=e&&e!=0)){SDL.numChannels=e,SDL.channels=[];for(var r=0;r{e.paused||SDL.playWebAudio(e)});return}e.webAudioNode=SDL.audioContext.createBufferSource(),e.webAudioNode.buffer=r.decodedBuffer,e.webAudioNode.loop=e.loop,e.webAudioNode.onended=e.onended,e.webAudioPannerNode=SDL.audioContext.createPanner(),e.webAudioPannerNode.setPosition(0,0,-.5),e.webAudioPannerNode.panningModel="equalpower",e.webAudioGainNode=SDL.audioContext.createGain(),e.webAudioGainNode.gain.value=e.volume,e.webAudioNode.connect(e.webAudioPannerNode),e.webAudioPannerNode.connect(e.webAudioGainNode),e.webAudioGainNode.connect(SDL.audioContext.destination),e.webAudioNode.start(0,e.currentPosition),e.startTime=SDL.audioContext.currentTime-e.currentPosition}catch(t){err("playWebAudio failed: ".concat(t))}},pauseWebAudio(e){if(e){if(e.webAudioNode)try{e.currentPosition=(SDL.audioContext.currentTime-e.startTime)%e.resource.webAudio.decodedBuffer.duration,e.webAudioNode.onended=void 0,e.webAudioNode.stop(0),e.webAudioNode=void 0}catch(r){err("pauseWebAudio failed: ".concat(r))}e.paused=!0}},openAudioContext(){SDL.audioContext||(typeof AudioContext<"u"?SDL.audioContext=new AudioContext:typeof webkitAudioContext<"u"&&(SDL.audioContext=new webkitAudioContext))},webAudioAvailable:()=>!!SDL.audioContext,fillWebAudioBufferFromHeap(e,r,t){for(var n=SDL.audio,_=n.channels,a=0;a<_;++a){var o=t.getChannelData(a);if(o.length!=r)throw"Web Audio output buffer length mismatch! Destination size: "+o.length+" samples vs expected "+r+" samples!";if(n.format==32784)for(var l=0;l>>1>>>0]/32768;else if(n.format==8)for(var l=0;l>>0];o[l]=(c>=0?c-128:c+128)/128}else if(n.format==33056)for(var l=0;l>>2>>>0];else throw"Invalid SDL audio format "+n.format+"!"}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState(e,r){for(var t=new Array(r.buttons.length),n=0;n0},queryJoysticks(){for(var e in SDL.lastJoystickState){var r=SDL.getGamepad(e-1),t=SDL.lastJoystickState[e];if(typeof r>"u"||r===null)return;if(typeof r.timestamp!="number"||r.timestamp!=t.timestamp||!r.timestamp){var n;for(n=0;ne&&e>=0?r[e]:null}};function _SDL_Linked_Version(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(301,0,1):(SDL.version===null&&(SDL.version=_malloc(3),GROWABLE_HEAP_I8()[SDL.version+0>>>0]=1,GROWABLE_HEAP_I8()[SDL.version+1>>>0]=3,GROWABLE_HEAP_I8()[SDL.version+2>>>0]=0),SDL.version)}_SDL_Linked_Version.sig="p";function _SDL_Init(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(302,0,1,e);if(SDL.startTime=Date.now(),SDL.initFlags=e,!Module.doNotCaptureKeyboard){var r=Module.keyboardListeningElement||document;r.addEventListener("keydown",SDL.receiveEvent),r.addEventListener("keyup",SDL.receiveEvent),r.addEventListener("keypress",SDL.receiveEvent),window.addEventListener("focus",SDL.receiveEvent),window.addEventListener("blur",SDL.receiveEvent),document.addEventListener("visibilitychange",SDL.receiveEvent)}return window.addEventListener("unload",SDL.receiveEvent),SDL.keyboardState=_malloc(65536),zeroMemory(SDL.keyboardState,65536),SDL.DOMEventToSDLEvent.keydown=768,SDL.DOMEventToSDLEvent.keyup=769,SDL.DOMEventToSDLEvent.keypress=771,SDL.DOMEventToSDLEvent.mousedown=1025,SDL.DOMEventToSDLEvent.mouseup=1026,SDL.DOMEventToSDLEvent.mousemove=1024,SDL.DOMEventToSDLEvent.wheel=1027,SDL.DOMEventToSDLEvent.touchstart=1792,SDL.DOMEventToSDLEvent.touchend=1793,SDL.DOMEventToSDLEvent.touchmove=1794,SDL.DOMEventToSDLEvent.unload=256,SDL.DOMEventToSDLEvent.resize=28673,SDL.DOMEventToSDLEvent.visibilitychange=512,SDL.DOMEventToSDLEvent.focus=512,SDL.DOMEventToSDLEvent.blur=512,SDL.DOMEventToSDLEvent.joystick_axis_motion=1536,SDL.DOMEventToSDLEvent.joystick_button_down=1539,SDL.DOMEventToSDLEvent.joystick_button_up=1540,0}_SDL_Init.sig="ii";function _SDL_WasInit(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(303,0,1,e):(SDL.startTime===null&&_SDL_Init(0),1)}_SDL_WasInit.sig="ii";function _SDL_GetVideoInfo(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(304,0,1);var e=_malloc(20);return zeroMemory(e,3),GROWABLE_HEAP_I32()[e+12>>>2>>>0]=Module.canvas.width,GROWABLE_HEAP_I32()[e+16>>>2>>>0]=Module.canvas.height,e}_SDL_GetVideoInfo.sig="p";function _SDL_ListModes(e,r){return e>>>=0,-1}_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(e,r,t,n)=>t;_SDL_VideoModeOK.sig="iiiii";function _SDL_VideoDriverName(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(305,0,1,e,r);if(e>>>=0,SDL.startTime===null)return 0;var t=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114],n=0,_=t.length;for(r<=_&&(_=r-1);n<_;){var a=t[n];GROWABLE_HEAP_I8()[e+n>>>0]=a,n++}return GROWABLE_HEAP_I8()[e+n>>>0]=0,e}_SDL_VideoDriverName.sig="ppi";var _SDL_AudioDriverName=_SDL_VideoDriverName;_SDL_AudioDriverName.sig="ppi";var _SDL_SetVideoMode=function(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(306,0,1,e,r,t,n);["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","mousewheel","wheel","mouseout","DOMMouseScroll"].forEach(a=>Module.canvas.addEventListener(a,SDL.receiveEvent,!0));var _=Module.canvas;return e==0&&r==0&&(e=_.width,r=_.height),SDL.addedResizeListener||(SDL.addedResizeListener=!0,Browser.resizeListeners.push((a,o)=>{SDL.settingVideoMode||SDL.receiveEvent({type:"resize",w:a,h:o})})),SDL.settingVideoMode=!0,Browser.setCanvasSize(e,r),SDL.settingVideoMode=!1,SDL.screen&&(SDL.freeSurface(SDL.screen),assert(!SDL.screen)),SDL.GL&&(n=n|67108864),SDL.screen=SDL.makeSurface(e,r,n,!0,"screen"),SDL.screen};_SDL_SetVideoMode.sig="piiii";function _SDL_GetVideoSurface(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(307,0,1):SDL.screen}_SDL_GetVideoSurface.sig="p";function _SDL_AudioQuit(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(308,0,1);for(var e=0;eout("SDL_VideoQuit called (and ignored)");_SDL_VideoQuit.sig="v";var _SDL_QuitSubSystem=e=>out("SDL_QuitSubSystem called (and ignored)");_SDL_QuitSubSystem.sig="vi";var _SDL_Quit=()=>{_SDL_AudioQuit(),out("SDL_Quit called (and ignored)")};_SDL_Quit.sig="v";function _SDL_UnlockSurface(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(309,0,1,e);e>>>=0,assert(!SDL.GL);var r=SDL.surfaces[e];if(!(!r.locked||--r.locked>0)){if(r.isFlagSet(2097152))SDL.copyIndexedColorData(r);else if(r.colors)for(var g=Module.canvas.width,E=Module.canvas.height,v=r.buffer,t=r.image.data,b=r.colors,D=0;D>>0]*4,x=h+T*4;t[x]=b[c],t[x+1]=b[c+1],t[x+2]=b[c+2]}v+=g*3}else{var t=r.image.data,n=r.buffer;assert(n%4==0,"Invalid buffer offset: "+n);var _=n>>>2,a=0,o=e==SDL.screen,l;if(typeof CanvasPixelArray<"u"&&t instanceof CanvasPixelArray)for(l=t.length;a>>0];t[a]=c&255,t[a+1]=c>>8&255,t[a+2]=c>>16&255,t[a+3]=o?255:c>>24&255,_++,a+=4}else{var u=new Uint32Array(t.buffer);if(o&&SDL.defaults.opaqueFrontBuffer){l=u.length,u.set(GROWABLE_HEAP_I32().subarray(_>>>0,_+l>>>0));var d=new Uint8Array(t.buffer),p=3,f=p+4*l;if(l%8==0)for(;p>>0,_+u.length>>>0))}}r.ctx.putImageData(r.image,0,0)}}_SDL_UnlockSurface.sig="vp";function _SDL_Flip(e){e>>>=0}_SDL_Flip.sig="ip";function _SDL_UpdateRect(e,r,t,n,_){e>>>=0}_SDL_UpdateRect.sig="vpiiii";function _SDL_UpdateRects(e,r,t){e>>>=0,t>>>=0}_SDL_UpdateRects.sig="vpip";var _SDL_Delay=e=>{ENVIRONMENT_IS_WORKER||abort("SDL_Delay called on the main thread! Potential infinite loop, quitting. (consider building with async support like ASYNCIFY)");for(var r=Date.now();Date.now()-r>>=0,r>>>=0,e&&_emscripten_set_window_title(e),r&&(r=UTF8ToString(r))}_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(e,r)=>{};_SDL_EnableKeyRepeat.sig="iii";function _SDL_GetKeyboardState(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(311,0,1,e):(e>>>=0,e&&(GROWABLE_HEAP_I32()[e>>>2>>>0]=65536),SDL.keyboardState)}_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0);function _SDL_GetKeyName(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(312,0,1,e):(SDL.keyName||(SDL.keyName=stringToNewUTF8("unknown key")),SDL.keyName)}_SDL_GetKeyName.sig="pi";function _SDL_GetModState(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(313,0,1):SDL.modState}_SDL_GetModState.sig="i";function _SDL_GetMouseState(e,r){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(314,0,1,e,r):(e>>>=0,r>>>=0,e&&(GROWABLE_HEAP_I32()[e>>>2>>>0]=Browser.mouseX),r&&(GROWABLE_HEAP_I32()[r>>>2>>>0]=Browser.mouseY),SDL.buttonState)}_SDL_GetMouseState.sig="ipp";function _SDL_WarpMouse(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(315,0,1,e,r)}_SDL_WarpMouse.sig="vii";function _SDL_ShowCursor(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(316,0,1,e);switch(e){case 0:return Browser.isFullscreen?(Module.canvas.requestPointerLock(),0):1;case 1:return Module.canvas.exitPointerLock(),1;case-1:return!Browser.pointerLock;default:err("SDL_ShowCursor called with unknown toggle parameter value: ".concat(e));break}}_SDL_ShowCursor.sig="ii";function _SDL_GetError(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(317,0,1):(SDL.errorMessage||(SDL.errorMessage=stringToNewUTF8("unknown SDL-emscripten error")),SDL.errorMessage)}_SDL_GetError.sig="p";function _SDL_SetError(e,r){e>>>=0,r>>>=0}_SDL_SetError.sig="vpp";function _SDL_CreateRGBSurface(e,r,t,n,_,a,o,l){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(318,0,1,e,r,t,n,_,a,o,l):SDL.makeSurface(r,t,e,!1,"CreateRGBSurface",_,a,o,l)}_SDL_CreateRGBSurface.sig="piiiiiiii";function _SDL_CreateRGBSurfaceFrom(e,r,t,n,_,a,o,l,c){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(319,0,1,e,r,t,n,_,a,o,l,c);e>>>=0;var u=SDL.makeSurface(r,t,0,!1,"CreateRGBSurfaceFrom",a,o,l,c);if(n!==32)return err("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!"),u;for(var d=SDL.surfaces[u],p=d.ctx.createImageData(r,t),f=r*4,g=0;g>>0];return d.ctx.putImageData(p,0,0),u}_SDL_CreateRGBSurfaceFrom.sig="ppiiiiiiii";function _SDL_ConvertSurface(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(320,0,1,e,r,t);e>>>=0,r>>>=0,r&&SDL.checkPixelFormat(r);var n=SDL.surfaces[e],_=SDL.makeSurface(n.width,n.height,n.flags,!1,"copy:"+n.source),a=SDL.surfaces[_];return a.ctx.globalCompositeOperation="copy",a.ctx.drawImage(n.canvas,0,0),a.ctx.globalCompositeOperation=n.ctx.globalCompositeOperation,_}_SDL_ConvertSurface.sig="pppi";function _SDL_DisplayFormatAlpha(e){return e>>>=0,_SDL_ConvertSurface(e,0,0)}_SDL_DisplayFormatAlpha.sig="pp";function _SDL_FreeSurface(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(321,0,1,e);e>>>=0,e&&SDL.freeSurface(e)}_SDL_FreeSurface.sig="vp";function _SDL_UpperBlit(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(322,0,1,e,r,t,n):(e>>>=0,r>>>=0,t>>>=0,n>>>=0,SDL.blitSurface(e,r,t,n,!1))}_SDL_UpperBlit.sig="ipppp";function _SDL_UpperBlitScaled(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(323,0,1,e,r,t,n):(e>>>=0,r>>>=0,t>>>=0,n>>>=0,SDL.blitSurface(e,r,t,n,!0))}_SDL_UpperBlitScaled.sig="ipppp";var _SDL_LowerBlit=_SDL_UpperBlit;_SDL_LowerBlit.sig="ipppp";var _SDL_LowerBlitScaled=_SDL_UpperBlitScaled;_SDL_LowerBlitScaled.sig="ipppp";function _SDL_GetClipRect(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(324,0,1,e,r);e>>>=0,r>>>=0,assert(r);var t=SDL.surfaces[e],n=t.clipRect||{x:0,y:0,w:t.width,h:t.height};SDL.updateRect(r,n)}_SDL_GetClipRect.sig="vpp";function _SDL_SetClipRect(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(325,0,1,e,r);e>>>=0,r>>>=0;var t=SDL.surfaces[e];r?t.clipRect=SDL.intersectionOfRects({x:0,y:0,w:t.width,h:t.height},SDL.loadRect(r)):delete t.clipRect}_SDL_SetClipRect.sig="ipp";function _SDL_FillRect(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(326,0,1,e,r,t);e>>>=0,r>>>=0;var n=SDL.surfaces[e];assert(!n.locked),n.isFlagSet(2097152)&&(t=n.colors32[t]);var _=r?SDL.loadRect(r):{x:0,y:0,w:n.width,h:n.height};return n.clipRect&&(_=SDL.intersectionOfRects(n.clipRect,_),r&&SDL.updateRect(r,_)),n.ctx.save(),n.ctx.fillStyle=SDL.translateColorToCSSRGBA(t),n.ctx.fillRect(_.x,_.y,_.w,_.h),n.ctx.restore(),0}_SDL_FillRect.sig="ippi";function _zoomSurface(e,r,t,n){e>>>=0;var _=SDL.surfaces[e],a=_.width*r,o=_.height*t,l=SDL.makeSurface(Math.abs(a),Math.abs(o),_.flags,!1,"zoomSurface"),c=SDL.surfaces[l];return r>=0&&t>=0?c.ctx.drawImage(_.canvas,0,0,a,o):(c.ctx.save(),c.ctx.scale(r<0?-1:1,t<0?-1:1),c.ctx.drawImage(_.canvas,a<0?a:0,o<0?o:0,Math.abs(a),Math.abs(o)),c.ctx.restore()),l}_zoomSurface.sig="ppddi";function _rotozoomSurface(e,r,t,n){if(e>>>=0,r%360===0)return _zoomSurface(e,t,t,n);var _=SDL.surfaces[e],a=_.width*t,o=_.height*t,l=Math.ceil(Math.sqrt(Math.pow(a,2)+Math.pow(o,2))),c=SDL.makeSurface(l,l,_.flags,!1,"rotozoomSurface"),u=SDL.surfaces[c];return u.ctx.translate(l/2,l/2),u.ctx.rotate(-r*Math.PI/180),u.ctx.drawImage(_.canvas,-a/2,-o/2,a,o),c}_rotozoomSurface.sig="ppddi";function _SDL_SetAlpha(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(327,0,1,e,r,t);e>>>=0;var n=SDL.surfaces[e];n.alpha=t,r&65536||(n.alpha=255)}_SDL_SetAlpha.sig="ipii";function _SDL_SetColorKey(e,r,t){return e>>>=0,warnOnce("SDL_SetColorKey is a no-op for performance reasons"),0}_SDL_SetColorKey.sig="ipii";function _SDL_PollEvent(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(328,0,1,e):(e>>>=0,SDL.pollEvent(e))}_SDL_PollEvent.sig="ip";function _SDL_PushEvent(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(329,0,1,e);e>>>=0;var r=_malloc(28);return _memcpy(r,e,28),SDL.events.push(r),0}_SDL_PushEvent.sig="ip";function _SDL_PeepEvents(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(330,0,1,e,r,t,n,_);switch(e>>>=0,t){case 2:{assert(r==1);for(var a=0,o=0;a>>=0,r>>>=0,SDL.eventHandler=e,SDL.eventHandlerContext=r,SDL.eventHandlerTemp||(SDL.eventHandlerTemp=_malloc(28))}_emscripten_SDL_SetEventHandler.sig="vpp";function _SDL_SetColors(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(333,0,1,e,r,t,n);e>>>=0,r>>>=0;var _=SDL.surfaces[e];if(!_.colors){var a=new ArrayBuffer(1024);_.colors=new Uint8Array(a),_.colors32=new Uint32Array(a)}for(var o=0;o>>0],_.colors[l+1]=GROWABLE_HEAP_U8()[r+(o*4+1)>>>0],_.colors[l+2]=GROWABLE_HEAP_U8()[r+(o*4+2)>>>0],_.colors[l+3]=255}return 1}_SDL_SetColors.sig="ippii";function _SDL_SetPalette(e,r,t,n,_){return e>>>=0,t>>>=0,_SDL_SetColors(e,t,n,_)}_SDL_SetPalette.sig="ipipii";function _SDL_MapRGB(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(334,0,1,e,r,t,n):(e>>>=0,SDL.checkPixelFormat(e),r&255|(t&255)<<8|(n&255)<<16|4278190080)}_SDL_MapRGB.sig="ipiii";function _SDL_MapRGBA(e,r,t,n,_){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(335,0,1,e,r,t,n,_):(e>>>=0,SDL.checkPixelFormat(e),r&255|(t&255)<<8|(n&255)<<16|(_&255)<<24)}_SDL_MapRGBA.sig="ipiiii";function _SDL_GetRGB(e,r,t,n,_){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(336,0,1,e,r,t,n,_);r>>>=0,t>>>=0,n>>>=0,_>>>=0,SDL.checkPixelFormat(r),t&&(GROWABLE_HEAP_I8()[t>>>0]=e&255),n&&(GROWABLE_HEAP_I8()[n>>>0]=e>>8&255),_&&(GROWABLE_HEAP_I8()[_>>>0]=e>>16&255)}_SDL_GetRGB.sig="vipppp";function _SDL_GetRGBA(e,r,t,n,_,a){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(337,0,1,e,r,t,n,_,a);r>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,SDL.checkPixelFormat(r),t&&(GROWABLE_HEAP_I8()[t>>>0]=e&255),n&&(GROWABLE_HEAP_I8()[n>>>0]=e>>8&255),_&&(GROWABLE_HEAP_I8()[_>>>0]=e>>16&255),a&&(GROWABLE_HEAP_I8()[a>>>0]=e>>24&255)}_SDL_GetRGBA.sig="vippppp";function _SDL_GetAppState(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(338,0,1);var e=0;return Browser.pointerLock&&(e|=1),document.hasFocus()&&(e|=2),e|=4,e}_SDL_GetAppState.sig="i";var _SDL_WM_GrabInput=()=>{};_SDL_WM_GrabInput.sig="ii";function _SDL_WM_ToggleFullScreen(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(339,0,1,e):(e>>>=0,Browser.exitFullscreen()?1:SDL.canRequestFullscreen?(SDL.isRequestingFullscreen=!0,1):0)}_SDL_WM_ToggleFullScreen.sig="ip";var _IMG_Init=e=>e;_IMG_Init.sig="ii";function _SDL_FreeRW(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(341,0,1,e);for(e>>>=0,SDL.rwops[e]=null;SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null;)SDL.rwops.pop()}_SDL_FreeRW.sig="vp";var _IMG_Load_RW=function(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(340,0,1,e,r);e>>>=0;try{var t=()=>{a&&r&&_SDL_FreeRW(e)},n=T=>{var x=t;t=()=>{x(),T()}},_=(T,x)=>withStackSave(()=>{var S=stackAlloc(4),M=stackAlloc(4),A=stackAlloc(4),L=Module["_"+T](...x,S,M,A,0);return L?(n(()=>Module._stbi_image_free(L)),{rawData:!0,data:L,width:GROWABLE_HEAP_I32()[S>>>2>>>0],height:GROWABLE_HEAP_I32()[M>>>2>>>0],size:GROWABLE_HEAP_I32()[S>>>2>>>0]*GROWABLE_HEAP_I32()[M>>>2>>>0]*GROWABLE_HEAP_I32()[A>>>2>>>0],bpp:GROWABLE_HEAP_I32()[A>>>2>>>0]}):null}),a=SDL.rwops[e];if(a===void 0)return 0;var o,l=a.filename;if(l===void 0)return warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins"),0;if(!o)if(l=PATH_FS.resolve(l),o=preloadedImages[l],o)Module.freePreloadedMediaOnUse&&(preloadedImages[l]=null);else return o===null&&err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!"),warnOnce("Cannot find preloaded image "+l),warnOnce("Cannot find preloaded image "+l+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins"),0;var c=SDL.makeSurface(o.width,o.height,0,!1,"load:"+l),u=SDL.surfaces[c];if(u.ctx.globalCompositeOperation="copy",!o.rawData)u.ctx.drawImage(o,0,0,o.width,o.height,0,0,o.width,o.height);else{var d=u.ctx.getImageData(0,0,u.width,u.height);if(o.bpp==4)d.data.set(GROWABLE_HEAP_U8().subarray(o.data>>>0,o.data+o.size>>>0));else if(o.bpp==3)for(var p=o.size/3,f=d.data,g=o.data,E=0,v=0;v>>0],f[E++]=GROWABLE_HEAP_U8()[g++>>>0],f[E++]=GROWABLE_HEAP_U8()[g++>>>0],f[E++]=255;else if(o.bpp==2)for(var p=o.size,f=d.data,g=o.data,E=0,v=0;v>>0],D=GROWABLE_HEAP_U8()[g++>>>0];f[E++]=b,f[E++]=b,f[E++]=b,f[E++]=D}else if(o.bpp==1)for(var p=o.size,f=d.data,g=o.data,E=0,v=0;v>>0];f[E++]=h,f[E++]=h,f[E++]=h,f[E++]=255}else return err("cannot handle bpp ".concat(o.bpp)),0;u.ctx.putImageData(d,0,0)}return u.ctx.globalCompositeOperation="source-over",_SDL_LockSurface(c),u.locked--,SDL.GL&&(u.canvas=u.ctx=null),c}finally{t()}};_IMG_Load_RW.sig="ppi";var _SDL_LoadBMP_RW=_IMG_Load_RW;_SDL_LoadBMP_RW.sig="ppi";function _SDL_RWFromFile(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(343,0,1,e,r);e>>>=0,r>>>=0;var t=SDL.rwops.length,n=UTF8ToString(e);return SDL.rwops.push({filename:n,mimetype:Browser.getMimetype(n)}),t}_SDL_RWFromFile.sig="ppp";function _IMG_Load(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(342,0,1,e);e>>>=0;var r=_SDL_RWFromFile(e,0),t=_IMG_Load_RW(r,1);return t}_IMG_Load.sig="pp";var _IMG_Quit=()=>out("IMG_Quit called (and ignored)");_IMG_Quit.sig="v";function _SDL_OpenAudio(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(344,0,1,e,r);e>>>=0,r>>>=0;try{if(SDL.audio={freq:GROWABLE_HEAP_U32()[e>>>2>>>0],format:GROWABLE_HEAP_U16()[e+4>>>1>>>0],channels:GROWABLE_HEAP_U8()[e+6>>>0],samples:GROWABLE_HEAP_U16()[e+8>>>1>>>0],callback:GROWABLE_HEAP_U32()[e+16>>>2>>>0],userdata:GROWABLE_HEAP_U32()[e+20>>>2>>>0],paused:!0,timer:null},SDL.audio.format==8)SDL.audio.silence=128;else if(SDL.audio.format==32784)SDL.audio.silence=0;else if(SDL.audio.format==33056)SDL.audio.silence=0;else throw"Invalid SDL audio format "+SDL.audio.format+"!";if(SDL.audio.freq<=0)throw"Unsupported sound frequency "+SDL.audio.freq+"!";if(SDL.audio.freq<=22050)SDL.audio.freq=22050;else if(SDL.audio.freq<=32e3)SDL.audio.freq=32e3;else if(SDL.audio.freq<=44100)SDL.audio.freq=44100;else if(SDL.audio.freq<=48e3)SDL.audio.freq=48e3;else if(SDL.audio.freq<=96e3)SDL.audio.freq=96e3;else throw"Unsupported sound frequency ".concat(SDL.audio.freq,"!");if(SDL.audio.channels==0)SDL.audio.channels=1;else{if(SDL.audio.channels<0||SDL.audio.channels>32)throw"Unsupported number of audio channels for SDL audio: ".concat(SDL.audio.channels,"!");SDL.audio.channels!=1&&SDL.audio.channels!=2&&out("Warning: Using untested number of audio channels ".concat(SDL.audio.channels))}if(SDL.audio.samples<128||SDL.audio.samples>524288)throw"Unsupported audio callback buffer size ".concat(SDL.audio.samples,"!");if(SDL.audio.samples&SDL.audio.samples-1)throw"Audio callback buffer size ".concat(SDL.audio.samples," must be a power-of-two!");var t=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8)SDL.audio.bytesPerSample=1;else if(SDL.audio.format==32784)SDL.audio.bytesPerSample=2;else if(SDL.audio.format==33056)SDL.audio.bytesPerSample=4;else throw"Invalid SDL audio format ".concat(SDL.audio.format,"!");if(SDL.audio.bufferSize=t*SDL.audio.bytesPerSample,SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq,SDL.audio.bufferingDelay=.05,SDL.audio.buffer=_malloc(SDL.audio.bufferSize),SDL.audio.numSimultaneouslyQueuedBuffers=Module.SDL_numSimultaneouslyQueuedBuffers||5,SDL.audio.queueNewAudioData=()=>{if(SDL.audio)for(var n=0;n=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;getWasmTableEntry(SDL.audio.callback)(SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize),SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}},SDL.audio.caller=()=>{if(SDL.audio){--SDL.audio.numAudioTimersPending,SDL.audio.queueNewAudioData();var n=SDL.audio.nextPlayTime-SDL.audioContext.currentTime,_=SDL.audio.bufferDurationSecs/2;SDL.audio.numAudioTimersPending{try{if(SDL.audio.paused)return;var a=_/SDL.audio.bytesPerSample,o=a/SDL.audio.channels;if(o!=SDL.audio.samples)throw"Received mismatching audio buffer size!";var l=SDL.audioContext.createBufferSource(),c=SDL.audioContext.createBuffer(SDL.audio.channels,o,SDL.audio.freq);l.connect(SDL.audioContext.destination),SDL.fillWebAudioBufferFromHeap(n,o,c),l.buffer=c;var u=SDL.audioContext.currentTime,d=Math.max(u+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);typeof l.start<"u"?l.start(d):typeof l.noteOn<"u"&&l.noteOn(d),SDL.audio.nextPlayTime=d+SDL.audio.bufferDurationSecs}catch(p){err("Web Audio API error playing back audio: ".concat(p.toString()))}},r&&(GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.audio.freq,GROWABLE_HEAP_I16()[r+4>>>1>>>0]=SDL.audio.format,GROWABLE_HEAP_I8()[r+6>>>0]=SDL.audio.channels,GROWABLE_HEAP_I8()[r+7>>>0]=SDL.audio.silence,GROWABLE_HEAP_I16()[r+8>>>1>>>0]=SDL.audio.samples,GROWABLE_HEAP_U32()[r+16>>>2>>>0]=SDL.audio.callback,GROWABLE_HEAP_U32()[r+20>>>2>>>0]=SDL.audio.userdata),SDL.allocateChannels(32)}catch(n){err('Initializing SDL audio threw an exception: "'.concat(n.toString(),'"! Continuing without audio')),SDL.audio=null,SDL.allocateChannels(0),r&&(GROWABLE_HEAP_I32()[r>>>2>>>0]=0,GROWABLE_HEAP_I16()[r+4>>>1>>>0]=0,GROWABLE_HEAP_I8()[r+6>>>0]=0,GROWABLE_HEAP_I8()[r+7>>>0]=0,GROWABLE_HEAP_I16()[r+8>>>1>>>0]=0,GROWABLE_HEAP_U32()[r+16>>>2>>>0]=0,GROWABLE_HEAP_U32()[r+20>>>2>>>0]=0)}return SDL.audio?0:-1}_SDL_OpenAudio.sig="ipp";function _SDL_PauseAudio(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(345,0,1,e);SDL.audio&&(e?SDL.audio.timer!==void 0&&(clearTimeout(SDL.audio.timer),SDL.audio.numAudioTimersPending=0,SDL.audio.timer=void 0):SDL.audio.timer||(SDL.audio.numAudioTimersPending=1,SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)),SDL.audio.paused=e)}_SDL_PauseAudio.sig="vi";function _SDL_CloseAudio(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(346,0,1);SDL.audio&&(SDL.audio.callbackRemover&&(SDL.audio.callbackRemover(),SDL.audio.callbackRemover=null),_SDL_PauseAudio(1),_free(SDL.audio.buffer),SDL.audio=null,SDL.allocateChannels(0))}_SDL_CloseAudio.sig="v";var _SDL_LockAudio=()=>{};_SDL_LockAudio.sig="v";var _SDL_UnlockAudio=()=>{};_SDL_UnlockAudio.sig="v";function _SDL_CreateMutex(){return 0}_SDL_CreateMutex.sig="p";function _SDL_mutexP(e){return e>>>=0,0}_SDL_mutexP.sig="ip";function _SDL_mutexV(e){return e>>>=0,0}_SDL_mutexV.sig="ip";function _SDL_DestroyMutex(e){e>>>=0}_SDL_DestroyMutex.sig="vp";function _SDL_CreateCond(){return 0}_SDL_CreateCond.sig="p";function _SDL_CondSignal(e){e>>>=0}_SDL_CondSignal.sig="ip";function _SDL_CondWait(e,r){e>>>=0,r>>>=0}_SDL_CondWait.sig="ipp";function _SDL_DestroyCond(e){e>>>=0}_SDL_DestroyCond.sig="vp";function _SDL_StartTextInput(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(347,0,1);SDL.textInput=!0}_SDL_StartTextInput.sig="v";function _SDL_StopTextInput(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(348,0,1);SDL.textInput=!1}_SDL_StopTextInput.sig="v";var _Mix_Init=e=>e?8:0;_Mix_Init.sig="ii";var _Mix_Quit=()=>{};_Mix_Quit.sig="v";function _Mix_OpenAudio(e,r,t,n){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(349,0,1,e,r,t,n):(SDL.openAudioContext(),autoResumeAudioContext(SDL.audioContext),SDL.allocateChannels(32),SDL.mixerFrequency=e,SDL.mixerFormat=r,SDL.mixerNumChannels=t,SDL.mixerChunkSize=n,0)}_Mix_OpenAudio.sig="iiiii";var _Mix_CloseAudio=_SDL_CloseAudio;_Mix_CloseAudio.sig="v";function _Mix_AllocateChannels(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(350,0,1,e):(SDL.allocateChannels(e),e)}_Mix_AllocateChannels.sig="ii";function _Mix_ChannelFinished(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(351,0,1,e);e>>>=0,SDL.channelFinished=e}_Mix_ChannelFinished.sig="vp";function _Mix_Volume(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(352,0,1,e,r);if(e==-1){for(var t=0;t>>=0;var t=SDL.rwops[e];if(t===void 0)return 0;var n="",_,a,o;if(t.filename!==void 0){n=PATH_FS.resolve(t.filename);var l=preloadedAudios[n];if(!l){l===null&&err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!"),Module.noAudioDecoding||warnOnce("Cannot find preloaded audio "+n);try{o=FS.readFile(n)}catch(E){return err("Couldn't find file for: ".concat(n)),0}}Module.freePreloadedMediaOnUse&&(preloadedAudios[n]=null),_=l}else if(t.bytes!==void 0)SDL.webAudioAvailable()?o=GROWABLE_HEAP_U8().buffer.slice(t.bytes,t.bytes+t.count):o=GROWABLE_HEAP_U8().subarray(t.bytes>>>0,t.bytes+t.count>>>0);else return 0;var c=o&&(o.buffer||o),u=Module.SDL_canPlayWithWebAudio===void 0||Module.SDL_canPlayWithWebAudio(n,c);if(o!==void 0&&SDL.webAudioAvailable()&&u){_=void 0,a={},a.onDecodeComplete=[];var d=E=>{a.decodedBuffer=E,a.onDecodeComplete.forEach(v=>v()),a.onDecodeComplete=void 0};SDL.audioContext.decodeAudioData(c,d)}else if(_===void 0&&o){var p=new Blob([o],{type:t.mimetype}),f=URL.createObjectURL(p);_=new Audio,_.src=f,_.mozAudioChannelType="content"}var g=SDL.audios.length;return SDL.audios.push({source:n,audio:_,webAudio:a}),g}_Mix_LoadWAV_RW.sig="ppi";function _Mix_LoadWAV(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(355,0,1,e);e>>>=0;var r=_SDL_RWFromFile(e,0),t=_Mix_LoadWAV_RW(r,0);return _SDL_FreeRW(r),t}_Mix_LoadWAV.sig="pp";function _Mix_QuickLoad_RAW(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(356,0,1,e,r);e>>>=0;for(var t,n,_=r>>1,a=new Float32Array(_),o=0;o<_;++o)a[o]=GROWABLE_HEAP_I16()[e+o*2>>>1>>>0]/32768;SDL.webAudioAvailable()?(n={},n.decodedBuffer=a):(t=new Audio,t.mozAudioChannelType="content",t.numChannels=SDL.mixerNumChannels,t.frequency=SDL.mixerFrequency);var l=SDL.audios.length;return SDL.audios.push({source:"",audio:t,webAudio:n,buffer:a}),l}_Mix_QuickLoad_RAW.sig="ppi";function _Mix_FreeChunk(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(357,0,1,e);e>>>=0,SDL.audios[e]=null}_Mix_FreeChunk.sig="vp";function _Mix_ReserveChannels(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(358,0,1,e);SDL.channelMinimumNumber=e}_Mix_ReserveChannels.sig="ii";function _Mix_PlayChannelTimed(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(359,0,1,e,r,t,n);r>>>=0,assert(n==-1);var _=SDL.audios[r];if(!_||!_.audio&&!_.webAudio)return-1;if(e==-1){for(var a=SDL.channelMinimumNumber;a0;_Mix_FadingChannel.sig="ii";function _Mix_HaltChannel(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(360,0,1,e);function r(n){var _=SDL.channels[n];_.audio&&(_.audio.pause(),_.audio=null),SDL.channelFinished&&getWasmTableEntry(SDL.channelFinished)(n)}if(e!=-1)r(e);else for(var t=0;t>>=0,SDL.hookMusicFinished=e,SDL.music.audio&&(SDL.music.audio.onended=_Mix_HaltMusic)}_Mix_HookMusicFinished.sig="vp";function _Mix_VolumeMusic(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(363,0,1,e):SDL.setGetVolume(SDL.music,e)}_Mix_VolumeMusic.sig="ii";var _Mix_LoadMUS_RW=_Mix_LoadWAV_RW;_Mix_LoadMUS_RW.sig="pp";function _Mix_LoadMUS(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(364,0,1,e);e>>>=0;var r=_SDL_RWFromFile(e,0),t=_Mix_LoadMUS_RW(r,0);return _SDL_FreeRW(r),t}_Mix_LoadMUS.sig="pp";var _Mix_FreeMusic=_Mix_FreeChunk;_Mix_FreeMusic.sig="vp";function _Mix_PlayMusic(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(365,0,1,e,r);e>>>=0,SDL.music.audio&&(SDL.music.audio.paused||err("Music is already playing. ".concat(SDL.music.source)),SDL.music.audio.pause());var t=SDL.audios[e],n;return t.webAudio?(n={},n.resource=t,n.paused=!1,n.currentPosition=0,n.play=function(){SDL.playWebAudio(this)},n.pause=function(){SDL.pauseWebAudio(this)}):t.audio&&(n=t.audio),n.onended=function(){SDL.music.audio==this&&_Mix_HaltMusic()},n.loop=r!=0&&r!=1,n.volume=SDL.music.volume,SDL.music.audio=n,n.play(),0}_Mix_PlayMusic.sig="ipi";function _Mix_PauseMusic(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(366,0,1);var e=SDL.music.audio;e==null||e.pause()}_Mix_PauseMusic.sig="v";function _Mix_ResumeMusic(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(367,0,1);var e=SDL.music.audio;e==null||e.play()}_Mix_ResumeMusic.sig="v";var _Mix_FadeInMusicPos=_Mix_PlayMusic;_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=_Mix_HaltMusic;_Mix_FadeOutMusic.sig="ii";function _Mix_PlayingMusic(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(368,0,1):SDL.music.audio&&!SDL.music.audio.paused?1:0}_Mix_PlayingMusic.sig="i";function _Mix_Playing(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(369,0,1,e);if(e===-1){for(var r=0,t=0;t>>=0,e=PATH.normalize(UTF8ToString(e));var t=SDL.fonts.length;return SDL.fonts.push({name:e,size:r}),t}_TTF_OpenFont.sig="ppi";function _TTF_CloseFont(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(376,0,1,e);e>>>=0,SDL.fonts[e]=null}_TTF_CloseFont.sig="vp";function _TTF_RenderText_Solid(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(377,0,1,e,r,t);e>>>=0,r>>>=0,t>>>=0,r=UTF8ToString(r)||" ";var n=SDL.fonts[e],_=SDL.estimateTextWidth(n,r),a=n.size;t=SDL.loadColorToCSSRGB(t);var o=SDL.makeFontString(a,n.name),l=SDL.makeSurface(_,a,0,!1,"text:"+r),c=SDL.surfaces[l];return c.ctx.save(),c.ctx.fillStyle=t,c.ctx.font=o,c.ctx.textBaseline="bottom",c.ctx.fillText(r,0,a|0),c.ctx.restore(),l}_TTF_RenderText_Solid.sig="pppp";var _TTF_RenderText_Blended=_TTF_RenderText_Solid;_TTF_RenderText_Blended.sig="pppp";var _TTF_RenderText_Shaded=_TTF_RenderText_Solid;_TTF_RenderText_Shaded.sig="ppppp";var _TTF_RenderUTF8_Solid=_TTF_RenderText_Solid;_TTF_RenderUTF8_Solid.sig="pppp";function _TTF_SizeText(e,r,t,n){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(378,0,1,e,r,t,n);e>>>=0,r>>>=0,t>>>=0,n>>>=0;var _=SDL.fonts[e];return t&&(GROWABLE_HEAP_I32()[t>>>2>>>0]=SDL.estimateTextWidth(_,UTF8ToString(r))),n&&(GROWABLE_HEAP_I32()[n>>>2>>>0]=_.size),0}_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";function _TTF_GlyphMetrics(e,r,t,n,_,a,o){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(379,0,1,e,r,t,n,_,a,o);e>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,o>>>=0;var l=SDL.fonts[e],c=SDL.estimateTextWidth(l,String.fromCharCode(r));o&&(GROWABLE_HEAP_I32()[o>>>2>>>0]=c),t&&(GROWABLE_HEAP_I32()[t>>>2>>>0]=0),n&&(GROWABLE_HEAP_I32()[n>>>2>>>0]=c),_&&(GROWABLE_HEAP_I32()[_>>>2>>>0]=0),a&&(GROWABLE_HEAP_I32()[a>>>2>>>0]=l.size)}_TTF_GlyphMetrics.sig="ipippppp";function _TTF_FontAscent(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(380,0,1,e);e>>>=0;var r=SDL.fonts[e];return r.size*.98|0}_TTF_FontAscent.sig="ip";function _TTF_FontDescent(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(381,0,1,e);e>>>=0;var r=SDL.fonts[e];return r.size*.02|0}_TTF_FontDescent.sig="ip";function _TTF_FontHeight(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(382,0,1,e);e>>>=0;var r=SDL.fonts[e];return r.size}_TTF_FontHeight.sig="ip";var _TTF_FontLineSkip=_TTF_FontHeight;_TTF_FontLineSkip.sig="ip";var _TTF_Quit=()=>out("TTF_Quit called (and ignored)");_TTF_Quit.sig="v";var SDL_gfx={drawRectangle:(e,r,t,n,_,a,o)=>{r=r<<16>>16,t=t<<16>>16,n=n<<16>>16,_=_<<16>>16;var l=SDL.surfaces[e];assert(!l.locked);var c=r{r=r<<16>>16,t=t<<16>>16,n=n<<16>>16,_=_<<16>>16;var o=SDL.surfaces[e];assert(!o.locked),o.ctx.save(),o.ctx.strokeStyle=a,o.ctx.beginPath(),o.ctx.moveTo(r,t),o.ctx.lineTo(n,_),o.ctx.stroke(),o.ctx.restore()},drawEllipse:(e,r,t,n,_,a,o)=>{r=r<<16>>16,t=t<<16>>16,n=n<<16>>16,_=_<<16>>16;var l=SDL.surfaces[e];assert(!l.locked),l.ctx.save(),l.ctx.beginPath(),l.ctx.translate(r,t),l.ctx.scale(n,_),l.ctx.arc(0,0,1,0,2*Math.PI),l.ctx.restore(),l.ctx.save(),l.ctx[a+"Style"]=o,l.ctx[a](),l.ctx.restore()},translateColorToCSSRGBA:e=>"rgba(".concat(e>>>24,",").concat(e>>16&255,",").concat(e>>8&255,",").concat(e&255,")")};function _boxColor(e,r,t,n,_,a){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,_,"fill",SDL_gfx.translateColorToCSSRGBA(a))}_boxColor.sig="ipiiiii";function _boxRGBA(e,r,t,n,_,a,o,l,c){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,_,"fill",SDL.translateRGBAToCSSRGBA(a,o,l,c))}_boxRGBA.sig="ipiiiiiiii";function _rectangleColor(e,r,t,n,_,a){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,_,"stroke",SDL_gfx.translateColorToCSSRGBA(a))}_rectangleColor.sig="ipiiiii";function _rectangleRGBA(e,r,t,n,_,a,o,l,c){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,_,"stroke",SDL.translateRGBAToCSSRGBA(a,o,l,c))}_rectangleRGBA.sig="ipiiiiiiii";function _ellipseColor(e,r,t,n,_,a){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,_,"stroke",SDL_gfx.translateColorToCSSRGBA(a))}_ellipseColor.sig="ipiiiii";function _ellipseRGBA(e,r,t,n,_,a,o,l,c){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,_,"stroke",SDL.translateRGBAToCSSRGBA(a,o,l,c))}_ellipseRGBA.sig="ipiiiiiiii";function _filledEllipseColor(e,r,t,n,_,a){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,_,"fill",SDL_gfx.translateColorToCSSRGBA(a))}_filledEllipseColor.sig="ipiiiii";function _filledEllipseRGBA(e,r,t,n,_,a,o,l,c){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,_,"fill",SDL.translateRGBAToCSSRGBA(a,o,l,c))}_filledEllipseRGBA.sig="ipiiiiiiii";function _lineColor(e,r,t,n,_,a){return e>>>=0,SDL_gfx.drawLine(e,r,t,n,_,SDL_gfx.translateColorToCSSRGBA(a))}_lineColor.sig="ipiiiii";function _lineRGBA(e,r,t,n,_,a,o,l,c){return e>>>=0,SDL_gfx.drawLine(e,r,t,n,_,SDL.translateRGBAToCSSRGBA(a,o,l,c))}_lineRGBA.sig="ipiiiiiiii";function _pixelRGBA(e,r,t,n,_,a,o){return e>>>=0,_boxRGBA(e,r,t,r,t,n,_,a,o)}_pixelRGBA.sig="ipiiiiii";function _SDL_GL_SetAttribute(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(383,0,1,e,r);e in SDL.glAttributes||abort("Unknown SDL GL attribute ("+e+"). Please check if your SDL version is supported."),SDL.glAttributes[e]=r}_SDL_GL_SetAttribute.sig="iii";function _SDL_GL_GetAttribute(e,r){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(384,0,1,e,r):(r>>>=0,e in SDL.glAttributes||abort("Unknown SDL GL attribute ("+e+"). Please check if your SDL version is supported."),r&&(GROWABLE_HEAP_I32()[r>>>2>>>0]=SDL.glAttributes[e]),0)}_SDL_GL_GetAttribute.sig="iip";function _SDL_GL_SwapBuffers(){var e;if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(385,0,1);(e=Browser.doSwapBuffers)==null||e.call(Browser)}_SDL_GL_SwapBuffers.sig="v";function _SDL_GL_ExtensionSupported(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(386,0,1,e):(e>>>=0,Module.ctx.getExtension(e)|0)}_SDL_GL_ExtensionSupported.sig="ip";function _SDL_DestroyWindow(e){e>>>=0}_SDL_DestroyWindow.sig="vp";function _SDL_DestroyRenderer(e){e>>>=0}_SDL_DestroyRenderer.sig="vp";function _SDL_GetWindowFlags(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(387,0,1,e):(e>>>=0,Browser.isFullscreen?1:0)}_SDL_GetWindowFlags.sig="ip";function _SDL_GL_SwapWindow(e){e>>>=0}_SDL_GL_SwapWindow.sig="vp";function _SDL_GL_MakeCurrent(e,r){e>>>=0,r>>>=0}_SDL_GL_MakeCurrent.sig="ipp";function _SDL_GL_DeleteContext(e){e>>>=0}_SDL_GL_DeleteContext.sig="vp";function _SDL_GL_GetSwapInterval(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(388,0,1):Browser.mainLoop.timingMode==1?Browser.mainLoop.timingValue:0}_SDL_GL_GetSwapInterval.sig="i";var _SDL_GL_SetSwapInterval=e=>{_emscripten_set_main_loop_timing(1,e)};_SDL_GL_SetSwapInterval.sig="ii";function _SDL_SetWindowTitle(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(389,0,1,e,r);e>>>=0,r>>>=0,r&&(document.title=UTF8ToString(r))}_SDL_SetWindowTitle.sig="vpp";function _SDL_GetWindowSize(e,r,t){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(390,0,1,e,r,t);e>>>=0,r>>>=0,t>>>=0;var n=Module.canvas.width,_=Module.canvas.height;r&&(GROWABLE_HEAP_I32()[r>>>2>>>0]=n),t&&(GROWABLE_HEAP_I32()[t>>>2>>>0]=_)}_SDL_GetWindowSize.sig="vppp";function _SDL_LogSetOutputFunction(e,r){e>>>=0,r>>>=0}_SDL_LogSetOutputFunction.sig="vpp";function _SDL_SetWindowFullscreen(e,r){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(391,0,1,e,r):(e>>>=0,Browser.isFullscreen?(Module.canvas.exitFullscreen(),1):0)}_SDL_SetWindowFullscreen.sig="ipi";var _SDL_ClearError=()=>{};_SDL_ClearError.sig="v";var _SDL_SetGamma=(e,r,t)=>-1;_SDL_SetGamma.sig="ifff";function _SDL_SetGammaRamp(e,r,t){return e>>>=0,r>>>=0,t>>>=0,-1}_SDL_SetGammaRamp.sig="ippp";function _SDL_NumJoysticks(){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(392,0,1);for(var e=0,r=SDL.getGamepads(),t=0;t>>=0,e-1}_SDL_JoystickIndex.sig="ip";function _SDL_JoystickNumAxes(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(396,0,1,e);e>>>=0;var r=SDL.getGamepad(e-1);return r?r.axes.length:0}_SDL_JoystickNumAxes.sig="ip";function _SDL_JoystickNumBalls(e){return e>>>=0,0}_SDL_JoystickNumBalls.sig="ip";function _SDL_JoystickNumHats(e){return e>>>=0,0}_SDL_JoystickNumHats.sig="ip";function _SDL_JoystickNumButtons(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(397,0,1,e);e>>>=0;var r=SDL.getGamepad(e-1);return r?r.buttons.length:0}_SDL_JoystickNumButtons.sig="ip";function _SDL_JoystickUpdate(){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(398,0,1):SDL.queryJoysticks()}_SDL_JoystickUpdate.sig="v";function _SDL_JoystickEventState(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(399,0,1,e):e<0?SDL.joystickEventState:SDL.joystickEventState=e}_SDL_JoystickEventState.sig="ii";function _SDL_JoystickGetAxis(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(400,0,1,e,r);e>>>=0;var t=SDL.getGamepad(e-1);return t&&t.axes.length>r?SDL.joystickAxisValueConversion(t.axes[r]):0}_SDL_JoystickGetAxis.sig="ipi";function _SDL_JoystickGetHat(e,r){return e>>>=0,0}_SDL_JoystickGetHat.sig="ipi";function _SDL_JoystickGetBall(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,-1}_SDL_JoystickGetBall.sig="ipipp";function _SDL_JoystickGetButton(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(401,0,1,e,r);e>>>=0;var t=SDL.getGamepad(e-1);return t&&t.buttons.length>r&&SDL.getJoystickButtonState(t.buttons[r])?1:0}_SDL_JoystickGetButton.sig="ipi";function _SDL_JoystickClose(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(402,0,1,e);e>>>=0,delete SDL.lastJoystickState[e]}_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=e=>0;_SDL_InitSubSystem.sig="ii";function _SDL_RWFromConstMem(e,r){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(403,0,1,e,r);e>>>=0;var t=SDL.rwops.length;return SDL.rwops.push({bytes:e,count:r}),t}_SDL_RWFromConstMem.sig="ppi";var _SDL_RWFromMem=_SDL_RWFromConstMem;_SDL_RWFromMem.sig="ppi";var _SDL_GetNumAudioDrivers=()=>1;_SDL_GetNumAudioDrivers.sig="i";function _SDL_GetCurrentAudioDriver(){return stringToNewUTF8("Emscripten Audio")}_SDL_GetCurrentAudioDriver.sig="p";var _SDL_GetScancodeFromKey=e=>SDL.scanCodes[e];_SDL_GetScancodeFromKey.sig="ii";function _SDL_GetAudioDriver(e){return _SDL_GetCurrentAudioDriver()}_SDL_GetAudioDriver.sig="pi";function _SDL_EnableUNICODE(e){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(404,0,1,e);var r=SDL.unicode||0;return SDL.unicode=e,r}_SDL_EnableUNICODE.sig="ii";var _SDL_AddTimer=function(e,r,t){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(405,0,1,e,r,t):(r>>>=0,t>>>=0,safeSetTimeout(()=>getWasmTableEntry(r)(e,t),e))};_SDL_AddTimer.sig="iipp";function _SDL_RemoveTimer(e){return ENVIRONMENT_IS_PTHREAD?proxyToMainThread(406,0,1,e):(clearTimeout(e),!0)}_SDL_RemoveTimer.sig="ii";function _SDL_CreateThread(e,r,t,n){throw e>>>=0,r>>>=0,"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."}_SDL_CreateThread.sig="ppp";function _SDL_WaitThread(e,r){throw e>>>=0,r>>>=0,"SDL_WaitThread"}_SDL_WaitThread.sig="vpp";function _SDL_GetThreadID(e){throw e>>>=0,"SDL_GetThreadID"}_SDL_GetThreadID.sig="pp";function _SDL_ThreadID(){return 0}_SDL_ThreadID.sig="p";function _SDL_AllocRW(){throw"SDL_AllocRW: TODO"}_SDL_AllocRW.sig="p";function _SDL_CondBroadcast(e){throw e>>>=0,"SDL_CondBroadcast: TODO"}_SDL_CondBroadcast.sig="ip";function _SDL_CondWaitTimeout(e,r,t){throw e>>>=0,r>>>=0,"SDL_CondWaitTimeout: TODO"}_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>{throw"SDL_WM_IconifyWindow TODO"};_SDL_WM_IconifyWindow.sig="i";function _Mix_SetPostMix(e,r){return e>>>=0,r>>>=0,warnOnce("Mix_SetPostMix: TODO")}_Mix_SetPostMix.sig="vpp";function _Mix_VolumeChunk(e,r){throw e>>>=0,"Mix_VolumeChunk: TODO"}_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(e,r,t)=>{throw"Mix_SetPosition: TODO"};_Mix_SetPosition.sig="iiii";function _Mix_QuerySpec(e,r,t){throw e>>>=0,r>>>=0,t>>>=0,"Mix_QuerySpec: TODO"}_Mix_QuerySpec.sig="ippp";function _Mix_FadeInChannelTimed(e,r,t,n,_){throw r>>>=0,"Mix_FadeInChannelTimed"}_Mix_FadeInChannelTimed.sig="iipiii";var _Mix_FadeOutChannel=()=>{throw"Mix_FadeOutChannel"};_Mix_FadeOutChannel.sig="iii";function _Mix_Linked_Version(){throw"Mix_Linked_Version: TODO"}_Mix_Linked_Version.sig="p";function _SDL_SaveBMP_RW(e,r,t){throw e>>>=0,r>>>=0,"SDL_SaveBMP_RW: TODO"}_SDL_SaveBMP_RW.sig="ippi";function _SDL_WM_SetIcon(e,r){e>>>=0,r>>>=0}_SDL_WM_SetIcon.sig="vpp";var _SDL_HasRDTSC=()=>0;_SDL_HasRDTSC.sig="i";var _SDL_HasMMX=()=>0;_SDL_HasMMX.sig="i";var _SDL_HasMMXExt=()=>0;_SDL_HasMMXExt.sig="i";var _SDL_Has3DNow=()=>0;_SDL_Has3DNow.sig="i";var _SDL_Has3DNowExt=()=>0;_SDL_Has3DNowExt.sig="i";var _SDL_HasSSE=()=>0;_SDL_HasSSE.sig="i";var _SDL_HasSSE2=()=>0;_SDL_HasSSE2.sig="i";var _SDL_HasAltiVec=()=>0;_SDL_HasAltiVec.sig="i";var polyfillWaitAsync=()=>{},atomicWaitStates=["ok","not-equal","timed-out"],liveAtomicWaitAsyncs={},liveAtomicWaitAsyncCounter=0,_emscripten_atomic_wait_async=function(e,r,t,n,_){e>>>=0,t>>>=0,n>>>=0;let a=Atomics.waitAsync(GROWABLE_HEAP_I32(),e>>>2,r,_);if(!a.async)return atomicWaitStates.indexOf(a.value);let o=liveAtomicWaitAsyncCounter;return liveAtomicWaitAsyncCounter=Math.max(0,liveAtomicWaitAsyncCounter+1|0),liveAtomicWaitAsyncs[o]=e,runtimeKeepalivePush(),a.value.then(l=>{liveAtomicWaitAsyncs[o]&&(runtimeKeepalivePop(),delete liveAtomicWaitAsyncs[o],callUserCallback(()=>getWasmTableEntry(t)(e,r,atomicWaitStates.indexOf(l),n)))}),-o};_emscripten_atomic_wait_async.sig="ipippd";var _emscripten_atomic_cancel_wait_async=e=>{var r=liveAtomicWaitAsyncs[e];return r?(Atomics.notify(GROWABLE_HEAP_I32(),r>>>2),delete liveAtomicWaitAsyncs[e],runtimeKeepalivePop(),0):-5};_emscripten_atomic_cancel_wait_async.sig="ii";var _emscripten_atomic_cancel_all_wait_asyncs=()=>{let e=Object.values(liveAtomicWaitAsyncs);return e.forEach(r=>{Atomics.notify(GROWABLE_HEAP_I32(),r>>>2)}),liveAtomicWaitAsyncs={},e.length};_emscripten_atomic_cancel_all_wait_asyncs.sig="i";var _emscripten_atomic_cancel_all_wait_asyncs_at_address=function(e){e>>>=0;let r=0;return Object.keys(liveAtomicWaitAsyncs).forEach(t=>{liveAtomicWaitAsyncs[t]==e&&(Atomics.notify(GROWABLE_HEAP_I32(),e>>>2),delete liveAtomicWaitAsyncs[t],r++)}),r};_emscripten_atomic_cancel_all_wait_asyncs_at_address.sig="ip";var ALLOC_NORMAL=0,ALLOC_STACK=1,allocate=(e,r)=>{var t;return r==ALLOC_STACK?t=stackAlloc(e.length):t=_malloc(e.length),!e.subarray&&!e.slice&&(e=new Uint8Array(e)),GROWABLE_HEAP_U8().set(e,t>>>0),t},writeStringToMemory=(e,r,t)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var n,_;t&&(_=r+lengthBytesUTF8(e),n=GROWABLE_HEAP_I8()[_>>>0]),stringToUTF8(e,r,1/0),t&&(GROWABLE_HEAP_I8()[_>>>0]=n)},writeAsciiToMemory=(e,r,t)=>{for(var n=0;n>>0]=e.charCodeAt(n);t||(GROWABLE_HEAP_I8()[r>>>0]=0)},allocateUTF8=stringToNewUTF8,allocateUTF8OnStack=stringToUTF8OnStack,setErrNo=e=>(GROWABLE_HEAP_I32()[___errno_location()>>>2>>>0]=e,e),demangle=e=>(demangle.recursionGuard=(demangle.recursionGuard|0)+1,demangle.recursionGuard>1?e:withStackSave(()=>{try{var r=e;r.startsWith("__Z")&&(r=r.substr(1));var t=stringToUTF8OnStack(r),n=stackAlloc(4),_=___cxa_demangle(t,0,0,n);if(GROWABLE_HEAP_I32()[n>>>2>>>0]===0&&_)return UTF8ToString(_)}catch(a){}finally{_free(_),demangle.recursionGuard<2&&--demangle.recursionGuard}return e}));function stackTrace(){var e=jsStackTrace();return Module.extraStackTrace&&(e+="\n"+Module.extraStackTrace()),e}var _emscripten_has_threading_support=()=>typeof SharedArrayBuffer<"u";_emscripten_has_threading_support.sig="i";var tupleRegistrations={},structRegistrations={},getTypeName=e=>{var r=___getTypeName(e),t=readLatin1String(r);return _free(r),t},getFunctionName=e=>{e=e.trim();let r=e.indexOf("(");return r!==-1?e.substr(0,r):e},getFunctionArgsName=e=>{e=e.trim();let r=e.indexOf("(")+1;return r!==0?e.substr(r,e.length-r-1).replaceAll(" ","").split(",").filter(t=>t.length):[]},heap32VectorToArray=(e,r)=>{for(var t=[],n=0;n>>2>>>0]);return t},requireRegisteredType=(e,r)=>{var t=registeredTypes[e];return t===void 0&&throwBindingError("".concat(r," has unknown type ").concat(getTypeName(e))),t};function usesDestructorStack(e){for(var r=1;r0?", ":"")+l),u+=(t||n?"var rv = ":"")+"invoker(fn"+(l.length>0?", ":"")+l+");\n";var f=t?"rv":"";if(_)u+="runDestructors(destructors);\n";else for(var c=r?1:2;cObject.defineProperty(r,"name",{value:e}),extendError=(e,r)=>{var t=createNamedFunction(r,function(n){this.name=r,this.message=n;var _=new Error(n).stack;_!==void 0&&(this.stack=this.toString()+"\n"+_.replace(/^Error(:[^\n]*)?\n/,""))});return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return this.message===void 0?this.name:"".concat(this.name,": ").concat(this.message)},t},UnboundTypeError,PureVirtualError,registeredInstances={},getInheritedInstanceCount=()=>Object.keys(registeredInstances).length,getLiveInheritedInstances=()=>{var e=[];for(var r in registeredInstances)registeredInstances.hasOwnProperty(r)&&e.push(registeredInstances[r]);return e},deletionQueue=[],flushPendingDeletes=()=>{for(;deletionQueue.length;){var e=deletionQueue.pop();e.$$.deleteScheduled=!1,e.delete()}},delayFunction,setDelayFunction=e=>{delayFunction=e,deletionQueue.length&&delayFunction&&delayFunction(flushPendingDeletes)},init_embind=()=>{Module.getInheritedInstanceCount=getInheritedInstanceCount,Module.getLiveInheritedInstances=getLiveInheritedInstances,Module.flushPendingDeletes=flushPendingDeletes,Module.setDelayFunction=setDelayFunction},throwUnboundTypeError=(e,r)=>{var t=[],n={};function _(a){if(!n[a]&&!registeredTypes[a]){if(typeDependencies[a]){typeDependencies[a].forEach(_);return}t.push(a),n[a]=!0}}throw r.forEach(_),new UnboundTypeError("".concat(e,": ")+t.map(getTypeName).join([", "]))},ensureOverloadTable=(e,r,t)=>{if(e[r].overloadTable===void 0){var n=e[r];e[r]=function(..._){return e[r].overloadTable.hasOwnProperty(_.length)||throwBindingError("Function '".concat(t,"' called with an invalid number of arguments (").concat(_.length,") - expects one of (").concat(e[r].overloadTable,")!")),e[r].overloadTable[_.length].apply(this,_)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},exposePublicSymbol=(e,r,t)=>{Module.hasOwnProperty(e)?((t===void 0||Module[e].overloadTable!==void 0&&Module[e].overloadTable[t]!==void 0)&&throwBindingError("Cannot register public name '".concat(e,"' twice")),ensureOverloadTable(Module,e,e),Module.hasOwnProperty(t)&&throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (".concat(t,")!")),Module[e].overloadTable[t]=r):(Module[e]=r,t!==void 0&&(Module[e].numArguments=t))},replacePublicSymbol=(e,r,t)=>{Module.hasOwnProperty(e)||throwInternalError("Replacing nonexistent public symbol"),Module[e].overloadTable!==void 0&&t!==void 0?Module[e].overloadTable[t]=r:(Module[e]=r,Module[e].argCount=t)},getBasestPointer=(e,r)=>{for(r===void 0&&throwBindingError("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},registerInheritedInstance=(e,r,t)=>{r=getBasestPointer(e,r),registeredInstances.hasOwnProperty(r)?throwBindingError("Tried to register registered instance: ".concat(r)):registeredInstances[r]=t},unregisterInheritedInstance=(e,r)=>{r=getBasestPointer(e,r),registeredInstances.hasOwnProperty(r)?delete registeredInstances[r]:throwBindingError("Tried to unregister unregistered instance: ".concat(r))},getInheritedInstance=(e,r)=>(r=getBasestPointer(e,r),registeredInstances[r]),registeredPointers={},enumReadValueFromPointer=(e,r,t)=>{switch(r){case 1:return t?function(n){return this.fromWireType(GROWABLE_HEAP_I8()[n>>>0])}:function(n){return this.fromWireType(GROWABLE_HEAP_U8()[n>>>0])};case 2:return t?function(n){return this.fromWireType(GROWABLE_HEAP_I16()[n>>>1>>>0])}:function(n){return this.fromWireType(GROWABLE_HEAP_U16()[n>>>1>>>0])};case 4:return t?function(n){return this.fromWireType(GROWABLE_HEAP_I32()[n>>>2>>>0])}:function(n){return this.fromWireType(GROWABLE_HEAP_U32()[n>>>2>>>0])};default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}};function __embind_register_user_type(e,r){e>>>=0,r>>>=0,__embind_register_emval(e)}__embind_register_user_type.sig="vpp";function __embind_register_optional(e,r){e>>>=0,r>>>=0,__embind_register_emval(e)}__embind_register_optional.sig="vpp";var runDestructors=e=>{for(;e.length;){var r=e.pop(),t=e.pop();t(r)}};function newFunc(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var t=createNamedFunction(e.name||"unknownFunctionName",function(){});t.prototype=e.prototype;var n=new t,_=e.apply(n,r);return _ instanceof Object?_:n}function craftInvokerFunction(e,r,t,n,_,a){var o=r.length;o<2&&throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var l=r[1]!==null&&t!==null,c=usesDestructorStack(r),u=r[0].name!=="void",d=[e,throwBindingError,n,_,runDestructors,r[0],r[1]],p=0;p{e=readLatin1String(e);function t(){return e.includes("j")||e.includes("p")?getDynCaller(e,r):getWasmTableEntry(r)}var n=t();return typeof n!="function"&&throwBindingError("unknown function pointer with signature ".concat(e,": ").concat(r)),n};function __embind_register_function(e,r,t,n,_,a,o){e>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0;var l=heap32VectorToArray(r,t);e=readLatin1String(e),e=getFunctionName(e),_=embind__requireFunction(n,_),exposePublicSymbol(e,function(){throwUnboundTypeError("Cannot call ".concat(e," due to unbound types"),l)},r-1),whenDependentTypesAreResolved([],l,c=>{var u=[c[0],null].concat(c.slice(1));return replacePublicSymbol(e,craftInvokerFunction(e,u,null,_,a,o),r-1),[]})}__embind_register_function.sig="vpippppi";function __embind_register_value_array(e,r,t,n,_,a){e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,tupleRegistrations[e]={name:readLatin1String(r),rawConstructor:embind__requireFunction(t,n),rawDestructor:embind__requireFunction(_,a),elements:[]}}__embind_register_value_array.sig="vpppppp";function __embind_register_value_array_element(e,r,t,n,_,a,o,l,c){e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,o>>>=0,l>>>=0,c>>>=0,tupleRegistrations[e].elements.push({getterReturnType:r,getter:embind__requireFunction(t,n),getterContext:_,setterArgumentType:a,setter:embind__requireFunction(o,l),setterContext:c})}__embind_register_value_array_element.sig="vppppppppp";var __embind_finalize_value_array=function(e){e>>>=0;var r=tupleRegistrations[e];delete tupleRegistrations[e];var t=r.elements,n=t.length,_=t.map(l=>l.getterReturnType).concat(t.map(l=>l.setterArgumentType)),a=r.rawConstructor,o=r.rawDestructor;whenDependentTypesAreResolved([e],_,l=>(t.forEach((c,u)=>{var d=l[u],p=c.getter,f=c.getterContext,g=l[u+n],E=c.setter,v=c.setterContext;c.read=b=>d.fromWireType(p(f,b)),c.write=(b,D)=>{var h=[];E(v,b,g.toWireType(h,D)),runDestructors(h)}}),[{name:r.name,fromWireType:c=>{for(var u=new Array(n),d=0;d{if(n!==u.length)throw new TypeError("Incorrect number of tuple elements for ".concat(r.name,": expected=").concat(n,", actual=").concat(u.length));for(var d=a(),p=0;p>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,structRegistrations[e]={name:readLatin1String(r),rawConstructor:embind__requireFunction(t,n),rawDestructor:embind__requireFunction(_,a),fields:[]}}__embind_register_value_object.sig="vpppppp";function __embind_register_value_object_field(e,r,t,n,_,a,o,l,c,u){e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,o>>>=0,l>>>=0,c>>>=0,u>>>=0,structRegistrations[e].fields.push({fieldName:readLatin1String(r),getterReturnType:t,getter:embind__requireFunction(n,_),getterContext:a,setterArgumentType:o,setter:embind__requireFunction(l,c),setterContext:u})}__embind_register_value_object_field.sig="vpppppppppp";var __embind_finalize_value_object=function(e){e>>>=0;var r=structRegistrations[e];delete structRegistrations[e];var t=r.rawConstructor,n=r.rawDestructor,_=r.fields,a=_.map(o=>o.getterReturnType).concat(_.map(o=>o.setterArgumentType));whenDependentTypesAreResolved([e],a,o=>{var l={};return _.forEach((c,u)=>{var d=c.fieldName,p=o[u],f=c.getter,g=c.getterContext,E=o[u+_.length],v=c.setter,b=c.setterContext;l[d]={read:D=>p.fromWireType(f(g,D)),write:(D,h)=>{var T=[];v(b,D,E.toWireType(T,h)),runDestructors(T)}}}),[{name:r.name,fromWireType:c=>{var u={};for(var d in l)u[d]=l[d].read(c);return n(c),u},toWireType:(c,u)=>{for(var d in l)if(!(d in u))throw new TypeError('Missing field: "'.concat(d,'"'));var p=t();for(d in l)l[d].write(p,u[d]);return c!==null&&c.push(n,p),p},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:n}]})};__embind_finalize_value_object.sig="vp";var upcastPointer=(e,r,t)=>{for(;r!==t;)r.upcast||throwBindingError("Expected null or instance of ".concat(t.name,", got an instance of ").concat(r.name)),e=r.upcast(e),r=r.baseClass;return e};function genericPointerToWireType(e,r){var t;if(r===null)return this.isReference&&throwBindingError("null is not a valid ".concat(this.name)),this.isSmartPointer?(t=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,t),t):0;(!r||!r.$$)&&throwBindingError('Cannot pass "'.concat(embindRepr(r),'" as a ').concat(this.name)),r.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&r.$$.ptrType.isConst&&throwBindingError("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));var n=r.$$.ptrType.registeredClass;if(t=upcastPointer(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(r.$$.smartPtr===void 0&&throwBindingError("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:throwBindingError("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var _=r.clone();t=this.rawShare(t,Emval.toHandle(()=>_.delete())),e!==null&&e.push(this.rawDestructor,t)}break;default:throwBindingError("Unsupporting sharing policy")}return t}function constNoSmartPtrRawPointerToWireType(e,r){if(r===null)return this.isReference&&throwBindingError("null is not a valid ".concat(this.name)),0;r.$$||throwBindingError('Cannot pass "'.concat(embindRepr(r),'" as a ').concat(this.name)),r.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type ".concat(this.name));var t=r.$$.ptrType.registeredClass,n=upcastPointer(r.$$.ptr,t,this.registeredClass);return n}function nonConstNoSmartPtrRawPointerToWireType(e,r){if(r===null)return this.isReference&&throwBindingError("null is not a valid ".concat(this.name)),0;r.$$||throwBindingError('Cannot pass "'.concat(embindRepr(r),'" as a ').concat(this.name)),r.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type ".concat(this.name)),r.$$.ptrType.isConst&&throwBindingError("Cannot convert argument of type ".concat(r.$$.ptrType.name," to parameter type ").concat(this.name));var t=r.$$.ptrType.registeredClass,n=upcastPointer(r.$$.ptr,t,this.registeredClass);return n}function RegisteredPointer(e,r,t,n,_,a,o,l,c,u,d){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=_,this.pointeeType=a,this.sharingPolicy=o,this.rawGetPointee=l,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=d,!_&&r.baseClass===void 0?n?(this.toWireType=constNoSmartPtrRawPointerToWireType,this.destructorFunction=null):(this.toWireType=nonConstNoSmartPtrRawPointerToWireType,this.destructorFunction=null):this.toWireType=genericPointerToWireType}var downcastPointer=(e,r,t)=>{if(r===t)return e;if(t.baseClass===void 0)return null;var n=downcastPointer(e,r,t.baseClass);return n===null?null:t.downcast(n)},finalizationRegistry=!1,detachFinalizer=e=>{},runDestructor=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},releaseClassHandle=e=>{e.count.value-=1;var r=e.count.value===0;r&&runDestructor(e)},attachFinalizer=e=>typeof FinalizationRegistry>"u"?(attachFinalizer=r=>r,e):(finalizationRegistry=new FinalizationRegistry(r=>{releaseClassHandle(r.$$)}),attachFinalizer=r=>{var t=r.$$,n=!!t.smartPtr;if(n){var _={$$:t};finalizationRegistry.register(r,_,r)}return r},detachFinalizer=r=>finalizationRegistry.unregister(r),attachFinalizer(e)),makeClassHandle=(e,r)=>{(!r.ptrType||!r.ptr)&&throwInternalError("makeClassHandle requires ptr and ptrType");var t=!!r.smartPtrType,n=!!r.smartPtr;return t!==n&&throwInternalError("Both smartPtrType and smartPtr must be specified"),r.count={value:1},attachFinalizer(Object.create(e,{$$:{value:r,writable:!0}}))};function RegisteredPointer_fromWireType(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=getInheritedInstance(this.registeredClass,r);if(t!==void 0){if(t.$$.count.value===0)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function _(){return this.isSmartPointer?makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a=this.registeredClass.getActualType(r),o=registeredPointers[a];if(!o)return _.call(this);var l;this.isConst?l=o.constPointerType:l=o.pointerType;var c=downcastPointer(r,this.registeredClass,l.registeredClass);return c===null?_.call(this):this.isSmartPointer?makeClassHandle(l.registeredClass.instancePrototype,{ptrType:l,ptr:c,smartPtrType:this,smartPtr:e}):makeClassHandle(l.registeredClass.instancePrototype,{ptrType:l,ptr:c})}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;(r=this.rawDestructor)==null||r.call(this,e)},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})},detachFinalizer_deps=["$finalizationRegistry"];function ClassHandle(){}var shallowCopyInternalPointer=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),throwInstanceAlreadyDeleted=e=>{function r(t){return t.$$.ptrType.registeredClass.name}throwBindingError(r(e)+" instance already deleted")},init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{isAliasOf(e){if(!(this instanceof ClassHandle)||!(e instanceof ClassHandle))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,_=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)_=n.upcast(_),n=n.baseClass;return r===n&&t===_},clone(){if(this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&throwBindingError("Object already scheduled for deletion"),detachFinalizer(this),releaseClassHandle(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&throwBindingError("Object already scheduled for deletion"),deletionQueue.push(this),deletionQueue.length===1&&delayFunction&&delayFunction(flushPendingDeletes),this.$$.deleteScheduled=!0,this}})};function RegisteredClass(e,r,t,n,_,a,o,l){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=_,this.getActualType=a,this.upcast=o,this.downcast=l,this.pureVirtualFunctions=[]}var char_0=48,char_9=57,makeLegalFunctionName=e=>{if(e===void 0)return"_unknown";e=e.replace(/[^a-zA-Z0-9_]/g,"$");var r=e.charCodeAt(0);return r>=char_0&&r<=char_9?"_".concat(e):e};function __embind_register_class(e,r,t,n,_,a,o,l,c,u,d,p,f){e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,o>>>=0,l>>>=0,c>>>=0,u>>>=0,d>>>=0,p>>>=0,f>>>=0,d=readLatin1String(d),a=embind__requireFunction(_,a),l&&(l=embind__requireFunction(o,l)),u&&(u=embind__requireFunction(c,u)),f=embind__requireFunction(p,f);var g=makeLegalFunctionName(d);exposePublicSymbol(g,function(){throwUnboundTypeError("Cannot construct ".concat(d," due to unbound types"),[n])}),whenDependentTypesAreResolved([e,r,t],n?[n]:[],E=>{var A,L;E=E[0];var v,b;n?(v=E.registeredClass,b=v.instancePrototype):b=ClassHandle.prototype;var D=createNamedFunction(d,function(...R){if(Object.getPrototypeOf(this)!==h)throw new BindingError("Use 'new' to construct "+d);if(T.constructor_body===void 0)throw new BindingError(d+" has no accessible constructor");var y=T.constructor_body[R.length];if(y===void 0)throw new BindingError("Tried to invoke ctor of ".concat(d," with invalid number of parameters (").concat(R.length,") - expected (").concat(Object.keys(T.constructor_body).toString(),") parameters instead!"));return y.apply(this,R)}),h=Object.create(b,{constructor:{value:D}});D.prototype=h;var T=new RegisteredClass(d,D,h,f,v,a,l,u);T.baseClass&&((L=(A=T.baseClass).__derivedClasses)!=null||(A.__derivedClasses=[]),T.baseClass.__derivedClasses.push(T));var x=new RegisteredPointer(d,T,!0,!1,!1),S=new RegisteredPointer(d+"*",T,!1,!1,!1),M=new RegisteredPointer(d+" const*",T,!1,!0,!1);return registeredPointers[e]={pointerType:S,constPointerType:M},replacePublicSymbol(g,D),[x,S,M]})}__embind_register_class.sig="vppppppppppppp";var __embind_register_class_constructor=function(e,r,t,n,_,a){e>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0;var o=heap32VectorToArray(r,t);_=embind__requireFunction(n,_);var l=[a],c=[];whenDependentTypesAreResolved([],[e],u=>{u=u[0];var d="constructor ".concat(u.name);if(u.registeredClass.constructor_body===void 0&&(u.registeredClass.constructor_body=[]),u.registeredClass.constructor_body[r-1]!==void 0)throw new BindingError("Cannot register multiple constructors with identical number of parameters (".concat(r-1,") for class '").concat(u.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return u.registeredClass.constructor_body[r-1]=()=>{throwUnboundTypeError("Cannot construct ".concat(u.name," due to unbound types"),o)},whenDependentTypesAreResolved([],o,p=>(p.splice(1,0,null),u.registeredClass.constructor_body[r-1]=craftInvokerFunction(d,p,null,_,a),[])),[]})};__embind_register_class_constructor.sig="vpipppp";var validateThis=(e,r,t)=>(e instanceof Object||throwBindingError("".concat(t,' with invalid "this": ').concat(e)),e instanceof r.registeredClass.constructor||throwBindingError("".concat(t,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||throwBindingError("cannot call emscripten binding method ".concat(t," on deleted object")),upcastPointer(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),__embind_register_class_function=function(e,r,t,n,_,a,o,l,c){e>>>=0,r>>>=0,n>>>=0,_>>>=0,a>>>=0,o>>>=0;var u=heap32VectorToArray(t,n);r=readLatin1String(r),r=getFunctionName(r),a=embind__requireFunction(_,a),whenDependentTypesAreResolved([],[e],d=>{d=d[0];var p="".concat(d.name,".").concat(r);r.startsWith("@@")&&(r=Symbol[r.substring(2)]),l&&d.registeredClass.pureVirtualFunctions.push(r);function f(){throwUnboundTypeError("Cannot call ".concat(p," due to unbound types"),u)}var g=d.registeredClass.instancePrototype,E=g[r];return E===void 0||E.overloadTable===void 0&&E.className!==d.name&&E.argCount===t-2?(f.argCount=t-2,f.className=d.name,g[r]=f):(ensureOverloadTable(g,r,p),g[r].overloadTable[t-2]=f),whenDependentTypesAreResolved([],u,v=>{var b=craftInvokerFunction(p,v,d,a,o,c);return g[r].overloadTable===void 0?(b.argCount=t-2,g[r]=b):g[r].overloadTable[t-2]=b,[]}),[]})};__embind_register_class_function.sig="vppippppii";var __embind_register_class_property=function(e,r,t,n,_,a,o,l,c,u){e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,o>>>=0,l>>>=0,c>>>=0,u>>>=0,r=readLatin1String(r),_=embind__requireFunction(n,_),whenDependentTypesAreResolved([],[e],d=>{d=d[0];var p="".concat(d.name,".").concat(r),f={get(){throwUnboundTypeError("Cannot access ".concat(p," due to unbound types"),[t,o])},enumerable:!0,configurable:!0};return c?f.set=()=>throwUnboundTypeError("Cannot access ".concat(p," due to unbound types"),[t,o]):f.set=g=>throwBindingError(p+" is a read-only property"),Object.defineProperty(d.registeredClass.instancePrototype,r,f),whenDependentTypesAreResolved([],c?[t,o]:[t],g=>{var E=g[0],v={get(){var D=validateThis(this,d,p+" getter");return E.fromWireType(_(a,D))},enumerable:!0};if(c){c=embind__requireFunction(l,c);var b=g[1];v.set=function(D){var h=validateThis(this,d,p+" setter"),T=[];c(u,h,b.toWireType(T,D)),runDestructors(T)}}return Object.defineProperty(d.registeredClass.instancePrototype,r,v),[]}),[]})};__embind_register_class_property.sig="vpppppppppp";var __embind_register_class_class_function=function(e,r,t,n,_,a,o,l){e>>>=0,r>>>=0,n>>>=0,_>>>=0,a>>>=0,o>>>=0;var c=heap32VectorToArray(t,n);r=readLatin1String(r),r=getFunctionName(r),a=embind__requireFunction(_,a),whenDependentTypesAreResolved([],[e],u=>{u=u[0];var d="".concat(u.name,".").concat(r);function p(){throwUnboundTypeError("Cannot call ".concat(d," due to unbound types"),c)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var f=u.registeredClass.constructor;return f[r]===void 0?(p.argCount=t-1,f[r]=p):(ensureOverloadTable(f,r,d),f[r].overloadTable[t-1]=p),whenDependentTypesAreResolved([],c,g=>{var E=[g[0],null].concat(g.slice(1)),v=craftInvokerFunction(d,E,null,a,o,l);if(f[r].overloadTable===void 0?(v.argCount=t-1,f[r]=v):f[r].overloadTable[t-1]=v,u.registeredClass.__derivedClasses)for(let b of u.registeredClass.__derivedClasses)b.constructor.hasOwnProperty(r)||(b.constructor[r]=v);return[]}),[]})};__embind_register_class_class_function.sig="vppippppi";var __embind_register_class_class_property=function(e,r,t,n,_,a,o,l){e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,a>>>=0,o>>>=0,l>>>=0,r=readLatin1String(r),a=embind__requireFunction(_,a),whenDependentTypesAreResolved([],[e],c=>{c=c[0];var u="".concat(c.name,".").concat(r),d={get(){throwUnboundTypeError("Cannot access ".concat(u," due to unbound types"),[t])},enumerable:!0,configurable:!0};return l?d.set=()=>{throwUnboundTypeError("Cannot access ".concat(u," due to unbound types"),[t])}:d.set=p=>{throwBindingError("".concat(u," is a read-only property"))},Object.defineProperty(c.registeredClass.constructor,r,d),whenDependentTypesAreResolved([],[t],p=>{p=p[0];var f={get(){return p.fromWireType(a(n))},enumerable:!0};return l&&(l=embind__requireFunction(o,l),f.set=g=>{var E=[];l(n,p.toWireType(E,g)),runDestructors(E)}),Object.defineProperty(c.registeredClass.constructor,r,f),[]}),[]})};__embind_register_class_class_property.sig="vpppppppp";function __embind_create_inheriting_constructor(e,r,t){e>>>=0,r>>>=0,t>>>=0,e=readLatin1String(e),r=requireRegisteredType(r,"wrapper"),t=Emval.toValue(t);var n=r.registeredClass,_=n.instancePrototype,a=n.baseClass,o=a.instancePrototype,l=n.baseClass.constructor,c=createNamedFunction(e,function(...u){n.baseClass.pureVirtualFunctions.forEach((function(d){if(this[d]===o[d])throw new PureVirtualError("Pure virtual function ".concat(d," must be implemented in JavaScript"))}).bind(this)),Object.defineProperty(this,"__parent",{value:_}),this.__construct(...u)});return _.__construct=function(...d){this===_&&throwBindingError("Pass correct 'this' to __construct");var p=l.implement(this,...d);detachFinalizer(p);var f=p.$$;p.notifyOnDestruction(),f.preservePointerOnDelete=!0,Object.defineProperties(this,{$$:{value:f}}),attachFinalizer(this),registerInheritedInstance(n,f.ptr,this)},_.__destruct=function(){this===_&&throwBindingError("Pass correct 'this' to __destruct"),detachFinalizer(this),unregisterInheritedInstance(n,this.$$.ptr)},c.prototype=Object.create(_),Object.assign(c.prototype,t),Emval.toHandle(c)}__embind_create_inheriting_constructor.sig="pppp";var __embind_register_smart_ptr=function(e,r,t,n,_,a,o,l,c,u,d,p){e>>>=0,r>>>=0,t>>>=0,_>>>=0,a>>>=0,o>>>=0,l>>>=0,c>>>=0,u>>>=0,d>>>=0,p>>>=0,t=readLatin1String(t),a=embind__requireFunction(_,a),l=embind__requireFunction(o,l),u=embind__requireFunction(c,u),p=embind__requireFunction(d,p),whenDependentTypesAreResolved([e],[r],f=>{f=f[0];var g=new RegisteredPointer(t,f.registeredClass,!1,!1,!0,f,n,a,l,u,p);return[g]})};__embind_register_smart_ptr.sig="vpppipppppppp";function __embind_register_enum(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,r=readLatin1String(r);function _(){}_.values={},registerType(e,{name:r,constructor:_,fromWireType:function(a){return this.constructor.values[a]},toWireType:(a,o)=>o.value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:enumReadValueFromPointer(r,t,n),destructorFunction:null}),exposePublicSymbol(r,_)}__embind_register_enum.sig="vpppi";function __embind_register_enum_value(e,r,t){e>>>=0,r>>>=0;var n=requireRegisteredType(e,"enum");r=readLatin1String(r);var _=n.constructor,a=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:createNamedFunction("".concat(n.name,"_").concat(r),function(){})}});_.values[t]=a,_[r]=a}__embind_register_enum_value.sig="vppi";var __embind_register_constant=function(e,r,t){e>>>=0,r>>>=0,e=readLatin1String(e),whenDependentTypesAreResolved([],[r],n=>(n=n[0],Module[e]=n.fromWireType(t),[]))};__embind_register_constant.sig="vppd";var emval_symbols={};function __emval_register_symbol(e){e>>>=0,emval_symbols[e]=readLatin1String(e)}__emval_register_symbol.sig="vp";var getStringOrSymbol=e=>{var r=emval_symbols[e];return r===void 0?readLatin1String(e):r};function __emval_incref(e){e>>>=0,e>9&&(emval_handles[e+1]+=1)}__emval_incref.sig="vp";function __emval_run_destructors(e){e>>>=0;var r=Emval.toValue(e);runDestructors(r),__emval_decref(e)}__emval_run_destructors.sig="vp";function __emval_new_array(){return Emval.toHandle([])}__emval_new_array.sig="p";function __emval_new_array_from_memory_view(e){e>>>=0,e=Emval.toValue(e);for(var r=new Array(e.length),t=0;t>>=0,Emval.toHandle(getStringOrSymbol(e))}__emval_new_cstring.sig="pp";function __emval_new_u8string(e){return e>>>=0,Emval.toHandle(UTF8ToString(e))}__emval_new_u8string.sig="pp";function __emval_new_u16string(e){return e>>>=0,Emval.toHandle(UTF16ToString(e))}__emval_new_u16string.sig="pp";function __emval_take_value(e,r){e>>>=0,r>>>=0,e=requireRegisteredType(e,"_emval_take_value");var t=e.readValueFromPointer(r);return Emval.toHandle(t)}__emval_take_value.sig="ppp";var emval_get_global=()=>typeof globalThis=="object"?globalThis:function(){return Function}()("return this")();function __emval_get_global(e){return e>>>=0,e===0?Emval.toHandle(emval_get_global()):(e=getStringOrSymbol(e),Emval.toHandle(emval_get_global()[e]))}__emval_get_global.sig="pp";function __emval_get_module_property(e){return e>>>=0,e=getStringOrSymbol(e),Emval.toHandle(Module[e])}__emval_get_module_property.sig="pp";function __emval_get_property(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),Emval.toHandle(e[r])}__emval_get_property.sig="ppp";function __emval_set_property(e,r,t){e>>>=0,r>>>=0,t>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),t=Emval.toValue(t),e[r]=t}__emval_set_property.sig="vppp";var emval_returnValue=(e,r,t)=>{var n=[],_=e.toWireType(n,t);return n.length&&(GROWABLE_HEAP_U32()[r>>>2>>>0]=Emval.toHandle(n)),_};function __emval_as(e,r,t){return e>>>=0,r>>>=0,t>>>=0,e=Emval.toValue(e),r=requireRegisteredType(r,"emval::as"),emval_returnValue(r,t,e)}__emval_as.sig="dppp";function __emval_as_int64(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=requireRegisteredType(r,"emval::as"),r.toWireType(null,e)}__emval_as_int64.sig="ipp";function __emval_as_uint64(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=requireRegisteredType(r,"emval::as"),r.toWireType(null,e)}__emval_as_uint64.sig="ipp";function __emval_equals(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e==r}__emval_equals.sig="ipp";function __emval_strictly_equals(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e===r}__emval_strictly_equals.sig="ipp";function __emval_greater_than(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e>r}__emval_greater_than.sig="ipp";function __emval_less_than(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e>>=0,e=Emval.toValue(e),!e}__emval_not.sig="ip";var emval_methodCallers=[];function __emval_call(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,e=emval_methodCallers[e],r=Emval.toValue(r),e(null,r,t,n)}__emval_call.sig="dpppp";var emval_lookupTypes=(e,r)=>{for(var t=new Array(e),n=0;n>>2>>>0],"parameter "+n);return t},emval_addMethodCaller=e=>{var r=emval_methodCallers.length;return emval_methodCallers.push(e),r},reflectConstruct=Reflect.construct;function __emval_get_method_caller(e,r,t){r>>>=0;var n=emval_lookupTypes(e,r),_=n.shift();e--;var a="return function (obj, func, destructorsRef, args) {\n",o=0,l=[];t===0&&l.push("obj");for(var c=["retType"],u=[_],d=0;dE.name).join(", "),") => ").concat(_.name,">");return emval_addMethodCaller(createNamedFunction(g,f))}__emval_get_method_caller.sig="pipi";function __emval_call_method(e,r,t,n,_){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,_>>>=0,e=emval_methodCallers[e],r=Emval.toValue(r),t=getStringOrSymbol(t),e(r,r[t],n,_)}__emval_call_method.sig="dppppp";function __emval_typeof(e){return e>>>=0,e=Emval.toValue(e),Emval.toHandle(typeof e)}__emval_typeof.sig="pp";function __emval_instanceof(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e instanceof r}__emval_instanceof.sig="ipp";function __emval_is_number(e){return e>>>=0,e=Emval.toValue(e),typeof e=="number"}__emval_is_number.sig="ip";function __emval_is_string(e){return e>>>=0,e=Emval.toValue(e),typeof e=="string"}__emval_is_string.sig="ip";function __emval_in(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e in r}__emval_in.sig="ipp";function __emval_delete(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),delete e[r]}__emval_delete.sig="ipp";function __emval_throw(e){throw e>>>=0,e=Emval.toValue(e),e}__emval_throw.sig="ip";function __emval_iter_begin(e){return e>>>=0,e=Emval.toValue(e),Emval.toHandle(e[Symbol.iterator]())}__emval_iter_begin.sig="pp";function __emval_iter_next(e){e>>>=0,e=Emval.toValue(e);var r=e.next();return r.done?0:Emval.toHandle(r.value)}__emval_iter_next.sig="pp";var __emval_coro_suspend=function(e,r){e>>>=0,r>>>=0,Emval.toValue(e).then(t=>{__emval_coro_resume(r,Emval.toHandle(t))})};__emval_coro_suspend.sig="vpp";var __emval_coro_make_promise=function(e,r){return e>>>=0,r>>>=0,Emval.toHandle(new Promise((t,n)=>{let _=()=>{try{___cxa_rethrow()}catch(a){n(a)}};GROWABLE_HEAP_U32()[e>>>2>>>0]=Emval.toHandle(t),GROWABLE_HEAP_U32()[r>>>2>>>0]=Emval.toHandle(_)}))};__emval_coro_make_promise.sig="ppp";function _duckdb_web_fs_file_sync(e){return globalThis.DUCKDB_RUNTIME.syncFile(Module,e)}_duckdb_web_fs_file_sync.sig="vi";function _duckdb_web_fs_file_remove(e,r){return globalThis.DUCKDB_RUNTIME.removeFile(Module,e,r)}PThread.init(),registerWasmPlugin(),FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit(),embind_init_charCodes(),BindingError=Module.BindingError=class extends Error{constructor(r){super(r),this.name="BindingError"}},InternalError=Module.InternalError=class extends Error{constructor(r){super(r),this.name="InternalError"}},init_emval(),Module.requestFullscreen=Browser.requestFullscreen,Module.requestAnimationFrame=Browser.requestAnimationFrame,Module.setCanvasSize=Browser.setCanvasSize,Module.pauseMainLoop=Browser.mainLoop.pause,Module.resumeMainLoop=Browser.mainLoop.resume,Module.getUserMedia=Browser.getUserMedia,Module.createContext=Browser.createContext;for(var preloadedImages={},preloadedAudios={},GLctx,i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));for(var miniTempWebGLFloatBuffersStorage=new Float32Array(288),i=0;i<288;++i)miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i);for(var miniTempWebGLIntBuffersStorage=new Int32Array(288),i=0;i<288;++i)miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i);var emSetImmediate,emClearImmediate;if(typeof setImmediate<"u")emSetImmediate=setImmediateWrapped,emClearImmediate=clearImmediateWrapped;else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0,__setImmediate_queue=[],__setImmediate_message_id="_si",__setImmediate_cb=e=>{e.data===__setImmediate_message_id&&(e.stopPropagation(),__setImmediate_queue.shift()(),++__setImmediate_id_counter)};addEventListener("message",__setImmediate_cb,!0),emSetImmediate=e=>(postMessage(__setImmediate_message_id,"*"),__setImmediate_id_counter+__setImmediate_queue.push(e)-1),emClearImmediate=e=>{var r=e-__setImmediate_id_counter;r>=0&&r<__setImmediate_queue.length&&(__setImmediate_queue[r]=()=>{})}}if(!Atomics.waitAsync||typeof navigator<"u"&&navigator.userAgent&&jstoi_q((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2])<91){let r=function(){let t=performance.now(),n=e.length;for(let _=0;_a[3],l=Atomics.load(a[0],a[1])!=a[2];(o||l)&&(e[_--]=e[--n],e.length=n,a[4](l?"ok":"timed-out"))}n&&setTimeout(r,10)};var __Atomics_pollWaitAsyncAddresses=r;let e=[];Atomics.waitAsync=(t,n,_,a)=>{if(Atomics.load(t,n)!=_)return{async:!1,value:"not-equal"};if(a<=0)return{async:!1,value:"timed-out"};a=performance.now()+(a||1/0);let l,c=new Promise(u=>{l=u});return e[0]||setTimeout(r,10),e.push([t,n,_,a,l]),{async:!0,value:c}}}UnboundTypeError=Module.UnboundTypeError=extendError(Error,"UnboundTypeError"),PureVirtualError=Module.PureVirtualError=extendError(Error,"PureVirtualError"),init_embind(),init_RegisteredPointer(),init_ClassHandle();var proxiedFunctionTable=[_proc_exit,exitOnMainThread,pthreadCreateProxied,___syscall__newselect,___syscall_accept4,___syscall_bind,___syscall_chdir,___syscall_chmod,___syscall_connect,___syscall_dup,___syscall_dup3,___syscall_faccessat,___syscall_fadvise64,___syscall_fallocate,___syscall_fchdir,___syscall_fchmod,___syscall_fchmodat2,___syscall_fchown32,___syscall_fchownat,___syscall_fcntl64,___syscall_fdatasync,___syscall_fstat64,___syscall_fstatfs64,___syscall_statfs64,___syscall_ftruncate64,___syscall_getcwd,___syscall_getdents64,___syscall_getpeername,___syscall_getsockname,___syscall_getsockopt,___syscall_ioctl,___syscall_listen,___syscall_lstat64,___syscall_mkdirat,___syscall_mknodat,___syscall_newfstatat,___syscall_openat,___syscall_pipe,___syscall_poll,___syscall_readlinkat,___syscall_recvfrom,___syscall_recvmsg,___syscall_renameat,___syscall_rmdir,___syscall_sendmsg,___syscall_sendto,___syscall_socket,___syscall_stat64,___syscall_symlink,___syscall_symlinkat,___syscall_truncate64,___syscall_unlinkat,___syscall_utimensat,__emscripten_runtime_keepalive_clear,__mmap_js,__msync_js,__munmap_js,__setitimer_js,_alBuffer3f,_alBuffer3i,_alBufferData,_alBufferf,_alBufferfv,_alBufferi,_alBufferiv,_alDeleteBuffers,_alDeleteSources,_alSourcei,_alDisable,_alDistanceModel,_alDopplerFactor,_alDopplerVelocity,_alEnable,_alGenBuffers,_alGenSources,_alGetBoolean,_alGetBooleanv,_alGetBuffer3f,_alGetBuffer3i,_alGetBufferf,_alGetBufferfv,_alGetBufferi,_alGetBufferiv,_alGetDouble,_alGetDoublev,_alGetEnumValue,_alGetError,_alGetFloat,_alGetFloatv,_alGetInteger,_alGetIntegerv,_alGetListener3f,_alGetListener3i,_alGetListenerf,_alGetListenerfv,_alGetListeneri,_alGetListeneriv,_alGetSource3f,_alGetSource3i,_alGetSourcef,_alGetSourcefv,_alGetSourcei,_alGetSourceiv,_alGetString,_alIsBuffer,_alIsEnabled,_alIsExtensionPresent,_alIsSource,_alListener3f,_alListener3i,_alListenerf,_alListenerfv,_alListeneri,_alListeneriv,_alSource3f,_alSource3i,_alSourcePause,_alSourcePausev,_alSourcePlay,_alSourcePlayv,_alSourceQueueBuffers,_alSourceRewind,_alSourceRewindv,_alSourceStop,_alSourceStopv,_alSourceUnqueueBuffers,_alSourcef,_alSourcefv,_alSourceiv,_alSpeedOfSound,_alcCaptureCloseDevice,_alcCaptureOpenDevice,_alcCaptureSamples,_alcCaptureStart,_alcCaptureStop,_alcCloseDevice,_alcCreateContext,_alcDestroyContext,_alcGetContextsDevice,_alcGetCurrentContext,_alcGetEnumValue,_alcGetError,_alcGetIntegerv,_alcGetString,_alcIsExtensionPresent,_alcMakeContextCurrent,_alcOpenDevice,_emscripten_alcDevicePauseSOFT,_emscripten_alcDeviceResumeSOFT,_emscripten_alcGetStringiSOFT,_emscripten_alcResetDeviceSOFT,_environ_get,_environ_sizes_get,_fd_close,_fd_fdstat_get,_fd_pread,_fd_pwrite,_fd_read,_fd_seek,_fd_sync,_fd_write,_getaddrinfo,_emscripten_force_exit,_emscripten_set_keypress_callback_on_thread,_emscripten_set_keydown_callback_on_thread,_emscripten_set_keyup_callback_on_thread,_emscripten_set_click_callback_on_thread,_emscripten_set_mousedown_callback_on_thread,_emscripten_set_mouseup_callback_on_thread,_emscripten_set_dblclick_callback_on_thread,_emscripten_set_mousemove_callback_on_thread,_emscripten_set_mouseenter_callback_on_thread,_emscripten_set_mouseleave_callback_on_thread,_emscripten_set_mouseover_callback_on_thread,_emscripten_set_mouseout_callback_on_thread,_emscripten_get_mouse_status,_emscripten_set_wheel_callback_on_thread,_emscripten_set_resize_callback_on_thread,_emscripten_set_scroll_callback_on_thread,_emscripten_set_blur_callback_on_thread,_emscripten_set_focus_callback_on_thread,_emscripten_set_focusin_callback_on_thread,_emscripten_set_focusout_callback_on_thread,_emscripten_set_deviceorientation_callback_on_thread,_emscripten_get_deviceorientation_status,_emscripten_set_devicemotion_callback_on_thread,_emscripten_get_devicemotion_status,_emscripten_set_orientationchange_callback_on_thread,_emscripten_get_orientation_status,_emscripten_lock_orientation,_emscripten_unlock_orientation,_emscripten_set_fullscreenchange_callback_on_thread,_emscripten_get_fullscreen_status,getCanvasSizeMainThread,setCanvasElementSizeMainThread,_emscripten_request_fullscreen,_emscripten_request_fullscreen_strategy,_emscripten_enter_soft_fullscreen,_emscripten_exit_soft_fullscreen,_emscripten_exit_fullscreen,_emscripten_set_pointerlockchange_callback_on_thread,_emscripten_set_pointerlockerror_callback_on_thread,_emscripten_get_pointerlock_status,_emscripten_request_pointerlock,_emscripten_exit_pointerlock,_emscripten_vibrate,_emscripten_vibrate_pattern,_emscripten_set_visibilitychange_callback_on_thread,_emscripten_get_visibility_status,_emscripten_set_touchstart_callback_on_thread,_emscripten_set_touchend_callback_on_thread,_emscripten_set_touchmove_callback_on_thread,_emscripten_set_touchcancel_callback_on_thread,_emscripten_set_gamepadconnected_callback_on_thread,_emscripten_sample_gamepad_data,_emscripten_set_gamepaddisconnected_callback_on_thread,_emscripten_get_num_gamepads,_emscripten_get_gamepad_status,_emscripten_set_beforeunload_callback_on_thread,_emscripten_set_batterychargingchange_callback_on_thread,_emscripten_set_batterylevelchange_callback_on_thread,_emscripten_get_battery_status,_emscripten_set_element_css_size,_emscripten_get_element_css_size,_emscripten_get_device_pixel_ratio,_random_get,_clock_time_get,_clock_res_get,_emscripten_run_preload_plugins,_emscripten_run_preload_plugins_data,_emscripten_get_window_title,_emscripten_set_window_title,_emscripten_get_screen_size,_emscripten_hide_mouse,_emscripten_set_canvas_size,_emscripten_get_canvas_size,_emscripten_create_worker,_emscripten_destroy_worker,_emscripten_call_worker,_emscripten_get_worker_queue_size,_emscripten_get_preloaded_image_data,_emscripten_get_preloaded_image_data_from_FILE,_emscripten_async_wget,_emscripten_async_wget_data,_emscripten_async_wget2,_emscripten_async_wget2_data,_emscripten_async_wget2_abort,_emscripten_set_webglcontextlost_callback_on_thread,_emscripten_set_webglcontextrestored_callback_on_thread,_glutPostRedisplay,_glutGetModifiers,_glutInit,_glutInitWindowSize,_glutInitWindowPosition,_glutIdleFunc,_glutTimerFunc,_glutDisplayFunc,_glutKeyboardFunc,_glutKeyboardUpFunc,_glutSpecialFunc,_glutSpecialUpFunc,_glutReshapeFunc,_glutMotionFunc,_glutPassiveMotionFunc,_glutMouseFunc,_glutSetCursor,_glutCreateWindow,_glutDestroyWindow,_glutReshapeWindow,_glutPositionWindow,_glutFullScreen,_glutInitDisplayMode,_glutSwapBuffers,_glutMainLoop,_eglGetDisplay,_eglInitialize,_eglTerminate,_eglGetConfigs,_eglChooseConfig,_eglGetConfigAttrib,_eglCreateWindowSurface,_eglDestroySurface,_eglCreateContext,_eglDestroyContext,_eglQuerySurface,_eglQueryContext,_eglGetError,_eglQueryString,_eglBindAPI,_eglQueryAPI,_eglWaitClient,_eglWaitNative,_eglSwapInterval,_eglMakeCurrent,_eglGetCurrentContext,_eglGetCurrentSurface,_eglGetCurrentDisplay,_eglSwapBuffers,_eglReleaseThread,_SDL_GetTicks,_SDL_LockSurface,_SDL_Linked_Version,_SDL_Init,_SDL_WasInit,_SDL_GetVideoInfo,_SDL_VideoDriverName,_SDL_SetVideoMode,_SDL_GetVideoSurface,_SDL_AudioQuit,_SDL_UnlockSurface,_SDL_WM_SetCaption,_SDL_GetKeyboardState,_SDL_GetKeyName,_SDL_GetModState,_SDL_GetMouseState,_SDL_WarpMouse,_SDL_ShowCursor,_SDL_GetError,_SDL_CreateRGBSurface,_SDL_CreateRGBSurfaceFrom,_SDL_ConvertSurface,_SDL_FreeSurface,_SDL_UpperBlit,_SDL_UpperBlitScaled,_SDL_GetClipRect,_SDL_SetClipRect,_SDL_FillRect,_SDL_SetAlpha,_SDL_PollEvent,_SDL_PushEvent,_SDL_PeepEvents,_SDL_PumpEvents,_emscripten_SDL_SetEventHandler,_SDL_SetColors,_SDL_MapRGB,_SDL_MapRGBA,_SDL_GetRGB,_SDL_GetRGBA,_SDL_GetAppState,_SDL_WM_ToggleFullScreen,_IMG_Load_RW,_SDL_FreeRW,_IMG_Load,_SDL_RWFromFile,_SDL_OpenAudio,_SDL_PauseAudio,_SDL_CloseAudio,_SDL_StartTextInput,_SDL_StopTextInput,_Mix_OpenAudio,_Mix_AllocateChannels,_Mix_ChannelFinished,_Mix_Volume,_Mix_SetPanning,_Mix_LoadWAV_RW,_Mix_LoadWAV,_Mix_QuickLoad_RAW,_Mix_FreeChunk,_Mix_ReserveChannels,_Mix_PlayChannelTimed,_Mix_HaltChannel,_Mix_HookMusicFinished,_Mix_HaltMusic,_Mix_VolumeMusic,_Mix_LoadMUS,_Mix_PlayMusic,_Mix_PauseMusic,_Mix_ResumeMusic,_Mix_PlayingMusic,_Mix_Playing,_Mix_Pause,_Mix_Paused,_Mix_PausedMusic,_Mix_Resume,_TTF_Init,_TTF_OpenFont,_TTF_CloseFont,_TTF_RenderText_Solid,_TTF_SizeText,_TTF_GlyphMetrics,_TTF_FontAscent,_TTF_FontDescent,_TTF_FontHeight,_SDL_GL_SetAttribute,_SDL_GL_GetAttribute,_SDL_GL_SwapBuffers,_SDL_GL_ExtensionSupported,_SDL_GetWindowFlags,_SDL_GL_GetSwapInterval,_SDL_SetWindowTitle,_SDL_GetWindowSize,_SDL_SetWindowFullscreen,_SDL_NumJoysticks,_SDL_JoystickName,_SDL_JoystickOpen,_SDL_JoystickOpened,_SDL_JoystickNumAxes,_SDL_JoystickNumButtons,_SDL_JoystickUpdate,_SDL_JoystickEventState,_SDL_JoystickGetAxis,_SDL_JoystickGetButton,_SDL_JoystickClose,_SDL_RWFromConstMem,_SDL_EnableUNICODE,_SDL_AddTimer,_SDL_RemoveTimer],wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,Mix_AllocateChannels:_Mix_AllocateChannels,Mix_ChannelFinished:_Mix_ChannelFinished,Mix_CloseAudio:_Mix_CloseAudio,Mix_FadeInChannelTimed:_Mix_FadeInChannelTimed,Mix_FadeInMusicPos:_Mix_FadeInMusicPos,Mix_FadeOutChannel:_Mix_FadeOutChannel,Mix_FadeOutMusic:_Mix_FadeOutMusic,Mix_FadingChannel:_Mix_FadingChannel,Mix_FreeChunk:_Mix_FreeChunk,Mix_FreeMusic:_Mix_FreeMusic,Mix_HaltChannel:_Mix_HaltChannel,Mix_HaltMusic:_Mix_HaltMusic,Mix_HookMusicFinished:_Mix_HookMusicFinished,Mix_Init:_Mix_Init,Mix_Linked_Version:_Mix_Linked_Version,Mix_LoadMUS:_Mix_LoadMUS,Mix_LoadMUS_RW:_Mix_LoadMUS_RW,Mix_LoadWAV:_Mix_LoadWAV,Mix_LoadWAV_RW:_Mix_LoadWAV_RW,Mix_OpenAudio:_Mix_OpenAudio,Mix_Pause:_Mix_Pause,Mix_PauseMusic:_Mix_PauseMusic,Mix_Paused:_Mix_Paused,Mix_PausedMusic:_Mix_PausedMusic,Mix_PlayChannelTimed:_Mix_PlayChannelTimed,Mix_PlayMusic:_Mix_PlayMusic,Mix_Playing:_Mix_Playing,Mix_PlayingMusic:_Mix_PlayingMusic,Mix_QuerySpec:_Mix_QuerySpec,Mix_QuickLoad_RAW:_Mix_QuickLoad_RAW,Mix_Quit:_Mix_Quit,Mix_ReserveChannels:_Mix_ReserveChannels,Mix_Resume:_Mix_Resume,Mix_ResumeMusic:_Mix_ResumeMusic,Mix_SetPanning:_Mix_SetPanning,Mix_SetPosition:_Mix_SetPosition,Mix_SetPostMix:_Mix_SetPostMix,Mix_Volume:_Mix_Volume,Mix_VolumeChunk:_Mix_VolumeChunk,Mix_VolumeMusic:_Mix_VolumeMusic,SDL_AddTimer:_SDL_AddTimer,SDL_AllocRW:_SDL_AllocRW,SDL_AudioDriverName:_SDL_AudioDriverName,SDL_AudioQuit:_SDL_AudioQuit,SDL_ClearError:_SDL_ClearError,SDL_CloseAudio:_SDL_CloseAudio,SDL_CondBroadcast:_SDL_CondBroadcast,SDL_CondSignal:_SDL_CondSignal,SDL_CondWait:_SDL_CondWait,SDL_CondWaitTimeout:_SDL_CondWaitTimeout,SDL_ConvertSurface:_SDL_ConvertSurface,SDL_CreateCond:_SDL_CreateCond,SDL_CreateMutex:_SDL_CreateMutex,SDL_CreateRGBSurface:_SDL_CreateRGBSurface,SDL_CreateRGBSurfaceFrom:_SDL_CreateRGBSurfaceFrom,SDL_CreateThread:_SDL_CreateThread,SDL_Delay:_SDL_Delay,SDL_DestroyCond:_SDL_DestroyCond,SDL_DestroyMutex:_SDL_DestroyMutex,SDL_DestroyRenderer:_SDL_DestroyRenderer,SDL_DestroyWindow:_SDL_DestroyWindow,SDL_DisplayFormatAlpha:_SDL_DisplayFormatAlpha,SDL_EnableKeyRepeat:_SDL_EnableKeyRepeat,SDL_EnableUNICODE:_SDL_EnableUNICODE,SDL_FillRect:_SDL_FillRect,SDL_Flip:_SDL_Flip,SDL_FreeRW:_SDL_FreeRW,SDL_FreeSurface:_SDL_FreeSurface,SDL_GL_DeleteContext:_SDL_GL_DeleteContext,SDL_GL_ExtensionSupported:_SDL_GL_ExtensionSupported,SDL_GL_GetAttribute:_SDL_GL_GetAttribute,SDL_GL_GetSwapInterval:_SDL_GL_GetSwapInterval,SDL_GL_MakeCurrent:_SDL_GL_MakeCurrent,SDL_GL_SetAttribute:_SDL_GL_SetAttribute,SDL_GL_SetSwapInterval:_SDL_GL_SetSwapInterval,SDL_GL_SwapBuffers:_SDL_GL_SwapBuffers,SDL_GL_SwapWindow:_SDL_GL_SwapWindow,SDL_GetAppState:_SDL_GetAppState,SDL_GetAudioDriver:_SDL_GetAudioDriver,SDL_GetClipRect:_SDL_GetClipRect,SDL_GetCurrentAudioDriver:_SDL_GetCurrentAudioDriver,SDL_GetError:_SDL_GetError,SDL_GetKeyName:_SDL_GetKeyName,SDL_GetKeyState:_SDL_GetKeyState,SDL_GetKeyboardState:_SDL_GetKeyboardState,SDL_GetModState:_SDL_GetModState,SDL_GetMouseState:_SDL_GetMouseState,SDL_GetNumAudioDrivers:_SDL_GetNumAudioDrivers,SDL_GetRGB:_SDL_GetRGB,SDL_GetRGBA:_SDL_GetRGBA,SDL_GetScancodeFromKey:_SDL_GetScancodeFromKey,SDL_GetThreadID:_SDL_GetThreadID,SDL_GetTicks:_SDL_GetTicks,SDL_GetVideoInfo:_SDL_GetVideoInfo,SDL_GetVideoSurface:_SDL_GetVideoSurface,SDL_GetWindowFlags:_SDL_GetWindowFlags,SDL_GetWindowSize:_SDL_GetWindowSize,SDL_Has3DNow:_SDL_Has3DNow,SDL_Has3DNowExt:_SDL_Has3DNowExt,SDL_HasAltiVec:_SDL_HasAltiVec,SDL_HasMMX:_SDL_HasMMX,SDL_HasMMXExt:_SDL_HasMMXExt,SDL_HasRDTSC:_SDL_HasRDTSC,SDL_HasSSE:_SDL_HasSSE,SDL_HasSSE2:_SDL_HasSSE2,SDL_Init:_SDL_Init,SDL_InitSubSystem:_SDL_InitSubSystem,SDL_JoystickClose:_SDL_JoystickClose,SDL_JoystickEventState:_SDL_JoystickEventState,SDL_JoystickGetAxis:_SDL_JoystickGetAxis,SDL_JoystickGetBall:_SDL_JoystickGetBall,SDL_JoystickGetButton:_SDL_JoystickGetButton,SDL_JoystickGetHat:_SDL_JoystickGetHat,SDL_JoystickIndex:_SDL_JoystickIndex,SDL_JoystickName:_SDL_JoystickName,SDL_JoystickNumAxes:_SDL_JoystickNumAxes,SDL_JoystickNumBalls:_SDL_JoystickNumBalls,SDL_JoystickNumButtons:_SDL_JoystickNumButtons,SDL_JoystickNumHats:_SDL_JoystickNumHats,SDL_JoystickOpen:_SDL_JoystickOpen,SDL_JoystickOpened:_SDL_JoystickOpened,SDL_JoystickUpdate:_SDL_JoystickUpdate,SDL_Linked_Version:_SDL_Linked_Version,SDL_ListModes:_SDL_ListModes,SDL_LoadBMP_RW:_SDL_LoadBMP_RW,SDL_LockAudio:_SDL_LockAudio,SDL_LockSurface:_SDL_LockSurface,SDL_LogSetOutputFunction:_SDL_LogSetOutputFunction,SDL_LowerBlit:_SDL_LowerBlit,SDL_LowerBlitScaled:_SDL_LowerBlitScaled,SDL_MapRGB:_SDL_MapRGB,SDL_MapRGBA:_SDL_MapRGBA,SDL_NumJoysticks:_SDL_NumJoysticks,SDL_OpenAudio:_SDL_OpenAudio,SDL_PauseAudio:_SDL_PauseAudio,SDL_PeepEvents:_SDL_PeepEvents,SDL_PollEvent:_SDL_PollEvent,SDL_PumpEvents:_SDL_PumpEvents,SDL_PushEvent:_SDL_PushEvent,SDL_Quit:_SDL_Quit,SDL_QuitSubSystem:_SDL_QuitSubSystem,SDL_RWFromConstMem:_SDL_RWFromConstMem,SDL_RWFromFile:_SDL_RWFromFile,SDL_RWFromMem:_SDL_RWFromMem,SDL_RemoveTimer:_SDL_RemoveTimer,SDL_SaveBMP_RW:_SDL_SaveBMP_RW,SDL_SetAlpha:_SDL_SetAlpha,SDL_SetClipRect:_SDL_SetClipRect,SDL_SetColorKey:_SDL_SetColorKey,SDL_SetColors:_SDL_SetColors,SDL_SetError:_SDL_SetError,SDL_SetGamma:_SDL_SetGamma,SDL_SetGammaRamp:_SDL_SetGammaRamp,SDL_SetPalette:_SDL_SetPalette,SDL_SetVideoMode:_SDL_SetVideoMode,SDL_SetWindowFullscreen:_SDL_SetWindowFullscreen,SDL_SetWindowTitle:_SDL_SetWindowTitle,SDL_ShowCursor:_SDL_ShowCursor,SDL_StartTextInput:_SDL_StartTextInput,SDL_StopTextInput:_SDL_StopTextInput,SDL_ThreadID:_SDL_ThreadID,SDL_UnlockAudio:_SDL_UnlockAudio,SDL_UnlockSurface:_SDL_UnlockSurface,SDL_UpdateRect:_SDL_UpdateRect,SDL_UpdateRects:_SDL_UpdateRects,SDL_UpperBlit:_SDL_UpperBlit,SDL_UpperBlitScaled:_SDL_UpperBlitScaled,SDL_VideoDriverName:_SDL_VideoDriverName,SDL_VideoModeOK:_SDL_VideoModeOK,SDL_VideoQuit:_SDL_VideoQuit,SDL_WM_GrabInput:_SDL_WM_GrabInput,SDL_WM_IconifyWindow:_SDL_WM_IconifyWindow,SDL_WM_SetCaption:_SDL_WM_SetCaption,SDL_WM_SetIcon:_SDL_WM_SetIcon,SDL_WM_ToggleFullScreen:_SDL_WM_ToggleFullScreen,SDL_WaitThread:_SDL_WaitThread,SDL_WarpMouse:_SDL_WarpMouse,SDL_WasInit:_SDL_WasInit,SDL_mutexP:_SDL_mutexP,SDL_mutexV:_SDL_mutexV,TTF_CloseFont:_TTF_CloseFont,TTF_FontAscent:_TTF_FontAscent,TTF_FontDescent:_TTF_FontDescent,TTF_FontHeight:_TTF_FontHeight,TTF_FontLineSkip:_TTF_FontLineSkip,TTF_GlyphMetrics:_TTF_GlyphMetrics,TTF_Init:_TTF_Init,TTF_OpenFont:_TTF_OpenFont,TTF_Quit:_TTF_Quit,TTF_RenderText_Blended:_TTF_RenderText_Blended,TTF_RenderText_Shaded:_TTF_RenderText_Shaded,TTF_RenderText_Solid:_TTF_RenderText_Solid,TTF_RenderUTF8_Solid:_TTF_RenderUTF8_Solid,TTF_SizeText:_TTF_SizeText,TTF_SizeUTF8:_TTF_SizeUTF8,XChangeWindowAttributes:_XChangeWindowAttributes,XCreateWindow:_XCreateWindow,XInternAtom:_XInternAtom,XMapWindow:_XMapWindow,XOpenDisplay:_XOpenDisplay,XPending:_XPending,XSendEvent:_XSendEvent,XSetWMHints:_XSetWMHints,XStoreName:_XStoreName,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__c_longjmp:___c_longjmp,__call_sighandler:___call_sighandler,__cpp_exception:___cpp_exception,__emscripten_init_main_thread_js:___emscripten_init_main_thread_js,__emscripten_thread_cleanup:___emscripten_thread_cleanup,__global_base:___global_base,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__pthread_create_js:___pthread_create_js,__pthread_kill_js:___pthread_kill_js,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fchdir:___syscall_fchdir,__syscall_fchmod:___syscall_fchmod,__syscall_fchmodat2:___syscall_fchmodat2,__syscall_fchown32:___syscall_fchown32,__syscall_fchownat:___syscall_fchownat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_fstatfs64:___syscall_fstatfs64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getpeername:___syscall_getpeername,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_recvmsg:___syscall_recvmsg,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendmsg:___syscall_sendmsg,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlink:___syscall_symlink,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_embind_create_inheriting_constructor:__embind_create_inheriting_constructor,_embind_finalize_value_array:__embind_finalize_value_array,_embind_finalize_value_object:__embind_finalize_value_object,_embind_register_bigint:__embind_register_bigint,_embind_register_bool:__embind_register_bool,_embind_register_class:__embind_register_class,_embind_register_class_class_function:__embind_register_class_class_function,_embind_register_class_class_property:__embind_register_class_class_property,_embind_register_class_constructor:__embind_register_class_constructor,_embind_register_class_function:__embind_register_class_function,_embind_register_class_property:__embind_register_class_property,_embind_register_constant:__embind_register_constant,_embind_register_emval:__embind_register_emval,_embind_register_enum:__embind_register_enum,_embind_register_enum_value:__embind_register_enum_value,_embind_register_float:__embind_register_float,_embind_register_function:__embind_register_function,_embind_register_integer:__embind_register_integer,_embind_register_memory_view:__embind_register_memory_view,_embind_register_optional:__embind_register_optional,_embind_register_smart_ptr:__embind_register_smart_ptr,_embind_register_std_string:__embind_register_std_string,_embind_register_std_wstring:__embind_register_std_wstring,_embind_register_user_type:__embind_register_user_type,_embind_register_value_array:__embind_register_value_array,_embind_register_value_array_element:__embind_register_value_array_element,_embind_register_value_object:__embind_register_value_object,_embind_register_value_object_field:__embind_register_value_object_field,_embind_register_void:__embind_register_void,_emscripten_dlopen_js:__emscripten_dlopen_js,_emscripten_dlsync_threads:__emscripten_dlsync_threads,_emscripten_dlsync_threads_async:__emscripten_dlsync_threads_async,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_lookup_name:__emscripten_lookup_name,_emscripten_notify_mailbox_postmessage:__emscripten_notify_mailbox_postmessage,_emscripten_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_receive_on_main_thread_js:__emscripten_receive_on_main_thread_js,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_set_offscreencanvas_size:__emscripten_set_offscreencanvas_size,_emscripten_system:__emscripten_system,_emscripten_thread_exit_joinable:__emscripten_thread_exit_joinable,_emscripten_thread_mailbox_await:__emscripten_thread_mailbox_await,_emscripten_thread_set_strongref:__emscripten_thread_set_strongref,_emval_as:__emval_as,_emval_as_int64:__emval_as_int64,_emval_as_uint64:__emval_as_uint64,_emval_call:__emval_call,_emval_call_method:__emval_call_method,_emval_coro_make_promise:__emval_coro_make_promise,_emval_coro_suspend:__emval_coro_suspend,_emval_decref:__emval_decref,_emval_delete:__emval_delete,_emval_equals:__emval_equals,_emval_get_global:__emval_get_global,_emval_get_method_caller:__emval_get_method_caller,_emval_get_module_property:__emval_get_module_property,_emval_get_property:__emval_get_property,_emval_greater_than:__emval_greater_than,_emval_in:__emval_in,_emval_incref:__emval_incref,_emval_instanceof:__emval_instanceof,_emval_is_number:__emval_is_number,_emval_is_string:__emval_is_string,_emval_iter_begin:__emval_iter_begin,_emval_iter_next:__emval_iter_next,_emval_less_than:__emval_less_than,_emval_new_array:__emval_new_array,_emval_new_array_from_memory_view:__emval_new_array_from_memory_view,_emval_new_cstring:__emval_new_cstring,_emval_new_object:__emval_new_object,_emval_new_u16string:__emval_new_u16string,_emval_new_u8string:__emval_new_u8string,_emval_not:__emval_not,_emval_register_symbol:__emval_register_symbol,_emval_run_destructors:__emval_run_destructors,_emval_set_property:__emval_set_property,_emval_strictly_equals:__emval_strictly_equals,_emval_take_value:__emval_take_value,_emval_throw:__emval_throw,_emval_typeof:__emval_typeof,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,abort:_abort,alBuffer3f:_alBuffer3f,alBuffer3i:_alBuffer3i,alBufferData:_alBufferData,alBufferf:_alBufferf,alBufferfv:_alBufferfv,alBufferi:_alBufferi,alBufferiv:_alBufferiv,alDeleteBuffers:_alDeleteBuffers,alDeleteSources:_alDeleteSources,alDisable:_alDisable,alDistanceModel:_alDistanceModel,alDopplerFactor:_alDopplerFactor,alDopplerVelocity:_alDopplerVelocity,alEnable:_alEnable,alGenBuffers:_alGenBuffers,alGenSources:_alGenSources,alGetBoolean:_alGetBoolean,alGetBooleanv:_alGetBooleanv,alGetBuffer3f:_alGetBuffer3f,alGetBuffer3i:_alGetBuffer3i,alGetBufferf:_alGetBufferf,alGetBufferfv:_alGetBufferfv,alGetBufferi:_alGetBufferi,alGetBufferiv:_alGetBufferiv,alGetDouble:_alGetDouble,alGetDoublev:_alGetDoublev,alGetEnumValue:_alGetEnumValue,alGetError:_alGetError,alGetFloat:_alGetFloat,alGetFloatv:_alGetFloatv,alGetInteger:_alGetInteger,alGetIntegerv:_alGetIntegerv,alGetListener3f:_alGetListener3f,alGetListener3i:_alGetListener3i,alGetListenerf:_alGetListenerf,alGetListenerfv:_alGetListenerfv,alGetListeneri:_alGetListeneri,alGetListeneriv:_alGetListeneriv,alGetSource3f:_alGetSource3f,alGetSource3i:_alGetSource3i,alGetSourcef:_alGetSourcef,alGetSourcefv:_alGetSourcefv,alGetSourcei:_alGetSourcei,alGetSourceiv:_alGetSourceiv,alGetString:_alGetString,alIsBuffer:_alIsBuffer,alIsEnabled:_alIsEnabled,alIsExtensionPresent:_alIsExtensionPresent,alIsSource:_alIsSource,alListener3f:_alListener3f,alListener3i:_alListener3i,alListenerf:_alListenerf,alListenerfv:_alListenerfv,alListeneri:_alListeneri,alListeneriv:_alListeneriv,alSource3f:_alSource3f,alSource3i:_alSource3i,alSourcePause:_alSourcePause,alSourcePausev:_alSourcePausev,alSourcePlay:_alSourcePlay,alSourcePlayv:_alSourcePlayv,alSourceQueueBuffers:_alSourceQueueBuffers,alSourceRewind:_alSourceRewind,alSourceRewindv:_alSourceRewindv,alSourceStop:_alSourceStop,alSourceStopv:_alSourceStopv,alSourceUnqueueBuffers:_alSourceUnqueueBuffers,alSourcef:_alSourcef,alSourcefv:_alSourcefv,alSourcei:_alSourcei,alSourceiv:_alSourceiv,alSpeedOfSound:_alSpeedOfSound,alcCaptureCloseDevice:_alcCaptureCloseDevice,alcCaptureOpenDevice:_alcCaptureOpenDevice,alcCaptureSamples:_alcCaptureSamples,alcCaptureStart:_alcCaptureStart,alcCaptureStop:_alcCaptureStop,alcCloseDevice:_alcCloseDevice,alcCreateContext:_alcCreateContext,alcDestroyContext:_alcDestroyContext,alcGetContextsDevice:_alcGetContextsDevice,alcGetCurrentContext:_alcGetCurrentContext,alcGetEnumValue:_alcGetEnumValue,alcGetError:_alcGetError,alcGetIntegerv:_alcGetIntegerv,alcGetString:_alcGetString,alcIsExtensionPresent:_alcIsExtensionPresent,alcMakeContextCurrent:_alcMakeContextCurrent,alcOpenDevice:_alcOpenDevice,alcProcessContext:_alcProcessContext,alcSuspendContext:_alcSuspendContext,boxColor:_boxColor,boxRGBA:_boxRGBA,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,duckdb_web_fs_directory_create:_duckdb_web_fs_directory_create,duckdb_web_fs_directory_exists:_duckdb_web_fs_directory_exists,duckdb_web_fs_directory_list_files:_duckdb_web_fs_directory_list_files,duckdb_web_fs_directory_remove:_duckdb_web_fs_directory_remove,duckdb_web_fs_file_close:_duckdb_web_fs_file_close,duckdb_web_fs_file_drop_file:_duckdb_web_fs_file_drop_file,duckdb_web_fs_file_exists:_duckdb_web_fs_file_exists,duckdb_web_fs_file_get_last_modified_time:_duckdb_web_fs_file_get_last_modified_time,duckdb_web_fs_file_move:_duckdb_web_fs_file_move,duckdb_web_fs_file_open:_duckdb_web_fs_file_open,duckdb_web_fs_file_read:_duckdb_web_fs_file_read,duckdb_web_fs_file_remove:_duckdb_web_fs_file_remove,duckdb_web_fs_file_sync:_duckdb_web_fs_file_sync,duckdb_web_fs_file_truncate:_duckdb_web_fs_file_truncate,duckdb_web_fs_file_write:_duckdb_web_fs_file_write,duckdb_web_fs_get_default_data_protocol:_duckdb_web_fs_get_default_data_protocol,duckdb_web_fs_glob:_duckdb_web_fs_glob,duckdb_web_test_platform_feature:_duckdb_web_test_platform_feature,duckdb_web_udf_scalar_call:_duckdb_web_udf_scalar_call,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetConfigs:_eglGetConfigs,eglGetCurrentContext:_eglGetCurrentContext,eglGetCurrentDisplay:_eglGetCurrentDisplay,eglGetCurrentSurface:_eglGetCurrentSurface,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryAPI:_eglQueryAPI,eglQueryContext:_eglQueryContext,eglQueryString:_eglQueryString,eglQuerySurface:_eglQuerySurface,eglReleaseThread:_eglReleaseThread,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitClient:_eglWaitClient,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,ellipseColor:_ellipseColor,ellipseRGBA:_ellipseRGBA,emscripten_SDL_SetEventHandler:_emscripten_SDL_SetEventHandler,emscripten_alcDevicePauseSOFT:_emscripten_alcDevicePauseSOFT,emscripten_alcDeviceResumeSOFT:_emscripten_alcDeviceResumeSOFT,emscripten_alcGetStringiSOFT:_emscripten_alcGetStringiSOFT,emscripten_alcResetDeviceSOFT:_emscripten_alcResetDeviceSOFT,emscripten_asm_const_async_on_main_thread:_emscripten_asm_const_async_on_main_thread,emscripten_asm_const_double:_emscripten_asm_const_double,emscripten_asm_const_double_sync_on_main_thread:_emscripten_asm_const_double_sync_on_main_thread,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr:_emscripten_asm_const_ptr,emscripten_asm_const_ptr_sync_on_main_thread:_emscripten_asm_const_ptr_sync_on_main_thread,emscripten_async_call:_emscripten_async_call,emscripten_async_load_script:_emscripten_async_load_script,emscripten_async_run_script:_emscripten_async_run_script,emscripten_async_wget:_emscripten_async_wget,emscripten_async_wget2:_emscripten_async_wget2,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_async_wget_data:_emscripten_async_wget_data,emscripten_atomic_cancel_all_wait_asyncs:_emscripten_atomic_cancel_all_wait_asyncs,emscripten_atomic_cancel_all_wait_asyncs_at_address:_emscripten_atomic_cancel_all_wait_asyncs_at_address,emscripten_atomic_cancel_wait_async:_emscripten_atomic_cancel_wait_async,emscripten_atomic_wait_async:_emscripten_atomic_wait_async,emscripten_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_check_blocking_allowed:_emscripten_check_blocking_allowed,emscripten_clear_immediate:_emscripten_clear_immediate,emscripten_clear_interval:_emscripten_clear_interval,emscripten_clear_timeout:_emscripten_clear_timeout,emscripten_console_error:_emscripten_console_error,emscripten_console_log:_emscripten_console_log,emscripten_console_warn:_emscripten_console_warn,emscripten_create_worker:_emscripten_create_worker,emscripten_date_now:_emscripten_date_now,emscripten_debugger:_emscripten_debugger,emscripten_destroy_worker:_emscripten_destroy_worker,emscripten_enter_soft_fullscreen:_emscripten_enter_soft_fullscreen,emscripten_err:_emscripten_err,emscripten_errn:_emscripten_errn,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_exit_soft_fullscreen:_emscripten_exit_soft_fullscreen,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_fiber_swap:_emscripten_fiber_swap,emscripten_force_exit:_emscripten_force_exit,emscripten_get_battery_status:_emscripten_get_battery_status,emscripten_get_callstack:_emscripten_get_callstack,emscripten_get_canvas_element_size:_emscripten_get_canvas_element_size,emscripten_get_canvas_size:_emscripten_get_canvas_size,emscripten_get_compiler_setting:_emscripten_get_compiler_setting,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_devicemotion_status:_emscripten_get_devicemotion_status,emscripten_get_deviceorientation_status:_emscripten_get_deviceorientation_status,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,emscripten_get_module_name:_emscripten_get_module_name,emscripten_get_mouse_status:_emscripten_get_mouse_status,emscripten_get_now:_emscripten_get_now,emscripten_get_now_res:_emscripten_get_now_res,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_orientation_status:_emscripten_get_orientation_status,emscripten_get_pointerlock_status:_emscripten_get_pointerlock_status,emscripten_get_preloaded_image_data:_emscripten_get_preloaded_image_data,emscripten_get_preloaded_image_data_from_FILE:_emscripten_get_preloaded_image_data_from_FILE,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_get_visibility_status:_emscripten_get_visibility_status,emscripten_get_window_title:_emscripten_get_window_title,emscripten_get_worker_queue_size:_emscripten_get_worker_queue_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBegin:_emscripten_glBegin,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArray:_emscripten_glBindVertexArray,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRange:_emscripten_glDepthRange,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawArraysInstancedARB:_emscripten_glDrawArraysInstancedARB,emscripten_glDrawArraysInstancedEXT:_emscripten_glDrawArraysInstancedEXT,emscripten_glDrawArraysInstancedNV:_emscripten_glDrawArraysInstancedNV,emscripten_glDrawBuffers:_emscripten_glDrawBuffers,emscripten_glDrawBuffersEXT:_emscripten_glDrawBuffersEXT,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glDrawElementsInstancedARB:_emscripten_glDrawElementsInstancedARB,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArray:_emscripten_glIsVertexArray,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glLoadIdentity:_emscripten_glLoadIdentity,emscripten_glMatrixMode:_emscripten_glMatrixMode,emscripten_glMultiDrawArrays:_emscripten_glMultiDrawArrays,emscripten_glMultiDrawArraysANGLE:_emscripten_glMultiDrawArraysANGLE,emscripten_glMultiDrawArraysInstancedANGLE:_emscripten_glMultiDrawArraysInstancedANGLE,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribDivisorARB:_emscripten_glVertexAttribDivisorARB,emscripten_glVertexAttribDivisorEXT:_emscripten_glVertexAttribDivisorEXT,emscripten_glVertexAttribDivisorNV:_emscripten_glVertexAttribDivisorNV,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_has_threading_support:_emscripten_has_threading_support,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_idb_async_clear:_emscripten_idb_async_clear,emscripten_idb_async_delete:_emscripten_idb_async_delete,emscripten_idb_async_exists:_emscripten_idb_async_exists,emscripten_idb_async_load:_emscripten_idb_async_load,emscripten_idb_async_store:_emscripten_idb_async_store,emscripten_idb_clear:_emscripten_idb_clear,emscripten_idb_delete:_emscripten_idb_delete,emscripten_idb_exists:_emscripten_idb_exists,emscripten_idb_load:_emscripten_idb_load,emscripten_idb_store:_emscripten_idb_store,emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,emscripten_lock_orientation:_emscripten_lock_orientation,emscripten_log:_emscripten_log,emscripten_math_acos:_emscripten_math_acos,emscripten_math_acosh:_emscripten_math_acosh,emscripten_math_asin:_emscripten_math_asin,emscripten_math_asinh:_emscripten_math_asinh,emscripten_math_atan:_emscripten_math_atan,emscripten_math_atan2:_emscripten_math_atan2,emscripten_math_atanh:_emscripten_math_atanh,emscripten_math_cbrt:_emscripten_math_cbrt,emscripten_math_cos:_emscripten_math_cos,emscripten_math_cosh:_emscripten_math_cosh,emscripten_math_exp:_emscripten_math_exp,emscripten_math_expm1:_emscripten_math_expm1,emscripten_math_fmod:_emscripten_math_fmod,emscripten_math_hypot:_emscripten_math_hypot,emscripten_math_log:_emscripten_math_log,emscripten_math_log10:_emscripten_math_log10,emscripten_math_log1p:_emscripten_math_log1p,emscripten_math_log2:_emscripten_math_log2,emscripten_math_pow:_emscripten_math_pow,emscripten_math_random:_emscripten_math_random,emscripten_math_round:_emscripten_math_round,emscripten_math_sign:_emscripten_math_sign,emscripten_math_sin:_emscripten_math_sin,emscripten_math_sinh:_emscripten_math_sinh,emscripten_math_sqrt:_emscripten_math_sqrt,emscripten_math_tan:_emscripten_math_tan,emscripten_math_tanh:_emscripten_math_tanh,emscripten_notify_memory_growth:_emscripten_notify_memory_growth,emscripten_num_logical_cores:_emscripten_num_logical_cores,emscripten_out:_emscripten_out,emscripten_outn:_emscripten_outn,emscripten_pause_main_loop:_emscripten_pause_main_loop,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_performance_now:_emscripten_performance_now,emscripten_print_double:_emscripten_print_double,emscripten_promise_all:_emscripten_promise_all,emscripten_promise_all_settled:_emscripten_promise_all_settled,emscripten_promise_any:_emscripten_promise_any,emscripten_promise_await:_emscripten_promise_await,emscripten_promise_create:_emscripten_promise_create,emscripten_promise_destroy:_emscripten_promise_destroy,emscripten_promise_race:_emscripten_promise_race,emscripten_promise_resolve:_emscripten_promise_resolve,emscripten_promise_then:_emscripten_promise_then,emscripten_random:_emscripten_random,emscripten_request_animation_frame:_emscripten_request_animation_frame,emscripten_request_animation_frame_loop:_emscripten_request_animation_frame_loop,emscripten_request_fullscreen:_emscripten_request_fullscreen,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_resume_main_loop:_emscripten_resume_main_loop,emscripten_return_address:_emscripten_return_address,emscripten_run_preload_plugins:_emscripten_run_preload_plugins,emscripten_run_preload_plugins_data:_emscripten_run_preload_plugins_data,emscripten_run_script:_emscripten_run_script,emscripten_run_script_int:_emscripten_run_script_int,emscripten_run_script_string:_emscripten_run_script_string,emscripten_runtime_keepalive_check:_emscripten_runtime_keepalive_check,emscripten_runtime_keepalive_pop:_emscripten_runtime_keepalive_pop,emscripten_runtime_keepalive_push:_emscripten_runtime_keepalive_push,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_scan_registers:_emscripten_scan_registers,emscripten_set_batterychargingchange_callback_on_thread:_emscripten_set_batterychargingchange_callback_on_thread,emscripten_set_batterylevelchange_callback_on_thread:_emscripten_set_batterylevelchange_callback_on_thread,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_canvas_size:_emscripten_set_canvas_size,emscripten_set_click_callback_on_thread:_emscripten_set_click_callback_on_thread,emscripten_set_dblclick_callback_on_thread:_emscripten_set_dblclick_callback_on_thread,emscripten_set_devicemotion_callback_on_thread:_emscripten_set_devicemotion_callback_on_thread,emscripten_set_deviceorientation_callback_on_thread:_emscripten_set_deviceorientation_callback_on_thread,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_focusin_callback_on_thread:_emscripten_set_focusin_callback_on_thread,emscripten_set_focusout_callback_on_thread:_emscripten_set_focusout_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_immediate:_emscripten_set_immediate,emscripten_set_immediate_loop:_emscripten_set_immediate_loop,emscripten_set_interval:_emscripten_set_interval,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_main_loop_expected_blockers:_emscripten_set_main_loop_expected_blockers,emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseout_callback_on_thread:_emscripten_set_mouseout_callback_on_thread,emscripten_set_mouseover_callback_on_thread:_emscripten_set_mouseover_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_orientationchange_callback_on_thread:_emscripten_set_orientationchange_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_pointerlockerror_callback_on_thread:_emscripten_set_pointerlockerror_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_scroll_callback_on_thread:_emscripten_set_scroll_callback_on_thread,emscripten_set_socket_close_callback:_emscripten_set_socket_close_callback,emscripten_set_socket_connection_callback:_emscripten_set_socket_connection_callback,emscripten_set_socket_error_callback:_emscripten_set_socket_error_callback,emscripten_set_socket_listen_callback:_emscripten_set_socket_listen_callback,emscripten_set_socket_message_callback:_emscripten_set_socket_message_callback,emscripten_set_socket_open_callback:_emscripten_set_socket_open_callback,emscripten_set_timeout:_emscripten_set_timeout,emscripten_set_timeout_loop:_emscripten_set_timeout_loop,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_webglcontextlost_callback_on_thread:_emscripten_set_webglcontextlost_callback_on_thread,emscripten_set_webglcontextrestored_callback_on_thread:_emscripten_set_webglcontextrestored_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_sleep:_emscripten_sleep,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,emscripten_supports_offscreencanvas:_emscripten_supports_offscreencanvas,emscripten_throw_number:_emscripten_throw_number,emscripten_throw_string:_emscripten_throw_string,emscripten_unlock_orientation:_emscripten_unlock_orientation,emscripten_unwind_to_js_event_loop:_emscripten_unwind_to_js_event_loop,emscripten_vibrate:_emscripten_vibrate,emscripten_vibrate_pattern:_emscripten_vibrate_pattern,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_do_commit_frame:_emscripten_webgl_do_commit_frame,emscripten_webgl_do_create_context:_emscripten_webgl_do_create_context,emscripten_webgl_do_get_current_context:_emscripten_webgl_do_get_current_context,emscripten_webgl_enable_ANGLE_instanced_arrays:_emscripten_webgl_enable_ANGLE_instanced_arrays,emscripten_webgl_enable_OES_vertex_array_object:_emscripten_webgl_enable_OES_vertex_array_object,emscripten_webgl_enable_WEBGL_draw_buffers:_emscripten_webgl_enable_WEBGL_draw_buffers,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_context_attributes:_emscripten_webgl_get_context_attributes,emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,emscripten_webgl_get_drawing_buffer_size:_emscripten_webgl_get_drawing_buffer_size,emscripten_webgl_get_parameter_d:_emscripten_webgl_get_parameter_d,emscripten_webgl_get_parameter_i64v:_emscripten_webgl_get_parameter_i64v,emscripten_webgl_get_parameter_o:_emscripten_webgl_get_parameter_o,emscripten_webgl_get_parameter_utf8:_emscripten_webgl_get_parameter_utf8,emscripten_webgl_get_parameter_v:_emscripten_webgl_get_parameter_v,emscripten_webgl_get_program_info_log_utf8:_emscripten_webgl_get_program_info_log_utf8,emscripten_webgl_get_program_parameter_d:_emscripten_webgl_get_program_parameter_d,emscripten_webgl_get_shader_info_log_utf8:_emscripten_webgl_get_shader_info_log_utf8,emscripten_webgl_get_shader_parameter_d:_emscripten_webgl_get_shader_parameter_d,emscripten_webgl_get_shader_source_utf8:_emscripten_webgl_get_shader_source_utf8,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_get_uniform_d:_emscripten_webgl_get_uniform_d,emscripten_webgl_get_uniform_v:_emscripten_webgl_get_uniform_v,emscripten_webgl_get_vertex_attrib_d:_emscripten_webgl_get_vertex_attrib_d,emscripten_webgl_get_vertex_attrib_o:_emscripten_webgl_get_vertex_attrib_o,emscripten_webgl_get_vertex_attrib_v:_emscripten_webgl_get_vertex_attrib_v,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,emscripten_wget_data:_emscripten_wget_data,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,getaddrinfo:_getaddrinfo,getentropy:_getentropy,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQueryEXT:_glBeginQueryEXT,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDeleteVertexArraysOES:_glDeleteVertexArraysOES,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDepthRange:_glDepthRange,glDepthRangef:_glDepthRangef,glDetachShader:_glDetachShader,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawArraysInstancedANGLE:_glDrawArraysInstancedANGLE,glDrawArraysInstancedARB:_glDrawArraysInstancedARB,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQueryEXT:_glEndQueryEXT,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteriv:_glGetBufferParameteriv,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsShader:_glIsShader,glIsTexture:_glIsTexture,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPixelStorei:_glPixelStorei,glPolygonOffset:_glPolygonOffset,glQueryCounterEXT:_glQueryCounterEXT,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glSampleCoverage:_glSampleCoverage,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexSubImage2D:_glTexSubImage2D,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glValidateProgram:_glValidateProgram,glVertexAttrib1f:_glVertexAttrib1f,glVertexAttrib1fv:_glVertexAttrib1fv,glVertexAttrib2f:_glVertexAttrib2f,glVertexAttrib2fv:_glVertexAttrib2fv,glVertexAttrib3f:_glVertexAttrib3f,glVertexAttrib3fv:_glVertexAttrib3fv,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttrib4fv:_glVertexAttrib4fv,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribDivisorANGLE:_glVertexAttribDivisorANGLE,glVertexAttribDivisorARB:_glVertexAttribDivisorARB,glVertexAttribDivisorEXT:_glVertexAttribDivisorEXT,glVertexAttribDivisorNV:_glVertexAttribDivisorNV,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glewGetErrorString:_glewGetErrorString,glewGetExtension:_glewGetExtension,glewGetString:_glewGetString,glewInit:_glewInit,glewIsSupported:_glewIsSupported,glutCreateWindow:_glutCreateWindow,glutDestroyWindow:_glutDestroyWindow,glutDisplayFunc:_glutDisplayFunc,glutFullScreen:_glutFullScreen,glutGet:_glutGet,glutGetModifiers:_glutGetModifiers,glutIdleFunc:_glutIdleFunc,glutInit:_glutInit,glutInitDisplayMode:_glutInitDisplayMode,glutInitWindowPosition:_glutInitWindowPosition,glutInitWindowSize:_glutInitWindowSize,glutKeyboardFunc:_glutKeyboardFunc,glutKeyboardUpFunc:_glutKeyboardUpFunc,glutMainLoop:_glutMainLoop,glutMotionFunc:_glutMotionFunc,glutMouseFunc:_glutMouseFunc,glutPassiveMotionFunc:_glutPassiveMotionFunc,glutPositionWindow:_glutPositionWindow,glutPostRedisplay:_glutPostRedisplay,glutReshapeFunc:_glutReshapeFunc,glutReshapeWindow:_glutReshapeWindow,glutSetCursor:_glutSetCursor,glutSpecialFunc:_glutSpecialFunc,glutSpecialUpFunc:_glutSpecialUpFunc,glutSwapBuffers:_glutSwapBuffers,glutTimerFunc:_glutTimerFunc,lineColor:_lineColor,lineRGBA:_lineRGBA,memory:wasmMemory||Module.wasmMemory,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,random_get:_random_get,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,rotozoomSurface:_rotozoomSurface,setNetworkCallback:_setNetworkCallback,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strftime:_strftime,strftime_l:_strftime_l,strptime:_strptime,strptime_l:_strptime_l,uuid_clear:_uuid_clear,uuid_compare:_uuid_compare,uuid_copy:_uuid_copy,uuid_generate:_uuid_generate,uuid_is_null:_uuid_is_null,uuid_parse:_uuid_parse,uuid_type:_uuid_type,uuid_unparse:_uuid_unparse,uuid_unparse_lower:_uuid_unparse_lower,uuid_unparse_upper:_uuid_unparse_upper,uuid_variant:_uuid_variant,zoomSurface:_zoomSurface},wasmExports=createWasm(),__embind_initialize_bindings=Module.__embind_initialize_bindings=()=>(__embind_initialize_bindings=Module.__embind_initialize_bindings=wasmExports._embind_initialize_bindings)(),__embind_register_bindings=Module.__embind_register_bindings=e=>(__embind_register_bindings=Module.__embind_register_bindings=wasmExports._embind_register_bindings)(e),__emval_coro_resume=(e,r)=>(__emval_coro_resume=wasmExports._emval_coro_resume)(e,r),_pthread_self=Module._pthread_self=()=>(_pthread_self=Module._pthread_self=wasmExports.pthread_self)(),_main=Module._main=(e,r)=>(_main=Module._main=wasmExports.main)(e,r),_malloc=Module._malloc=e=>(_malloc=Module._malloc=wasmExports.malloc)(e),_free=Module._free=e=>(_free=Module._free=wasmExports.free)(e),_duckdb_web_fs_glob_add_path=Module._duckdb_web_fs_glob_add_path=e=>(_duckdb_web_fs_glob_add_path=Module._duckdb_web_fs_glob_add_path=wasmExports.duckdb_web_fs_glob_add_path)(e),_duckdb_web_clear_response=Module._duckdb_web_clear_response=()=>(_duckdb_web_clear_response=Module._duckdb_web_clear_response=wasmExports.duckdb_web_clear_response)(),_duckdb_web_fail_with=Module._duckdb_web_fail_with=e=>(_duckdb_web_fail_with=Module._duckdb_web_fail_with=wasmExports.duckdb_web_fail_with)(e),_duckdb_web_reset=Module._duckdb_web_reset=e=>(_duckdb_web_reset=Module._duckdb_web_reset=wasmExports.duckdb_web_reset)(e),_duckdb_web_connect=Module._duckdb_web_connect=()=>(_duckdb_web_connect=Module._duckdb_web_connect=wasmExports.duckdb_web_connect)(),_duckdb_web_disconnect=Module._duckdb_web_disconnect=e=>(_duckdb_web_disconnect=Module._duckdb_web_disconnect=wasmExports.duckdb_web_disconnect)(e),_duckdb_web_access_buffer=Module._duckdb_web_access_buffer=(e,r)=>(_duckdb_web_access_buffer=Module._duckdb_web_access_buffer=wasmExports.duckdb_web_access_buffer)(e,r),_duckdb_web_flush_files=Module._duckdb_web_flush_files=()=>(_duckdb_web_flush_files=Module._duckdb_web_flush_files=wasmExports.duckdb_web_flush_files)(),_duckdb_web_flush_file=Module._duckdb_web_flush_file=e=>(_duckdb_web_flush_file=Module._duckdb_web_flush_file=wasmExports.duckdb_web_flush_file)(e),_duckdb_web_open=Module._duckdb_web_open=(e,r)=>(_duckdb_web_open=Module._duckdb_web_open=wasmExports.duckdb_web_open)(e,r),_duckdb_web_get_global_file_info=Module._duckdb_web_get_global_file_info=(e,r)=>(_duckdb_web_get_global_file_info=Module._duckdb_web_get_global_file_info=wasmExports.duckdb_web_get_global_file_info)(e,r),_duckdb_web_collect_file_stats=Module._duckdb_web_collect_file_stats=(e,r,t)=>(_duckdb_web_collect_file_stats=Module._duckdb_web_collect_file_stats=wasmExports.duckdb_web_collect_file_stats)(e,r,t),_duckdb_web_export_file_stats=Module._duckdb_web_export_file_stats=(e,r)=>(_duckdb_web_export_file_stats=Module._duckdb_web_export_file_stats=wasmExports.duckdb_web_export_file_stats)(e,r),_duckdb_web_fs_drop_file=Module._duckdb_web_fs_drop_file=(e,r)=>(_duckdb_web_fs_drop_file=Module._duckdb_web_fs_drop_file=wasmExports.duckdb_web_fs_drop_file)(e,r),_duckdb_web_fs_drop_files=Module._duckdb_web_fs_drop_files=e=>(_duckdb_web_fs_drop_files=Module._duckdb_web_fs_drop_files=wasmExports.duckdb_web_fs_drop_files)(e),_duckdb_web_fs_glob_file_infos=Module._duckdb_web_fs_glob_file_infos=(e,r)=>(_duckdb_web_fs_glob_file_infos=Module._duckdb_web_fs_glob_file_infos=wasmExports.duckdb_web_fs_glob_file_infos)(e,r),_duckdb_web_fs_get_file_info_by_id=Module._duckdb_web_fs_get_file_info_by_id=(e,r,t)=>(_duckdb_web_fs_get_file_info_by_id=Module._duckdb_web_fs_get_file_info_by_id=wasmExports.duckdb_web_fs_get_file_info_by_id)(e,r,t),_duckdb_web_fs_get_file_info_by_name=Module._duckdb_web_fs_get_file_info_by_name=(e,r,t)=>(_duckdb_web_fs_get_file_info_by_name=Module._duckdb_web_fs_get_file_info_by_name=wasmExports.duckdb_web_fs_get_file_info_by_name)(e,r,t),_duckdb_web_fs_register_file_url=Module._duckdb_web_fs_register_file_url=(e,r,t,n,_)=>(_duckdb_web_fs_register_file_url=Module._duckdb_web_fs_register_file_url=wasmExports.duckdb_web_fs_register_file_url)(e,r,t,n,_),_duckdb_web_fs_register_file_buffer=Module._duckdb_web_fs_register_file_buffer=(e,r,t,n)=>(_duckdb_web_fs_register_file_buffer=Module._duckdb_web_fs_register_file_buffer=wasmExports.duckdb_web_fs_register_file_buffer)(e,r,t,n),_duckdb_web_copy_file_to_buffer=Module._duckdb_web_copy_file_to_buffer=(e,r)=>(_duckdb_web_copy_file_to_buffer=Module._duckdb_web_copy_file_to_buffer=wasmExports.duckdb_web_copy_file_to_buffer)(e,r),_duckdb_web_copy_file_to_path=Module._duckdb_web_copy_file_to_path=(e,r,t)=>(_duckdb_web_copy_file_to_path=Module._duckdb_web_copy_file_to_path=wasmExports.duckdb_web_copy_file_to_path)(e,r,t),_duckdb_web_get_version=Module._duckdb_web_get_version=e=>(_duckdb_web_get_version=Module._duckdb_web_get_version=wasmExports.duckdb_web_get_version)(e),_duckdb_web_get_feature_flags=Module._duckdb_web_get_feature_flags=()=>(_duckdb_web_get_feature_flags=Module._duckdb_web_get_feature_flags=wasmExports.duckdb_web_get_feature_flags)(),_duckdb_web_tokenize=Module._duckdb_web_tokenize=(e,r)=>(_duckdb_web_tokenize=Module._duckdb_web_tokenize=wasmExports.duckdb_web_tokenize)(e,r),_duckdb_web_tokenize_buffer=Module._duckdb_web_tokenize_buffer=(e,r,t)=>(_duckdb_web_tokenize_buffer=Module._duckdb_web_tokenize_buffer=wasmExports.duckdb_web_tokenize_buffer)(e,r,t),_duckdb_web_udf_scalar_create=Module._duckdb_web_udf_scalar_create=(e,r,t)=>(_duckdb_web_udf_scalar_create=Module._duckdb_web_udf_scalar_create=wasmExports.duckdb_web_udf_scalar_create)(e,r,t),_duckdb_web_prepared_create=Module._duckdb_web_prepared_create=(e,r,t)=>(_duckdb_web_prepared_create=Module._duckdb_web_prepared_create=wasmExports.duckdb_web_prepared_create)(e,r,t),_duckdb_web_prepared_create_buffer=Module._duckdb_web_prepared_create_buffer=(e,r,t,n)=>(_duckdb_web_prepared_create_buffer=Module._duckdb_web_prepared_create_buffer=wasmExports.duckdb_web_prepared_create_buffer)(e,r,t,n),_duckdb_web_prepared_close=Module._duckdb_web_prepared_close=(e,r,t)=>(_duckdb_web_prepared_close=Module._duckdb_web_prepared_close=wasmExports.duckdb_web_prepared_close)(e,r,t),_duckdb_web_prepared_run=Module._duckdb_web_prepared_run=(e,r,t,n)=>(_duckdb_web_prepared_run=Module._duckdb_web_prepared_run=wasmExports.duckdb_web_prepared_run)(e,r,t,n),_duckdb_web_prepared_send=Module._duckdb_web_prepared_send=(e,r,t,n)=>(_duckdb_web_prepared_send=Module._duckdb_web_prepared_send=wasmExports.duckdb_web_prepared_send)(e,r,t,n),_duckdb_web_query_run=Module._duckdb_web_query_run=(e,r,t)=>(_duckdb_web_query_run=Module._duckdb_web_query_run=wasmExports.duckdb_web_query_run)(e,r,t),_duckdb_web_query_run_buffer=Module._duckdb_web_query_run_buffer=(e,r,t,n)=>(_duckdb_web_query_run_buffer=Module._duckdb_web_query_run_buffer=wasmExports.duckdb_web_query_run_buffer)(e,r,t,n),_duckdb_web_pending_query_start=Module._duckdb_web_pending_query_start=(e,r,t,n)=>(_duckdb_web_pending_query_start=Module._duckdb_web_pending_query_start=wasmExports.duckdb_web_pending_query_start)(e,r,t,n),_duckdb_web_pending_query_start_buffer=Module._duckdb_web_pending_query_start_buffer=(e,r,t,n,_)=>(_duckdb_web_pending_query_start_buffer=Module._duckdb_web_pending_query_start_buffer=wasmExports.duckdb_web_pending_query_start_buffer)(e,r,t,n,_),_duckdb_web_pending_query_poll=Module._duckdb_web_pending_query_poll=(e,r,t)=>(_duckdb_web_pending_query_poll=Module._duckdb_web_pending_query_poll=wasmExports.duckdb_web_pending_query_poll)(e,r,t),_duckdb_web_pending_query_cancel=Module._duckdb_web_pending_query_cancel=(e,r)=>(_duckdb_web_pending_query_cancel=Module._duckdb_web_pending_query_cancel=wasmExports.duckdb_web_pending_query_cancel)(e,r),_duckdb_web_query_fetch_results=Module._duckdb_web_query_fetch_results=(e,r)=>(_duckdb_web_query_fetch_results=Module._duckdb_web_query_fetch_results=wasmExports.duckdb_web_query_fetch_results)(e,r),_duckdb_web_get_tablenames=Module._duckdb_web_get_tablenames=(e,r,t)=>(_duckdb_web_get_tablenames=Module._duckdb_web_get_tablenames=wasmExports.duckdb_web_get_tablenames)(e,r,t),_duckdb_web_get_tablenames_buffer=Module._duckdb_web_get_tablenames_buffer=(e,r,t,n)=>(_duckdb_web_get_tablenames_buffer=Module._duckdb_web_get_tablenames_buffer=wasmExports.duckdb_web_get_tablenames_buffer)(e,r,t,n),_duckdb_web_insert_arrow_from_ipc_stream=Module._duckdb_web_insert_arrow_from_ipc_stream=(e,r,t,n,_)=>(_duckdb_web_insert_arrow_from_ipc_stream=Module._duckdb_web_insert_arrow_from_ipc_stream=wasmExports.duckdb_web_insert_arrow_from_ipc_stream)(e,r,t,n,_),_duckdb_web_insert_csv_from_path=Module._duckdb_web_insert_csv_from_path=(e,r,t,n)=>(_duckdb_web_insert_csv_from_path=Module._duckdb_web_insert_csv_from_path=wasmExports.duckdb_web_insert_csv_from_path)(e,r,t,n),_duckdb_web_insert_json_from_path=Module._duckdb_web_insert_json_from_path=(e,r,t,n)=>(_duckdb_web_insert_json_from_path=Module._duckdb_web_insert_json_from_path=wasmExports.duckdb_web_insert_json_from_path)(e,r,t,n),_calloc=Module._calloc=(e,r)=>(_calloc=Module._calloc=wasmExports.calloc)(e,r),_freeaddrinfo=Module._freeaddrinfo=e=>(_freeaddrinfo=Module._freeaddrinfo=wasmExports.freeaddrinfo)(e),_freeifaddrs=Module._freeifaddrs=e=>(_freeifaddrs=Module._freeifaddrs=wasmExports.freeifaddrs)(e),_pthread_create=Module._pthread_create=(e,r,t,n)=>(_pthread_create=Module._pthread_create=wasmExports.pthread_create)(e,r,t,n),_pthread_setspecific=Module._pthread_setspecific=(e,r)=>(_pthread_setspecific=Module._pthread_setspecific=wasmExports.pthread_setspecific)(e,r),_pthread_rwlock_init=Module._pthread_rwlock_init=(e,r)=>(_pthread_rwlock_init=Module._pthread_rwlock_init=wasmExports.pthread_rwlock_init)(e,r),_pthread_rwlock_destroy=Module._pthread_rwlock_destroy=e=>(_pthread_rwlock_destroy=Module._pthread_rwlock_destroy=wasmExports.pthread_rwlock_destroy)(e),_pthread_rwlock_wrlock=Module._pthread_rwlock_wrlock=e=>(_pthread_rwlock_wrlock=Module._pthread_rwlock_wrlock=wasmExports.pthread_rwlock_wrlock)(e),_pthread_rwlock_unlock=Module._pthread_rwlock_unlock=e=>(_pthread_rwlock_unlock=Module._pthread_rwlock_unlock=wasmExports.pthread_rwlock_unlock)(e),_pthread_rwlock_rdlock=Module._pthread_rwlock_rdlock=e=>(_pthread_rwlock_rdlock=Module._pthread_rwlock_rdlock=wasmExports.pthread_rwlock_rdlock)(e),_pthread_atfork=Module._pthread_atfork=(e,r,t)=>(_pthread_atfork=Module._pthread_atfork=wasmExports.pthread_atfork)(e,r,t),_pthread_kill=Module._pthread_kill=(e,r)=>(_pthread_kill=Module._pthread_kill=wasmExports.pthread_kill)(e,r),_emscripten_builtin_free=Module._emscripten_builtin_free=e=>(_emscripten_builtin_free=Module._emscripten_builtin_free=wasmExports.emscripten_builtin_free)(e),__emscripten_tls_init=Module.__emscripten_tls_init=()=>(__emscripten_tls_init=Module.__emscripten_tls_init=wasmExports._emscripten_tls_init)(),_emscripten_builtin_memalign=(e,r)=>(_emscripten_builtin_memalign=wasmExports.emscripten_builtin_memalign)(e,r),_emscripten_GetProcAddress=Module._emscripten_GetProcAddress=e=>(_emscripten_GetProcAddress=Module._emscripten_GetProcAddress=wasmExports.emscripten_GetProcAddress)(e),_emscripten_webgl1_get_proc_address=Module._emscripten_webgl1_get_proc_address=e=>(_emscripten_webgl1_get_proc_address=Module._emscripten_webgl1_get_proc_address=wasmExports.emscripten_webgl1_get_proc_address)(e),_emscripten_webgl_get_proc_address=Module._emscripten_webgl_get_proc_address=e=>(_emscripten_webgl_get_proc_address=Module._emscripten_webgl_get_proc_address=wasmExports.emscripten_webgl_get_proc_address)(e),_emscripten_webgl_init_context_attributes=Module._emscripten_webgl_init_context_attributes=e=>(_emscripten_webgl_init_context_attributes=Module._emscripten_webgl_init_context_attributes=wasmExports.emscripten_webgl_init_context_attributes)(e),_emscripten_is_main_runtime_thread=Module._emscripten_is_main_runtime_thread=()=>(_emscripten_is_main_runtime_thread=Module._emscripten_is_main_runtime_thread=wasmExports.emscripten_is_main_runtime_thread)(),_emscripten_errf=Module._emscripten_errf=(e,r)=>(_emscripten_errf=Module._emscripten_errf=wasmExports.emscripten_errf)(e,r),__emscripten_run_callback_on_thread=(e,r,t,n,_)=>(__emscripten_run_callback_on_thread=wasmExports._emscripten_run_callback_on_thread)(e,r,t,n,_),_emscripten_proxy_get_system_queue=Module._emscripten_proxy_get_system_queue=()=>(_emscripten_proxy_get_system_queue=Module._emscripten_proxy_get_system_queue=wasmExports.emscripten_proxy_get_system_queue)(),_emscripten_proxy_sync=Module._emscripten_proxy_sync=(e,r,t,n)=>(_emscripten_proxy_sync=Module._emscripten_proxy_sync=wasmExports.emscripten_proxy_sync)(e,r,t,n),_emscripten_compute_dom_pk_code=Module._emscripten_compute_dom_pk_code=e=>(_emscripten_compute_dom_pk_code=Module._emscripten_compute_dom_pk_code=wasmExports.emscripten_compute_dom_pk_code)(e),_emscripten_dom_pk_code_to_string=Module._emscripten_dom_pk_code_to_string=e=>(_emscripten_dom_pk_code_to_string=Module._emscripten_dom_pk_code_to_string=wasmExports.emscripten_dom_pk_code_to_string)(e),_emscripten_wget=Module._emscripten_wget=(e,r)=>(_emscripten_wget=Module._emscripten_wget=wasmExports.emscripten_wget)(e,r),_emscripten_dom_vk_to_string=Module._emscripten_dom_vk_to_string=e=>(_emscripten_dom_vk_to_string=Module._emscripten_dom_vk_to_string=wasmExports.emscripten_dom_vk_to_string)(e),__emscripten_set_offscreencanvas_size_on_thread=Module.__emscripten_set_offscreencanvas_size_on_thread=(e,r,t,n)=>(__emscripten_set_offscreencanvas_size_on_thread=Module.__emscripten_set_offscreencanvas_size_on_thread=wasmExports._emscripten_set_offscreencanvas_size_on_thread)(e,r,t,n),_emscripten_proxy_async=Module._emscripten_proxy_async=(e,r,t,n)=>(_emscripten_proxy_async=Module._emscripten_proxy_async=wasmExports.emscripten_proxy_async)(e,r,t,n),__emscripten_memcpy_bulkmem=Module.__emscripten_memcpy_bulkmem=(e,r,t)=>(__emscripten_memcpy_bulkmem=Module.__emscripten_memcpy_bulkmem=wasmExports._emscripten_memcpy_bulkmem)(e,r,t),_emscripten_builtin_memcpy=Module._emscripten_builtin_memcpy=(e,r,t)=>(_emscripten_builtin_memcpy=Module._emscripten_builtin_memcpy=wasmExports.emscripten_builtin_memcpy)(e,r,t),__emscripten_memset_bulkmem=Module.__emscripten_memset_bulkmem=(e,r,t)=>(__emscripten_memset_bulkmem=Module.__emscripten_memset_bulkmem=wasmExports._emscripten_memset_bulkmem)(e,r,t),_emscripten_builtin_memset=Module._emscripten_builtin_memset=(e,r,t)=>(_emscripten_builtin_memset=Module._emscripten_builtin_memset=wasmExports.emscripten_builtin_memset)(e,r,t),_emscripten_futex_wake=Module._emscripten_futex_wake=(e,r)=>(_emscripten_futex_wake=Module._emscripten_futex_wake=wasmExports.emscripten_futex_wake)(e,r),_emscripten_builtin_malloc=Module._emscripten_builtin_malloc=e=>(_emscripten_builtin_malloc=Module._emscripten_builtin_malloc=wasmExports.emscripten_builtin_malloc)(e),_emscripten_futex_wait=Module._emscripten_futex_wait=(e,r,t)=>(_emscripten_futex_wait=Module._emscripten_futex_wait=wasmExports.emscripten_futex_wait)(e,r,t),_emscripten_thread_sleep=Module._emscripten_thread_sleep=e=>(_emscripten_thread_sleep=Module._emscripten_thread_sleep=wasmExports.emscripten_thread_sleep)(e),___dl_seterr=(e,r)=>(___dl_seterr=wasmExports.__dl_seterr)(e,r),__emscripten_dlsync_self_async=e=>(__emscripten_dlsync_self_async=wasmExports._emscripten_dlsync_self_async)(e),__emscripten_dlsync_self=()=>(__emscripten_dlsync_self=wasmExports._emscripten_dlsync_self)(),__emscripten_process_dlopen_queue=Module.__emscripten_process_dlopen_queue=()=>(__emscripten_process_dlopen_queue=Module.__emscripten_process_dlopen_queue=wasmExports._emscripten_process_dlopen_queue)(),_emscripten_proxy_execute_queue=Module._emscripten_proxy_execute_queue=e=>(_emscripten_proxy_execute_queue=Module._emscripten_proxy_execute_queue=wasmExports.emscripten_proxy_execute_queue)(e),__emscripten_proxy_dlsync_async=(e,r)=>(__emscripten_proxy_dlsync_async=wasmExports._emscripten_proxy_dlsync_async)(e,r),_em_proxying_queue_create=Module._em_proxying_queue_create=()=>(_em_proxying_queue_create=Module._em_proxying_queue_create=wasmExports.em_proxying_queue_create)(),_emscripten_proxy_callback=Module._emscripten_proxy_callback=(e,r,t,n,_,a)=>(_emscripten_proxy_callback=Module._emscripten_proxy_callback=wasmExports.emscripten_proxy_callback)(e,r,t,n,_,a),__emscripten_proxy_dlsync=e=>(__emscripten_proxy_dlsync=wasmExports._emscripten_proxy_dlsync)(e),_pthread_setcancelstate=Module._pthread_setcancelstate=(e,r)=>(_pthread_setcancelstate=Module._pthread_setcancelstate=wasmExports.pthread_setcancelstate)(e,r),_emscripten_dlopen=Module._emscripten_dlopen=(e,r,t,n,_)=>(_emscripten_dlopen=Module._emscripten_dlopen=wasmExports.emscripten_dlopen)(e,r,t,n,_),_emscripten_dlopen_promise=Module._emscripten_dlopen_promise=(e,r)=>(_emscripten_dlopen_promise=Module._emscripten_dlopen_promise=wasmExports.emscripten_dlopen_promise)(e,r),_pthread_mutex_lock=Module._pthread_mutex_lock=e=>(_pthread_mutex_lock=Module._pthread_mutex_lock=wasmExports.pthread_mutex_lock)(e),_pthread_mutex_unlock=Module._pthread_mutex_unlock=e=>(_pthread_mutex_unlock=Module._pthread_mutex_unlock=wasmExports.pthread_mutex_unlock)(e),_emscripten_main_runtime_thread_id=()=>(_emscripten_main_runtime_thread_id=wasmExports.emscripten_main_runtime_thread_id)(),_emscripten_proxy_sync_with_ctx=Module._emscripten_proxy_sync_with_ctx=(e,r,t,n)=>(_emscripten_proxy_sync_with_ctx=Module._emscripten_proxy_sync_with_ctx=wasmExports.emscripten_proxy_sync_with_ctx)(e,r,t,n),_emscripten_proxy_finish=Module._emscripten_proxy_finish=e=>(_emscripten_proxy_finish=Module._emscripten_proxy_finish=wasmExports.emscripten_proxy_finish)(e),_em_task_queue_create=Module._em_task_queue_create=e=>(_em_task_queue_create=Module._em_task_queue_create=wasmExports.em_task_queue_create)(e),_em_task_queue_destroy=Module._em_task_queue_destroy=e=>(_em_task_queue_destroy=Module._em_task_queue_destroy=wasmExports.em_task_queue_destroy)(e),_pthread_mutex_destroy=Module._pthread_mutex_destroy=e=>(_pthread_mutex_destroy=Module._pthread_mutex_destroy=wasmExports.pthread_mutex_destroy)(e),_em_task_queue_execute=Module._em_task_queue_execute=e=>(_em_task_queue_execute=Module._em_task_queue_execute=wasmExports.em_task_queue_execute)(e),_em_task_queue_dequeue=Module._em_task_queue_dequeue=(e,r)=>(_em_task_queue_dequeue=Module._em_task_queue_dequeue=wasmExports.em_task_queue_dequeue)(e,r),_em_task_queue_cancel=Module._em_task_queue_cancel=e=>(_em_task_queue_cancel=Module._em_task_queue_cancel=wasmExports.em_task_queue_cancel)(e),_em_task_queue_enqueue=Module._em_task_queue_enqueue=(e,r)=>(_em_task_queue_enqueue=Module._em_task_queue_enqueue=wasmExports.em_task_queue_enqueue)(e,r),_em_task_queue_send=Module._em_task_queue_send=(e,r)=>(_em_task_queue_send=Module._em_task_queue_send=wasmExports.em_task_queue_send)(e,r),_emscripten_thread_mailbox_ref=Module._emscripten_thread_mailbox_ref=e=>(_emscripten_thread_mailbox_ref=Module._emscripten_thread_mailbox_ref=wasmExports.emscripten_thread_mailbox_ref)(e),_emscripten_thread_mailbox_send=Module._emscripten_thread_mailbox_send=(e,r)=>(_emscripten_thread_mailbox_send=Module._emscripten_thread_mailbox_send=wasmExports.emscripten_thread_mailbox_send)(e,r),_emscripten_thread_mailbox_unref=Module._emscripten_thread_mailbox_unref=e=>(_emscripten_thread_mailbox_unref=Module._emscripten_thread_mailbox_unref=wasmExports.emscripten_thread_mailbox_unref)(e),_pthread_mutex_trylock=Module._pthread_mutex_trylock=e=>(_pthread_mutex_trylock=Module._pthread_mutex_trylock=wasmExports.pthread_mutex_trylock)(e),_emscripten_console_logf=Module._emscripten_console_logf=(e,r)=>(_emscripten_console_logf=Module._emscripten_console_logf=wasmExports.emscripten_console_logf)(e,r),_emscripten_console_errorf=Module._emscripten_console_errorf=(e,r)=>(_emscripten_console_errorf=Module._emscripten_console_errorf=wasmExports.emscripten_console_errorf)(e,r),_emscripten_console_warnf=Module._emscripten_console_warnf=(e,r)=>(_emscripten_console_warnf=Module._emscripten_console_warnf=wasmExports.emscripten_console_warnf)(e,r),_emscripten_outf=Module._emscripten_outf=(e,r)=>(_emscripten_outf=Module._emscripten_outf=wasmExports.emscripten_outf)(e,r),_emscripten_fiber_init=Module._emscripten_fiber_init=(e,r,t,n,_,a,o)=>(_emscripten_fiber_init=Module._emscripten_fiber_init=wasmExports.emscripten_fiber_init)(e,r,t,n,_,a,o),_emscripten_fiber_init_from_current_context=Module._emscripten_fiber_init_from_current_context=(e,r,t)=>(_emscripten_fiber_init_from_current_context=Module._emscripten_fiber_init_from_current_context=wasmExports.emscripten_fiber_init_from_current_context)(e,r,t),_emscripten_stack_get_base=Module._emscripten_stack_get_base=()=>(_emscripten_stack_get_base=Module._emscripten_stack_get_base=wasmExports.emscripten_stack_get_base)(),_emscripten_stack_get_end=Module._emscripten_stack_get_end=()=>(_emscripten_stack_get_end=Module._emscripten_stack_get_end=wasmExports.emscripten_stack_get_end)(),__emscripten_yield=Module.__emscripten_yield=e=>(__emscripten_yield=Module.__emscripten_yield=wasmExports._emscripten_yield)(e),__emscripten_thread_supports_atomics_wait=Module.__emscripten_thread_supports_atomics_wait=()=>(__emscripten_thread_supports_atomics_wait=Module.__emscripten_thread_supports_atomics_wait=wasmExports._emscripten_thread_supports_atomics_wait)(),_emscripten_get_heap_size=Module._emscripten_get_heap_size=()=>(_emscripten_get_heap_size=Module._emscripten_get_heap_size=wasmExports.emscripten_get_heap_size)(),_emscripten_scan_stack=Module._emscripten_scan_stack=e=>(_emscripten_scan_stack=Module._emscripten_scan_stack=wasmExports.emscripten_scan_stack)(e),_emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports.emscripten_stack_get_current)(),__emscripten_thread_init=Module.__emscripten_thread_init=(e,r,t,n,_,a)=>(__emscripten_thread_init=Module.__emscripten_thread_init=wasmExports._emscripten_thread_init)(e,r,t,n,_,a),_emscripten_is_main_browser_thread=Module._emscripten_is_main_browser_thread=()=>(_emscripten_is_main_browser_thread=Module._emscripten_is_main_browser_thread=wasmExports.emscripten_is_main_browser_thread)(),__emscripten_thread_crashed=Module.__emscripten_thread_crashed=()=>(__emscripten_thread_crashed=Module.__emscripten_thread_crashed=wasmExports._emscripten_thread_crashed)(),__emscripten_check_timers=Module.__emscripten_check_timers=e=>(__emscripten_check_timers=Module.__emscripten_check_timers=wasmExports._emscripten_check_timers)(e),_emscripten_main_thread_process_queued_calls=()=>(_emscripten_main_thread_process_queued_calls=wasmExports.emscripten_main_thread_process_queued_calls)(),_pthread_sigmask=Module._pthread_sigmask=(e,r,t)=>(_pthread_sigmask=Module._pthread_sigmask=wasmExports.pthread_sigmask)(e,r,t),_freelocale=Module._freelocale=e=>(_freelocale=Module._freelocale=wasmExports.freelocale)(e),_emscripten_pthread_attr_gettransferredcanvases=Module._emscripten_pthread_attr_gettransferredcanvases=(e,r)=>(_emscripten_pthread_attr_gettransferredcanvases=Module._emscripten_pthread_attr_gettransferredcanvases=wasmExports.emscripten_pthread_attr_gettransferredcanvases)(e,r),_emscripten_pthread_attr_settransferredcanvases=Module._emscripten_pthread_attr_settransferredcanvases=(e,r)=>(_emscripten_pthread_attr_settransferredcanvases=Module._emscripten_pthread_attr_settransferredcanvases=wasmExports.emscripten_pthread_attr_settransferredcanvases)(e,r),_pthread_mutexattr_getprioceiling=Module._pthread_mutexattr_getprioceiling=(e,r)=>(_pthread_mutexattr_getprioceiling=Module._pthread_mutexattr_getprioceiling=wasmExports.pthread_mutexattr_getprioceiling)(e,r),_pthread_mutexattr_setprioceiling=Module._pthread_mutexattr_setprioceiling=(e,r)=>(_pthread_mutexattr_setprioceiling=Module._pthread_mutexattr_setprioceiling=wasmExports.pthread_mutexattr_setprioceiling)(e,r),_emscripten_current_thread_process_queued_calls=Module._emscripten_current_thread_process_queued_calls=()=>(_emscripten_current_thread_process_queued_calls=Module._emscripten_current_thread_process_queued_calls=wasmExports.emscripten_current_thread_process_queued_calls)(),__emscripten_thread_is_valid=Module.__emscripten_thread_is_valid=e=>(__emscripten_thread_is_valid=Module.__emscripten_thread_is_valid=wasmExports._emscripten_thread_is_valid)(e),__emscripten_thread_mailbox_init=Module.__emscripten_thread_mailbox_init=e=>(__emscripten_thread_mailbox_init=Module.__emscripten_thread_mailbox_init=wasmExports._emscripten_thread_mailbox_init)(e),_emscripten_builtin_mmap=Module._emscripten_builtin_mmap=(e,r,t,n,_,a,o)=>(_emscripten_builtin_mmap=Module._emscripten_builtin_mmap=wasmExports.emscripten_builtin_mmap)(e,r,t,n,_,a,o),_emscripten_builtin_munmap=Module._emscripten_builtin_munmap=(e,r)=>(_emscripten_builtin_munmap=Module._emscripten_builtin_munmap=wasmExports.emscripten_builtin_munmap)(e,r),_em_proxying_queue_destroy=Module._em_proxying_queue_destroy=e=>(_em_proxying_queue_destroy=Module._em_proxying_queue_destroy=wasmExports.em_proxying_queue_destroy)(e),_pthread_cond_signal=Module._pthread_cond_signal=e=>(_pthread_cond_signal=Module._pthread_cond_signal=wasmExports.pthread_cond_signal)(e),_pthread_getspecific=Module._pthread_getspecific=e=>(_pthread_getspecific=Module._pthread_getspecific=wasmExports.pthread_getspecific)(e),_pthread_cond_wait=Module._pthread_cond_wait=(e,r)=>(_pthread_cond_wait=Module._pthread_cond_wait=wasmExports.pthread_cond_wait)(e,r),_pthread_once=Module._pthread_once=(e,r)=>(_pthread_once=Module._pthread_once=wasmExports.pthread_once)(e,r),_pthread_cond_destroy=Module._pthread_cond_destroy=e=>(_pthread_cond_destroy=Module._pthread_cond_destroy=wasmExports.pthread_cond_destroy)(e),_emscripten_proxy_callback_with_ctx=Module._emscripten_proxy_callback_with_ctx=(e,r,t,n,_,a)=>(_emscripten_proxy_callback_with_ctx=Module._emscripten_proxy_callback_with_ctx=wasmExports.emscripten_proxy_callback_with_ctx)(e,r,t,n,_,a),_emscripten_proxy_promise_with_ctx=Module._emscripten_proxy_promise_with_ctx=(e,r,t,n)=>(_emscripten_proxy_promise_with_ctx=Module._emscripten_proxy_promise_with_ctx=wasmExports.emscripten_proxy_promise_with_ctx)(e,r,t,n),_emscripten_proxy_promise=Module._emscripten_proxy_promise=(e,r,t,n)=>(_emscripten_proxy_promise=Module._emscripten_proxy_promise=wasmExports.emscripten_proxy_promise)(e,r,t,n),__emscripten_run_on_main_thread_js=(e,r,t,n,_)=>(__emscripten_run_on_main_thread_js=wasmExports._emscripten_run_on_main_thread_js)(e,r,t,n,_),_pthread_key_create=Module._pthread_key_create=(e,r)=>(_pthread_key_create=Module._pthread_key_create=wasmExports.pthread_key_create)(e,r),_emscripten_async_waitable_close=Module._emscripten_async_waitable_close=e=>(_emscripten_async_waitable_close=Module._emscripten_async_waitable_close=wasmExports.emscripten_async_waitable_close)(e),_emscripten_dispatch_to_thread_args=Module._emscripten_dispatch_to_thread_args=(e,r,t,n,_)=>(_emscripten_dispatch_to_thread_args=Module._emscripten_dispatch_to_thread_args=wasmExports.emscripten_dispatch_to_thread_args)(e,r,t,n,_),_emscripten_async_run_in_main_thread=Module._emscripten_async_run_in_main_thread=e=>(_emscripten_async_run_in_main_thread=Module._emscripten_async_run_in_main_thread=wasmExports.emscripten_async_run_in_main_thread)(e),_emscripten_dispatch_to_thread_=Module._emscripten_dispatch_to_thread_=(e,r,t,n,_)=>(_emscripten_dispatch_to_thread_=Module._emscripten_dispatch_to_thread_=wasmExports.emscripten_dispatch_to_thread_)(e,r,t,n,_),_emscripten_dispatch_to_thread_async_args=Module._emscripten_dispatch_to_thread_async_args=(e,r,t,n,_)=>(_emscripten_dispatch_to_thread_async_args=Module._emscripten_dispatch_to_thread_async_args=wasmExports.emscripten_dispatch_to_thread_async_args)(e,r,t,n,_),_emscripten_dispatch_to_thread_async_=Module._emscripten_dispatch_to_thread_async_=(e,r,t,n,_)=>(_emscripten_dispatch_to_thread_async_=Module._emscripten_dispatch_to_thread_async_=wasmExports.emscripten_dispatch_to_thread_async_)(e,r,t,n,_),_emscripten_sync_run_in_main_runtime_thread_=Module._emscripten_sync_run_in_main_runtime_thread_=(e,r,t)=>(_emscripten_sync_run_in_main_runtime_thread_=Module._emscripten_sync_run_in_main_runtime_thread_=wasmExports.emscripten_sync_run_in_main_runtime_thread_)(e,r,t),_emscripten_wait_for_call_v=Module._emscripten_wait_for_call_v=(e,r)=>(_emscripten_wait_for_call_v=Module._emscripten_wait_for_call_v=wasmExports.emscripten_wait_for_call_v)(e,r),_emscripten_async_run_in_main_runtime_thread_=Module._emscripten_async_run_in_main_runtime_thread_=(e,r,t)=>(_emscripten_async_run_in_main_runtime_thread_=Module._emscripten_async_run_in_main_runtime_thread_=wasmExports.emscripten_async_run_in_main_runtime_thread_)(e,r,t),_emscripten_async_waitable_run_in_main_runtime_thread_=Module._emscripten_async_waitable_run_in_main_runtime_thread_=(e,r,t)=>(_emscripten_async_waitable_run_in_main_runtime_thread_=Module._emscripten_async_waitable_run_in_main_runtime_thread_=wasmExports.emscripten_async_waitable_run_in_main_runtime_thread_)(e,r,t),_emscripten_wait_for_call_i=Module._emscripten_wait_for_call_i=(e,r,t)=>(_emscripten_wait_for_call_i=Module._emscripten_wait_for_call_i=wasmExports.emscripten_wait_for_call_i)(e,r,t),_pthread_attr_destroy=Module._pthread_attr_destroy=e=>(_pthread_attr_destroy=Module._pthread_attr_destroy=wasmExports.pthread_attr_destroy)(e),_pthread_attr_getdetachstate=Module._pthread_attr_getdetachstate=(e,r)=>(_pthread_attr_getdetachstate=Module._pthread_attr_getdetachstate=wasmExports.pthread_attr_getdetachstate)(e,r),_pthread_attr_getguardsize=Module._pthread_attr_getguardsize=(e,r)=>(_pthread_attr_getguardsize=Module._pthread_attr_getguardsize=wasmExports.pthread_attr_getguardsize)(e,r),_pthread_attr_getinheritsched=Module._pthread_attr_getinheritsched=(e,r)=>(_pthread_attr_getinheritsched=Module._pthread_attr_getinheritsched=wasmExports.pthread_attr_getinheritsched)(e,r),_pthread_attr_getschedparam=Module._pthread_attr_getschedparam=(e,r)=>(_pthread_attr_getschedparam=Module._pthread_attr_getschedparam=wasmExports.pthread_attr_getschedparam)(e,r),_pthread_attr_getschedpolicy=Module._pthread_attr_getschedpolicy=(e,r)=>(_pthread_attr_getschedpolicy=Module._pthread_attr_getschedpolicy=wasmExports.pthread_attr_getschedpolicy)(e,r),_pthread_attr_getscope=Module._pthread_attr_getscope=(e,r)=>(_pthread_attr_getscope=Module._pthread_attr_getscope=wasmExports.pthread_attr_getscope)(e,r),_pthread_attr_getstack=Module._pthread_attr_getstack=(e,r,t)=>(_pthread_attr_getstack=Module._pthread_attr_getstack=wasmExports.pthread_attr_getstack)(e,r,t),_pthread_attr_getstacksize=Module._pthread_attr_getstacksize=(e,r)=>(_pthread_attr_getstacksize=Module._pthread_attr_getstacksize=wasmExports.pthread_attr_getstacksize)(e,r),_pthread_barrierattr_getpshared=Module._pthread_barrierattr_getpshared=(e,r)=>(_pthread_barrierattr_getpshared=Module._pthread_barrierattr_getpshared=wasmExports.pthread_barrierattr_getpshared)(e,r),_pthread_condattr_getclock=Module._pthread_condattr_getclock=(e,r)=>(_pthread_condattr_getclock=Module._pthread_condattr_getclock=wasmExports.pthread_condattr_getclock)(e,r),_pthread_condattr_getpshared=Module._pthread_condattr_getpshared=(e,r)=>(_pthread_condattr_getpshared=Module._pthread_condattr_getpshared=wasmExports.pthread_condattr_getpshared)(e,r),_pthread_mutexattr_getprotocol=Module._pthread_mutexattr_getprotocol=(e,r)=>(_pthread_mutexattr_getprotocol=Module._pthread_mutexattr_getprotocol=wasmExports.pthread_mutexattr_getprotocol)(e,r),_pthread_mutexattr_getpshared=Module._pthread_mutexattr_getpshared=(e,r)=>(_pthread_mutexattr_getpshared=Module._pthread_mutexattr_getpshared=wasmExports.pthread_mutexattr_getpshared)(e,r),_pthread_mutexattr_getrobust=Module._pthread_mutexattr_getrobust=(e,r)=>(_pthread_mutexattr_getrobust=Module._pthread_mutexattr_getrobust=wasmExports.pthread_mutexattr_getrobust)(e,r),_pthread_mutexattr_gettype=Module._pthread_mutexattr_gettype=(e,r)=>(_pthread_mutexattr_gettype=Module._pthread_mutexattr_gettype=wasmExports.pthread_mutexattr_gettype)(e,r),_pthread_rwlockattr_getpshared=Module._pthread_rwlockattr_getpshared=(e,r)=>(_pthread_rwlockattr_getpshared=Module._pthread_rwlockattr_getpshared=wasmExports.pthread_rwlockattr_getpshared)(e,r),_pthread_attr_init=Module._pthread_attr_init=e=>(_pthread_attr_init=Module._pthread_attr_init=wasmExports.pthread_attr_init)(e),_pthread_attr_setdetachstate=Module._pthread_attr_setdetachstate=(e,r)=>(_pthread_attr_setdetachstate=Module._pthread_attr_setdetachstate=wasmExports.pthread_attr_setdetachstate)(e,r),_pthread_attr_setguardsize=Module._pthread_attr_setguardsize=(e,r)=>(_pthread_attr_setguardsize=Module._pthread_attr_setguardsize=wasmExports.pthread_attr_setguardsize)(e,r),_pthread_attr_setinheritsched=Module._pthread_attr_setinheritsched=(e,r)=>(_pthread_attr_setinheritsched=Module._pthread_attr_setinheritsched=wasmExports.pthread_attr_setinheritsched)(e,r),_pthread_attr_setschedparam=Module._pthread_attr_setschedparam=(e,r)=>(_pthread_attr_setschedparam=Module._pthread_attr_setschedparam=wasmExports.pthread_attr_setschedparam)(e,r),_pthread_attr_setschedpolicy=Module._pthread_attr_setschedpolicy=(e,r)=>(_pthread_attr_setschedpolicy=Module._pthread_attr_setschedpolicy=wasmExports.pthread_attr_setschedpolicy)(e,r),_pthread_attr_setscope=Module._pthread_attr_setscope=(e,r)=>(_pthread_attr_setscope=Module._pthread_attr_setscope=wasmExports.pthread_attr_setscope)(e,r),_pthread_attr_setstack=Module._pthread_attr_setstack=(e,r,t)=>(_pthread_attr_setstack=Module._pthread_attr_setstack=wasmExports.pthread_attr_setstack)(e,r,t),_pthread_attr_setstacksize=Module._pthread_attr_setstacksize=(e,r)=>(_pthread_attr_setstacksize=Module._pthread_attr_setstacksize=wasmExports.pthread_attr_setstacksize)(e,r),_pthread_barrier_destroy=Module._pthread_barrier_destroy=e=>(_pthread_barrier_destroy=Module._pthread_barrier_destroy=wasmExports.pthread_barrier_destroy)(e),_pthread_barrier_init=Module._pthread_barrier_init=(e,r,t)=>(_pthread_barrier_init=Module._pthread_barrier_init=wasmExports.pthread_barrier_init)(e,r,t),_pthread_barrier_wait=Module._pthread_barrier_wait=e=>(_pthread_barrier_wait=Module._pthread_barrier_wait=wasmExports.pthread_barrier_wait)(e),_pthread_barrierattr_destroy=Module._pthread_barrierattr_destroy=e=>(_pthread_barrierattr_destroy=Module._pthread_barrierattr_destroy=wasmExports.pthread_barrierattr_destroy)(e),_pthread_barrierattr_init=Module._pthread_barrierattr_init=e=>(_pthread_barrierattr_init=Module._pthread_barrierattr_init=wasmExports.pthread_barrierattr_init)(e),_pthread_barrierattr_setpshared=Module._pthread_barrierattr_setpshared=(e,r)=>(_pthread_barrierattr_setpshared=Module._pthread_barrierattr_setpshared=wasmExports.pthread_barrierattr_setpshared)(e,r),_pthread_exit=Module._pthread_exit=e=>(_pthread_exit=Module._pthread_exit=wasmExports.pthread_exit)(e),_pthread_cancel=Module._pthread_cancel=e=>(_pthread_cancel=Module._pthread_cancel=wasmExports.pthread_cancel)(e),_pthread_cond_broadcast=Module._pthread_cond_broadcast=e=>(_pthread_cond_broadcast=Module._pthread_cond_broadcast=wasmExports.pthread_cond_broadcast)(e),_pthread_cond_init=Module._pthread_cond_init=(e,r)=>(_pthread_cond_init=Module._pthread_cond_init=wasmExports.pthread_cond_init)(e,r),_pthread_cond_timedwait=Module._pthread_cond_timedwait=(e,r,t)=>(_pthread_cond_timedwait=Module._pthread_cond_timedwait=wasmExports.pthread_cond_timedwait)(e,r,t),_pthread_condattr_destroy=Module._pthread_condattr_destroy=e=>(_pthread_condattr_destroy=Module._pthread_condattr_destroy=wasmExports.pthread_condattr_destroy)(e),_pthread_condattr_init=Module._pthread_condattr_init=e=>(_pthread_condattr_init=Module._pthread_condattr_init=wasmExports.pthread_condattr_init)(e),_pthread_condattr_setclock=Module._pthread_condattr_setclock=(e,r)=>(_pthread_condattr_setclock=Module._pthread_condattr_setclock=wasmExports.pthread_condattr_setclock)(e,r),_pthread_condattr_setpshared=Module._pthread_condattr_setpshared=(e,r)=>(_pthread_condattr_setpshared=Module._pthread_condattr_setpshared=wasmExports.pthread_condattr_setpshared)(e,r),__emscripten_thread_free_data=e=>(__emscripten_thread_free_data=wasmExports._emscripten_thread_free_data)(e),__emscripten_thread_exit=Module.__emscripten_thread_exit=e=>(__emscripten_thread_exit=Module.__emscripten_thread_exit=wasmExports._emscripten_thread_exit)(e),__emscripten_thread_mailbox_shutdown=Module.__emscripten_thread_mailbox_shutdown=e=>(__emscripten_thread_mailbox_shutdown=Module.__emscripten_thread_mailbox_shutdown=wasmExports._emscripten_thread_mailbox_shutdown)(e),_emscripten_builtin_pthread_create=Module._emscripten_builtin_pthread_create=(e,r,t,n)=>(_emscripten_builtin_pthread_create=Module._emscripten_builtin_pthread_create=wasmExports.emscripten_builtin_pthread_create)(e,r,t,n),_emscripten_builtin_pthread_exit=Module._emscripten_builtin_pthread_exit=e=>(_emscripten_builtin_pthread_exit=Module._emscripten_builtin_pthread_exit=wasmExports.emscripten_builtin_pthread_exit)(e),_pthread_detach=Module._pthread_detach=e=>(_pthread_detach=Module._pthread_detach=wasmExports.pthread_detach)(e),_emscripten_builtin_pthread_detach=Module._emscripten_builtin_pthread_detach=e=>(_emscripten_builtin_pthread_detach=Module._emscripten_builtin_pthread_detach=wasmExports.emscripten_builtin_pthread_detach)(e),_pthread_equal=Module._pthread_equal=(e,r)=>(_pthread_equal=Module._pthread_equal=wasmExports.pthread_equal)(e,r),_pthread_getattr_np=Module._pthread_getattr_np=(e,r)=>(_pthread_getattr_np=Module._pthread_getattr_np=wasmExports.pthread_getattr_np)(e,r),_pthread_getconcurrency=Module._pthread_getconcurrency=()=>(_pthread_getconcurrency=Module._pthread_getconcurrency=wasmExports.pthread_getconcurrency)(),_pthread_getcpuclockid=Module._pthread_getcpuclockid=(e,r)=>(_pthread_getcpuclockid=Module._pthread_getcpuclockid=wasmExports.pthread_getcpuclockid)(e,r),_pthread_getschedparam=Module._pthread_getschedparam=(e,r,t)=>(_pthread_getschedparam=Module._pthread_getschedparam=wasmExports.pthread_getschedparam)(e,r,t),_pthread_tryjoin_np=Module._pthread_tryjoin_np=(e,r)=>(_pthread_tryjoin_np=Module._pthread_tryjoin_np=wasmExports.pthread_tryjoin_np)(e,r),_pthread_timedjoin_np=Module._pthread_timedjoin_np=(e,r,t)=>(_pthread_timedjoin_np=Module._pthread_timedjoin_np=wasmExports.pthread_timedjoin_np)(e,r,t),_pthread_join=Module._pthread_join=(e,r)=>(_pthread_join=Module._pthread_join=wasmExports.pthread_join)(e,r),_emscripten_builtin_pthread_join=Module._emscripten_builtin_pthread_join=(e,r)=>(_emscripten_builtin_pthread_join=Module._emscripten_builtin_pthread_join=wasmExports.emscripten_builtin_pthread_join)(e,r),_pthread_key_delete=Module._pthread_key_delete=e=>(_pthread_key_delete=Module._pthread_key_delete=wasmExports.pthread_key_delete)(e),_pthread_mutex_consistent=Module._pthread_mutex_consistent=e=>(_pthread_mutex_consistent=Module._pthread_mutex_consistent=wasmExports.pthread_mutex_consistent)(e),_pthread_mutex_getprioceiling=Module._pthread_mutex_getprioceiling=(e,r)=>(_pthread_mutex_getprioceiling=Module._pthread_mutex_getprioceiling=wasmExports.pthread_mutex_getprioceiling)(e,r),_pthread_mutex_init=Module._pthread_mutex_init=(e,r)=>(_pthread_mutex_init=Module._pthread_mutex_init=wasmExports.pthread_mutex_init)(e,r),_pthread_mutex_setprioceiling=Module._pthread_mutex_setprioceiling=(e,r,t)=>(_pthread_mutex_setprioceiling=Module._pthread_mutex_setprioceiling=wasmExports.pthread_mutex_setprioceiling)(e,r,t),_pthread_mutex_timedlock=Module._pthread_mutex_timedlock=(e,r)=>(_pthread_mutex_timedlock=Module._pthread_mutex_timedlock=wasmExports.pthread_mutex_timedlock)(e,r),_pthread_mutexattr_destroy=Module._pthread_mutexattr_destroy=e=>(_pthread_mutexattr_destroy=Module._pthread_mutexattr_destroy=wasmExports.pthread_mutexattr_destroy)(e),_pthread_mutexattr_init=Module._pthread_mutexattr_init=e=>(_pthread_mutexattr_init=Module._pthread_mutexattr_init=wasmExports.pthread_mutexattr_init)(e),_pthread_mutexattr_setprotocol=Module._pthread_mutexattr_setprotocol=(e,r)=>(_pthread_mutexattr_setprotocol=Module._pthread_mutexattr_setprotocol=wasmExports.pthread_mutexattr_setprotocol)(e,r),_pthread_mutexattr_setpshared=Module._pthread_mutexattr_setpshared=(e,r)=>(_pthread_mutexattr_setpshared=Module._pthread_mutexattr_setpshared=wasmExports.pthread_mutexattr_setpshared)(e,r),_pthread_mutexattr_setrobust=Module._pthread_mutexattr_setrobust=(e,r)=>(_pthread_mutexattr_setrobust=Module._pthread_mutexattr_setrobust=wasmExports.pthread_mutexattr_setrobust)(e,r),_pthread_mutexattr_settype=Module._pthread_mutexattr_settype=(e,r)=>(_pthread_mutexattr_settype=Module._pthread_mutexattr_settype=wasmExports.pthread_mutexattr_settype)(e,r),_pthread_rwlock_tryrdlock=Module._pthread_rwlock_tryrdlock=e=>(_pthread_rwlock_tryrdlock=Module._pthread_rwlock_tryrdlock=wasmExports.pthread_rwlock_tryrdlock)(e),_pthread_rwlock_timedrdlock=Module._pthread_rwlock_timedrdlock=(e,r)=>(_pthread_rwlock_timedrdlock=Module._pthread_rwlock_timedrdlock=wasmExports.pthread_rwlock_timedrdlock)(e,r),_pthread_rwlock_trywrlock=Module._pthread_rwlock_trywrlock=e=>(_pthread_rwlock_trywrlock=Module._pthread_rwlock_trywrlock=wasmExports.pthread_rwlock_trywrlock)(e),_pthread_rwlock_timedwrlock=Module._pthread_rwlock_timedwrlock=(e,r)=>(_pthread_rwlock_timedwrlock=Module._pthread_rwlock_timedwrlock=wasmExports.pthread_rwlock_timedwrlock)(e,r),_pthread_rwlockattr_destroy=Module._pthread_rwlockattr_destroy=e=>(_pthread_rwlockattr_destroy=Module._pthread_rwlockattr_destroy=wasmExports.pthread_rwlockattr_destroy)(e),_pthread_rwlockattr_init=Module._pthread_rwlockattr_init=e=>(_pthread_rwlockattr_init=Module._pthread_rwlockattr_init=wasmExports.pthread_rwlockattr_init)(e),_pthread_rwlockattr_setpshared=Module._pthread_rwlockattr_setpshared=(e,r)=>(_pthread_rwlockattr_setpshared=Module._pthread_rwlockattr_setpshared=wasmExports.pthread_rwlockattr_setpshared)(e,r),_pthread_setattr_default_np=Module._pthread_setattr_default_np=e=>(_pthread_setattr_default_np=Module._pthread_setattr_default_np=wasmExports.pthread_setattr_default_np)(e),_pthread_getattr_default_np=Module._pthread_getattr_default_np=e=>(_pthread_getattr_default_np=Module._pthread_getattr_default_np=wasmExports.pthread_getattr_default_np)(e),_pthread_setcanceltype=Module._pthread_setcanceltype=(e,r)=>(_pthread_setcanceltype=Module._pthread_setcanceltype=wasmExports.pthread_setcanceltype)(e,r),_pthread_testcancel=Module._pthread_testcancel=()=>(_pthread_testcancel=Module._pthread_testcancel=wasmExports.pthread_testcancel)(),_pthread_setconcurrency=Module._pthread_setconcurrency=e=>(_pthread_setconcurrency=Module._pthread_setconcurrency=wasmExports.pthread_setconcurrency)(e),_pthread_setschedparam=Module._pthread_setschedparam=(e,r,t)=>(_pthread_setschedparam=Module._pthread_setschedparam=wasmExports.pthread_setschedparam)(e,r,t),_pthread_setschedprio=Module._pthread_setschedprio=(e,r)=>(_pthread_setschedprio=Module._pthread_setschedprio=wasmExports.pthread_setschedprio)(e,r),_pthread_spin_destroy=Module._pthread_spin_destroy=e=>(_pthread_spin_destroy=Module._pthread_spin_destroy=wasmExports.pthread_spin_destroy)(e),_pthread_spin_init=Module._pthread_spin_init=(e,r)=>(_pthread_spin_init=Module._pthread_spin_init=wasmExports.pthread_spin_init)(e,r),_pthread_spin_lock=Module._pthread_spin_lock=e=>(_pthread_spin_lock=Module._pthread_spin_lock=wasmExports.pthread_spin_lock)(e),_pthread_spin_trylock=Module._pthread_spin_trylock=e=>(_pthread_spin_trylock=Module._pthread_spin_trylock=wasmExports.pthread_spin_trylock)(e),_pthread_spin_unlock=Module._pthread_spin_unlock=e=>(_pthread_spin_unlock=Module._pthread_spin_unlock=wasmExports.pthread_spin_unlock)(e),_emscripten_get_sbrk_ptr=Module._emscripten_get_sbrk_ptr=()=>(_emscripten_get_sbrk_ptr=Module._emscripten_get_sbrk_ptr=wasmExports.emscripten_get_sbrk_ptr)(),__emscripten_timeout=(e,r)=>(__emscripten_timeout=wasmExports._emscripten_timeout)(e,r),__emscripten_check_mailbox=()=>(__emscripten_check_mailbox=wasmExports._emscripten_check_mailbox)(),_emscripten_set_thread_name=Module._emscripten_set_thread_name=(e,r)=>(_emscripten_set_thread_name=Module._emscripten_set_thread_name=wasmExports.emscripten_set_thread_name)(e,r),_malloc_trim=Module._malloc_trim=e=>(_malloc_trim=Module._malloc_trim=wasmExports.malloc_trim)(e),_malloc_usable_size=Module._malloc_usable_size=e=>(_malloc_usable_size=Module._malloc_usable_size=wasmExports.malloc_usable_size)(e),_malloc_footprint=Module._malloc_footprint=()=>(_malloc_footprint=Module._malloc_footprint=wasmExports.malloc_footprint)(),_malloc_max_footprint=Module._malloc_max_footprint=()=>(_malloc_max_footprint=Module._malloc_max_footprint=wasmExports.malloc_max_footprint)(),_malloc_footprint_limit=Module._malloc_footprint_limit=()=>(_malloc_footprint_limit=Module._malloc_footprint_limit=wasmExports.malloc_footprint_limit)(),_malloc_set_footprint_limit=Module._malloc_set_footprint_limit=e=>(_malloc_set_footprint_limit=Module._malloc_set_footprint_limit=wasmExports.malloc_set_footprint_limit)(e),__emscripten_tempret_set=e=>(__emscripten_tempret_set=wasmExports._emscripten_tempret_set)(e),__emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports._emscripten_tempret_get)(),_emscripten_stack_init=Module._emscripten_stack_init=()=>(_emscripten_stack_init=Module._emscripten_stack_init=wasmExports.emscripten_stack_init)(),_emscripten_stack_set_limits=(e,r)=>(_emscripten_stack_set_limits=wasmExports.emscripten_stack_set_limits)(e,r),_emscripten_stack_get_free=Module._emscripten_stack_get_free=()=>(_emscripten_stack_get_free=Module._emscripten_stack_get_free=wasmExports.emscripten_stack_get_free)(),_emscripten_wasm_worker_initialize=Module._emscripten_wasm_worker_initialize=(e,r)=>(_emscripten_wasm_worker_initialize=Module._emscripten_wasm_worker_initialize=wasmExports.emscripten_wasm_worker_initialize)(e,r),__emscripten_stack_restore=e=>(__emscripten_stack_restore=wasmExports._emscripten_stack_restore)(e),__emscripten_stack_alloc=e=>(__emscripten_stack_alloc=wasmExports._emscripten_stack_alloc)(e),__ZTSNSt3__214default_deleteIN5arrow13BinaryBuilderEEE=Module.__ZTSNSt3__214default_deleteIN5arrow13BinaryBuilderEEE=445e3,__ZTSNSt3__220__shared_ptr_emplaceIN6duckdb3web21TableFunctionRelationENS_9allocatorIS3_EEEE=Module.__ZTSNSt3__220__shared_ptr_emplaceIN6duckdb3web21TableFunctionRelationENS_9allocatorIS3_EEEE=473e3,__ZTINSt3__210__function6__baseIFvRKN6duckdb16ParsedExpressionEEEE=Module.__ZTINSt3__210__function6__baseIFvRKN6duckdb16ParsedExpressionEEEE=2071e3,__ZTIN6duckdb10ConstraintE=Module.__ZTIN6duckdb10ConstraintE=2087e3,__ZTIN6duckdb16CreateSecretInfoE=Module.__ZTIN6duckdb16CreateSecretInfoE=2083e3,__ZTIN6duckdb11MapCastInfoE=Module.__ZTIN6duckdb11MapCastInfoE=2088e3,__ZTINSt3__220__shared_ptr_emplaceIN6duckdb39UngroupedDistinctAggregateFinalizeEventENS_9allocatorIS2_EEEE=Module.__ZTINSt3__220__shared_ptr_emplaceIN6duckdb39UngroupedDistinctAggregateFinalizeEventENS_9allocatorIS2_EEEE=2147e3,__ZTVN6duckdb19BitpackingScanStateIiiEE=Module.__ZTVN6duckdb19BitpackingScanStateIiiEE=2184e3,__ZTIN5arrow8internal20ArrayBuilderExtraOpsINS_14NumericBuilderINS_13HalfFloatTypeEEEtEE=Module.__ZTIN5arrow8internal20ArrayBuilderExtraOpsINS_14NumericBuilderINS_13HalfFloatTypeEEEtEE=2226e3,__ZTVN5arrow23SimpleRecordBatchReaderE=Module.__ZTVN5arrow23SimpleRecordBatchReaderE=2231e3,__ZTIN5arrow8internal14SparseCSXIndexINS_14SparseCSCIndexELNS0_26SparseMatrixCompressedAxisE1EEE=Module.__ZTIN5arrow8internal14SparseCSXIndexINS_14SparseCSCIndexELNS0_26SparseMatrixCompressedAxisE1EEE=2235e3,__ZTVN5arrow11UnionScalarE=Module.__ZTVN5arrow11UnionScalarE=2242e3,__ZTVN5arrow22DefaultValueComparatorINS_11StructArrayEEE=Module.__ZTVN5arrow22DefaultValueComparatorINS_11StructArrayEEE=2248e3,__ZTIZN5arrow17MakeFormatterImpl5VisitINS_9FloatTypeEEENSt3__29enable_ifIXsr14is_number_typeIT_EE5valueENS_6StatusEE4typeERKS5_EUlRKNS_5ArrayExPNS3_13basic_ostreamIcNS3_11char_traitsIcEEEEE_=Module.__ZTIZN5arrow17MakeFormatterImpl5VisitINS_9FloatTypeEEENSt3__29enable_ifIXsr14is_number_typeIT_EE5valueENS_6StatusEE4typeERKS5_EUlRKNS_5ArrayExPNS3_13basic_ostreamIcNS3_11char_traitsIcEEEEE_=2249e3,__ZTVNSt3__220__shared_ptr_emplaceIN5arrow12NumericArrayINS1_9Int16TypeEEENS_9allocatorIS4_EEEE=Module.__ZTVNSt3__220__shared_ptr_emplaceIN5arrow12NumericArrayINS1_9Int16TypeEEENS_9allocatorIS4_EEEE=2251e3,__ZTVZN5arrow7compute8internal22GetFunctionOptionsTypeINS0_19RunEndEncodeOptionsEJNS_8internal18DataMemberPropertyIS3_NSt3__210shared_ptrINS_8DataTypeEEEEEEEEPKNS0_19FunctionOptionsTypeEDpRKT0_E11OptionsType=Module.__ZTVZN5arrow7compute8internal22GetFunctionOptionsTypeINS0_19RunEndEncodeOptionsEJNS_8internal18DataMemberPropertyIS3_NSt3__210shared_ptrINS_8DataTypeEEEEEEEEPKNS0_19FunctionOptionsTypeEDpRKT0_E11OptionsType=2257e3,__ZTIN5arrow4util23ThrottledAsyncTaskGroupE=Module.__ZTIN5arrow4util23ThrottledAsyncTaskGroupE=2286e3,__emscripten_main_thread_futex=Module.__emscripten_main_thread_futex=2342656;function applySignatureConversions(e){e=Object.assign({},e);var r=o=>l=>o(l)>>>0,t=o=>()=>o()>>>0,n=o=>(l,c,u)=>o(l,c,u)>>>0,_=o=>(l,c)=>o(l,c)>>>0,a=o=>l=>o(l)>>>0;return e.__getTypeName=r(e.__getTypeName),e.pthread_self=t(e.pthread_self),e.malloc=r(e.malloc),e.__errno_location=t(e.__errno_location),e.memcpy=n(e.memcpy),e.emscripten_builtin_memalign=_(e.emscripten_builtin_memalign),e.emscripten_builtin_malloc=r(e.emscripten_builtin_malloc),e.emscripten_main_runtime_thread_id=t(e.emscripten_main_runtime_thread_id),e.emscripten_stack_get_base=t(e.emscripten_stack_get_base),e.emscripten_stack_get_end=t(e.emscripten_stack_get_end),e.emscripten_stack_get_current=t(e.emscripten_stack_get_current),e.sbrk=a(e.sbrk),e.memalign=_(e.memalign),e._emscripten_stack_alloc=r(e._emscripten_stack_alloc),e}Module.wasmMemory=wasmMemory,Module.stackSave=stackSave,Module.stackRestore=stackRestore,Module.stackAlloc=stackAlloc,Module.keepRuntimeAlive=keepRuntimeAlive,Module.ccall=ccall,Module.ExitStatus=ExitStatus,Module.PThread=PThread;var calledRun;dependenciesFulfilled=function e(){calledRun||run(),calledRun||(dependenciesFulfilled=e)};function callMain(e=[]){var r=resolveGlobalSymbol("main").sym;if(r){e.unshift(thisProgram);var t=e.length,n=stackAlloc((t+1)*4),_=n;e.forEach(o=>{GROWABLE_HEAP_U32()[_>>>2>>>0]=stringToUTF8OnStack(o),_+=4}),GROWABLE_HEAP_U32()[_>>>2>>>0]=0;try{var a=r(t,n);return exitJS(a,!0),a}catch(o){return handleException(o)}}}var sharedModules=Module.sharedModules||[];function run(e=arguments_){if(runDependencies>0)return;if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module),initRuntime(),startWorker(Module);return}if(preRun(),runDependencies>0)return;function r(){calledRun||(calledRun=!0,Module.calledRun=!0,!ABORT&&(initRuntime(),preMain(),readyPromiseResolve(Module),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),shouldRunNow&&callMain(e),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),r()},1)):r()}if(Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),readyPromise}})();typeof exports=="object"&&typeof module=="object"?module.exports=DuckDB:typeof define=="function"&&define.amd&&define([],()=>DuckDB)});var Ge=$(()=>{});var Ie=$(()=>{});var Fe=$((Rr,ee)=>{(function(){"use strict";var m="input is invalid type",e=typeof window=="object",r=e?window:{};r.JS_SHA256_NO_WINDOW&&(e=!1);var t=!e&&typeof self=="object",n=!r.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;n?r=global:t&&(r=self);var _=!r.JS_SHA256_NO_COMMON_JS&&typeof ee=="object"&&ee.exports,a=typeof define=="function"&&define.amd,o=!r.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",l="0123456789abcdef".split(""),c=[-2147483648,8388608,32768,128],u=[24,16,8,0],d=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],p=["hex","array","digest","arrayBuffer"],f=[];(r.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(S){return Object.prototype.toString.call(S)==="[object Array]"}),o&&(r.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(S){return typeof S=="object"&&S.buffer&&S.buffer.constructor===ArrayBuffer});var g=function(S,M){return function(A){return new h(M,!0).update(A)[S]()}},E=function(S){var M=g("hex",S);n&&(M=v(M,S)),M.create=function(){return new h(S)},M.update=function(R){return M.create().update(R)};for(var A=0;A>>2]|=S[R]<>>2]|=L<>>2]|=(192|L>>>6)<>>2]|=(128|L&63)<=57344?(w[y>>>2]|=(224|L>>>12)<>>2]|=(128|L>>>6&63)<>>2]|=(128|L&63)<>>2]|=(240|L>>>18)<>>2]|=(128|L>>>12&63)<>>2]|=(128|L>>>6&63)<>>2]|=(128|L&63)<=64?(this.block=w[16],this.start=y-64,this.hash(),this.hashed=!0):this.start=y}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},h.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var S=this.blocks,M=this.lastByteIndex;S[16]=this.block,S[M>>>2]|=c[M&3],this.block=S[16],M>=56&&(this.hashed||this.hash(),S[0]=this.block,S[16]=S[1]=S[2]=S[3]=S[4]=S[5]=S[6]=S[7]=S[8]=S[9]=S[10]=S[11]=S[12]=S[13]=S[14]=S[15]=0),S[14]=this.hBytes<<3|this.bytes>>>29,S[15]=this.bytes<<3,this.hash()}},h.prototype.hash=function(){var S=this.h0,M=this.h1,A=this.h2,L=this.h3,R=this.h4,y=this.h5,G=this.h6,w=this.h7,P=this.blocks,I,k,B,C,O,U,H,W,Y,Q,X;for(I=16;I<64;++I)O=P[I-15],k=(O>>>7|O<<25)^(O>>>18|O<<14)^O>>>3,O=P[I-2],B=(O>>>17|O<<15)^(O>>>19|O<<13)^O>>>10,P[I]=P[I-16]+k+P[I-7]+B<<0;for(X=M&A,I=0;I<64;I+=4)this.first?(this.is224?(W=300032,O=P[0]-1413257819,w=O-150054599<<0,L=O+24177077<<0):(W=704751109,O=P[0]-210244248,w=O-1521486534<<0,L=O+143694565<<0),this.first=!1):(k=(S>>>2|S<<30)^(S>>>13|S<<19)^(S>>>22|S<<10),B=(R>>>6|R<<26)^(R>>>11|R<<21)^(R>>>25|R<<7),W=S&M,C=W^S&A^X,H=R&y^~R&G,O=w+B+H+d[I]+P[I],U=k+C,w=L+O<<0,L=O+U<<0),k=(L>>>2|L<<30)^(L>>>13|L<<19)^(L>>>22|L<<10),B=(w>>>6|w<<26)^(w>>>11|w<<21)^(w>>>25|w<<7),Y=L&S,C=Y^L&M^W,H=w&R^~w&y,O=G+B+H+d[I+1]+P[I+1],U=k+C,G=A+O<<0,A=O+U<<0,k=(A>>>2|A<<30)^(A>>>13|A<<19)^(A>>>22|A<<10),B=(G>>>6|G<<26)^(G>>>11|G<<21)^(G>>>25|G<<7),Q=A&L,C=Q^A&S^Y,H=G&w^~G&R,O=y+B+H+d[I+2]+P[I+2],U=k+C,y=M+O<<0,M=O+U<<0,k=(M>>>2|M<<30)^(M>>>13|M<<19)^(M>>>22|M<<10),B=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7),X=M&A,C=X^M&L^Q,H=y&G^~y&w,O=R+B+H+d[I+3]+P[I+3],U=k+C,R=S+O<<0,S=O+U<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+S<<0,this.h1=this.h1+M<<0,this.h2=this.h2+A<<0,this.h3=this.h3+L<<0,this.h4=this.h4+R<<0,this.h5=this.h5+y<<0,this.h6=this.h6+G<<0,this.h7=this.h7+w<<0},h.prototype.hex=function(){this.finalize();var S=this.h0,M=this.h1,A=this.h2,L=this.h3,R=this.h4,y=this.h5,G=this.h6,w=this.h7,P=l[S>>>28&15]+l[S>>>24&15]+l[S>>>20&15]+l[S>>>16&15]+l[S>>>12&15]+l[S>>>8&15]+l[S>>>4&15]+l[S&15]+l[M>>>28&15]+l[M>>>24&15]+l[M>>>20&15]+l[M>>>16&15]+l[M>>>12&15]+l[M>>>8&15]+l[M>>>4&15]+l[M&15]+l[A>>>28&15]+l[A>>>24&15]+l[A>>>20&15]+l[A>>>16&15]+l[A>>>12&15]+l[A>>>8&15]+l[A>>>4&15]+l[A&15]+l[L>>>28&15]+l[L>>>24&15]+l[L>>>20&15]+l[L>>>16&15]+l[L>>>12&15]+l[L>>>8&15]+l[L>>>4&15]+l[L&15]+l[R>>>28&15]+l[R>>>24&15]+l[R>>>20&15]+l[R>>>16&15]+l[R>>>12&15]+l[R>>>8&15]+l[R>>>4&15]+l[R&15]+l[y>>>28&15]+l[y>>>24&15]+l[y>>>20&15]+l[y>>>16&15]+l[y>>>12&15]+l[y>>>8&15]+l[y>>>4&15]+l[y&15]+l[G>>>28&15]+l[G>>>24&15]+l[G>>>20&15]+l[G>>>16&15]+l[G>>>12&15]+l[G>>>8&15]+l[G>>>4&15]+l[G&15];return this.is224||(P+=l[w>>>28&15]+l[w>>>24&15]+l[w>>>20&15]+l[w>>>16&15]+l[w>>>12&15]+l[w>>>8&15]+l[w>>>4&15]+l[w&15]),P},h.prototype.toString=h.prototype.hex,h.prototype.digest=function(){this.finalize();var S=this.h0,M=this.h1,A=this.h2,L=this.h3,R=this.h4,y=this.h5,G=this.h6,w=this.h7,P=[S>>>24&255,S>>>16&255,S>>>8&255,S&255,M>>>24&255,M>>>16&255,M>>>8&255,M&255,A>>>24&255,A>>>16&255,A>>>8&255,A&255,L>>>24&255,L>>>16&255,L>>>8&255,L&255,R>>>24&255,R>>>16&255,R>>>8&255,R&255,y>>>24&255,y>>>16&255,y>>>8&255,y&255,G>>>24&255,G>>>16&255,G>>>8&255,G&255];return this.is224||P.push(w>>>24&255,w>>>16&255,w>>>8&255,w&255),P},h.prototype.array=h.prototype.digest,h.prototype.arrayBuffer=function(){this.finalize();var S=new ArrayBuffer(this.is224?28:32),M=new DataView(S);return M.setUint32(0,this.h0),M.setUint32(4,this.h1),M.setUint32(8,this.h2),M.setUint32(12,this.h3),M.setUint32(16,this.h4),M.setUint32(20,this.h5),M.setUint32(24,this.h6),this.is224||M.setUint32(28,this.h7),S};function T(S,M,A){var L,R=typeof S;if(R==="string"){var y=[],G=S.length,w=0,P;for(L=0;L>>6,y[w++]=128|P&63):P<55296||P>=57344?(y[w++]=224|P>>>12,y[w++]=128|P>>>6&63,y[w++]=128|P&63):(P=65536+((P&1023)<<10|S.charCodeAt(++L)&1023),y[w++]=240|P>>>18,y[w++]=128|P>>>12&63,y[w++]=128|P>>>6&63,y[w++]=128|P&63);S=y}else if(R==="object"){if(S===null)throw new Error(m);if(o&&S.constructor===ArrayBuffer)S=new Uint8Array(S);else if(!Array.isArray(S)&&(!o||!ArrayBuffer.isView(S)))throw new Error(m)}else throw new Error(m);S.length>64&&(S=new h(M,!0).update(S).array());var I=[],k=[];for(L=0;L<64;++L){var B=S[L]||0;I[L]=92^B,k[L]=54^B}h.call(this,M,A),this.update(k),this.oKeyPad=I,this.inner=!0,this.sharedMemory=A}T.prototype=new h,T.prototype.finalize=function(){if(h.prototype.finalize.call(this),this.inner){this.inner=!1;var S=this.array();h.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(S),h.prototype.finalize.call(this)}};var x=E();x.sha256=x,x.sha224=E(!0),x.sha256.hmac=D(),x.sha224.hmac=D(!0),_?ee.exports=x:(r.sha256=x.sha256,r.sha224=x.sha224,a&&define(function(){return x}))})()});var N={},we=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";we&&(ne=te(),ie=ne.parentPort,ie.on("message",m=>oe({data:m})),ae=Z(),ye=["vm"].map(K),Object.assign(global,{self:global,require:K,Module:N,location:{href:__filename},Worker:ne.Worker,importScripts:m=>ye.runInThisContext(ae.readFileSync(m,"utf8"),{filename:m}),postMessage:m=>ie.postMessage(m),performance:global.performance||{now:Date.now}}));var ne,ie,ae,ye,_e=!1;function Je(...m){var e=m.join(" ");if(we){ae.writeSync(2,e+"\n");return}console.error(e)}function Qe(...m){var e=m.join(" ");postMessage({cmd:"alert",text:e,threadId:N._pthread_self()})}var Te=Je;self.alert=Qe;N.instantiateWasm=(m,e)=>{var r=N.wasmModule;N.wasmModule=null;var t=new WebAssembly.Instance(r,m);return e(t,r)};self.onunhandledrejection=m=>{throw m.reason||m};function se(m){var r;try{if(m.data.cmd==="load"){let t=[];self.onmessage=n=>t.push(n),self.startWorker=n=>{N=n,postMessage({cmd:"loaded"});for(let _ of t)se(_);self.onmessage=se},N.wasmModule=m.data.wasmModule,N.sharedModules=m.data.sharedModules;for(let n of m.data.handlers)N[n]=(..._)=>{postMessage({cmd:"callHandler",handler:n,args:_})};if(N.wasmMemory=m.data.wasmMemory,N.buffer=N.wasmMemory.buffer,N.ENVIRONMENT_IS_PTHREAD=!0,typeof m.data.urlOrBlob=="string")importScripts(m.data.urlOrBlob);else{var e=URL.createObjectURL(m.data.urlOrBlob);importScripts(e),URL.revokeObjectURL(e)}DuckDB(N)}else if(m.data.cmd==="run"){N.__emscripten_thread_init(m.data.pthread_ptr,0,0,1),N.__emscripten_thread_mailbox_await(m.data.pthread_ptr),N.establishStackSpace(),N.PThread.receiveObjectTransfer(m.data),N.PThread.threadInitTLS(),_e||(N.__embind_initialize_bindings(),_e=!0);try{N.invokeEntryPoint(m.data.start_routine,m.data.arg)}catch(t){if(t!="unwind")throw t}}else m.data.cmd==="cancel"?N._pthread_self()&&N.__emscripten_thread_exit(-1):m.data.target==="setimmediate"||(m.data.cmd==="checkMailbox"?_e&&N.checkMailbox():m.data.cmd&&(Te("worker.js received unknown command ".concat(m.data.cmd)),Te(m.data)))}catch(t){throw(r=N.__emscripten_thread_crashed)==null||r.call(N),t}}self.onmessage=se;var oe=self.onmessage;function De(){return N}function xe(m){N=m}var Ve=be(Pe());var J=be(Fe()),ke=function(m,e,r){var t;if((t=m==null?void 0:m.endpoint)!=null&&t.startsWith("http")){let n="".concat(m==null?void 0:m.endpoint),_=n.indexOf("://")+3;return n.substring(_)}else return m!=null&&m.endpoint?"".concat(r,".").concat(m==null?void 0:m.endpoint):"".concat(r,".s3.amazonaws.com")};function Ze(m,e,r){var _,a,o,l;let t=Oe(e),n=t.path;return Be(m)&&(n="/".concat(t.bucket).concat(n)),{url:n,query:"",host:ke(m,e,t.bucket),region:(_=m==null?void 0:m.region)!=null?_:"",service:"s3",method:r,accessKeyId:(a=m==null?void 0:m.accessKeyId)!=null?a:"",secretAccessKey:(o=m==null?void 0:m.secretAccessKey)!=null?o:"",sessionToken:(l=m==null?void 0:m.sessionToken)!=null?l:"",dateNow:new Date().toISOString().replace(/-/g,"").split("T")[0],datetimeNow:new Date().toISOString().replace(/-/g,"").replace(/:/g,"").split(".")[0]+"Z"}}function er(m,e=!1){let r="0123456789ABCDEF",t="";for(let n=0;n="A"&&_<="Z"||_>="a"&&_<="z"||_>="0"&&_<="9"||_=="_"||_=="-"||_=="~"||_=="."?t+=_:_=="/"?e?t+="%2F":t+=_:(t+="%",t+=r[_.charCodeAt(0)>>4],t+=r[_.charCodeAt(0)&15])}return t}function rr(m,e=null){var g;let r=(g=e==null?void 0:e.contentHash)!=null?g:"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",t=new Map;t.set("x-amz-date",m.datetimeNow),t.set("x-amz-content-sha256",r),m.sessionToken&&t.set("x-amz-security-token",m.sessionToken);let n="";e!=null&&e.contentType&&(n+="content-type;"),n+="host;x-amz-content-sha256;x-amz-date",m.sessionToken&&(n+=";x-amz-security-token");let _=m.method+"\n"+er(m.url)+"\n"+m.query;e!=null&&e.contentType&&(_+="\ncontent-type:"+(e==null?void 0:e.contentType)),_+="\nhost:"+m.host+"\nx-amz-content-sha256:"+r+"\nx-amz-date:"+m.datetimeNow,m.sessionToken&&m.sessionToken.length>0&&(_+="\nx-amz-security-token:"+m.sessionToken),_+="\n\n"+n+"\n"+r;let a=(0,J.sha256)(_),o="AWS4-HMAC-SHA256\n"+m.datetimeNow+"\n"+m.dateNow+"/"+m.region+"/"+m.service+"/aws4_request\n"+a,l="AWS4"+m.secretAccessKey,c=J.sha256.hmac.arrayBuffer(l,m.dateNow),u=J.sha256.hmac.arrayBuffer(c,m.region),d=J.sha256.hmac.arrayBuffer(u,m.service),p=J.sha256.hmac.arrayBuffer(d,"aws4_request"),f=J.sha256.hmac(p,o);return t.set("Authorization","AWS4-HMAC-SHA256 Credential="+m.accessKeyId+"/"+m.dateNow+"/"+m.region+"/"+m.service+"/aws4_request, SignedHeaders="+n+", Signature="+f),t}var tr=function(m,e,r,t=null,n=null){let _=Ze(m,e,r),a={contentType:t,contentHash:n?J.sha256.hex(n):null};return rr(_,a)};function z(m,e,r,t,n=null,_=null){(e!=null&&e.accessKeyId||e!=null&&e.sessionToken)&&(tr(e,r,t,n,_).forEach((o,l)=>{m.setRequestHeader(l,o)}),n&&m.setRequestHeader("content-type",n))}function Oe(m){if(m.indexOf("s3://")!=0)throw new Error("URL needs to start with s3://");let e=m.indexOf("/",5);if(e==-1)throw new Error("URL needs to contain a '/' after the host");let r=m.substring(5,e);if(!r)throw new Error("URL needs to contain a bucket name");let t=m.substring(e);if(!t)throw new Error("URL needs to contain key");return{bucket:r,path:t}}function Be(m){var e;return!!((e=m==null?void 0:m.endpoint)!=null&&e.startsWith("http"))}function j(m,e){let r=Oe(e);return Be(m)?"".concat(m==null?void 0:m.endpoint,"/").concat(r.bucket)+r.path:"https://"+ke(m,e,r.bucket)+r.path}var He=new TextEncoder,Ce=new TextDecoder("utf-8");function de(m,e,r){let t=He.encode(r),n=m._malloc(t.byteLength),_=m.HEAPU8.subarray(n,n+t.byteLength);_.set(t),m.HEAPF64[(e>>3)+0]=1,m.HEAPF64[(e>>3)+1]=n,m.HEAPF64[(e>>3)+2]=_.byteLength}function fe(m){switch(m){case"UINT8":case"INT8":return 1;case"INT32":case"FLOAT":return 4;case"INT64":case"UINT64":case"DOUBLE":case"VARCHAR":return 8;default:return 0}}function pe(m,e,r,t){let n=m.HEAPU8.subarray(e,e+t*fe(r));switch(r){case"UINT8":return new Uint8Array(n.buffer,n.byteOffset,t);case"INT8":return new Int8Array(n.buffer,n.byteOffset,t);case"INT32":return new Int32Array(n.buffer,n.byteOffset,t);case"FLOAT":return new Float32Array(n.buffer,n.byteOffset,t);case"DOUBLE":return new Float64Array(n.buffer,n.byteOffset,t);case"VARCHAR":return new Float64Array(n.buffer,n.byteOffset,t);default:return new Array(0)}}function Ne(m,e,r){let t=m.HEAPU8.subarray(e,e+r);return new Uint8Array(t.buffer,t.byteOffset,r)}function re(m,e,r){let t=m.HEAPU8.subarray(e,e+r*8);return new Float64Array(t.buffer,t.byteOffset,r)}function We(m,e,r,t,n,_,a,o){try{let l=m._udfFunctions.get(t);if(!l){de(e,r,"Unknown UDF with id: "+t);return}let c=Ce.decode(e.HEAPU8.subarray(n,n+_)),u=JSON.parse(c),d=re(e,a,o/8),p=L=>{var y;let R=null;switch(L.validityBuffer!==void 0&&(R=Ne(e,d[L.validityBuffer],u.rows)),L.physicalType){case"VARCHAR":{if(L.dataBuffer===null||L.dataBuffer===void 0)throw new Error("malformed data view, expected data buffer for VARCHAR argument");if(L.lengthBuffer===null||L.lengthBuffer===void 0)throw new Error("malformed data view, expected data length buffer for VARCHAR argument");let G=pe(e,d[L.dataBuffer],L.physicalType,u.rows),w=[],P=re(e,d[L.lengthBuffer],u.rows);for(let I=0;Iw[I]}case"STRUCT":{let G={},w=[];for(let P=0;P<(((y=L.children)==null?void 0:y.length)||0);++P){let I=L.children[P],k=p(I);w.push(B=>{G[I.name]=k(B)})}return R!=null?P=>{if(!R[P])return null;for(let I of w)I(P);return G}:P=>{for(let I of w)I(P);return G}}default:{if(L.dataBuffer===void 0)throw new Error("malformed data view, expected data buffer for argument of type: "+L.physicalType);let G=pe(e,d[L.dataBuffer],L.physicalType,u.rows);return R!=null?w=>R[w]?G[w]:null:w=>G[w]}}},f=[];for(let L=0;L>3)+0]=0,e.HEAPF64[(r>>3)+1]=M,e.HEAPF64[(r>>3)+2]=0}catch(l){de(e,r,l.toString())}}function ir(){let m=new TextDecoder;return e=>(typeof SharedArrayBuffer<"u"&&e.buffer instanceof SharedArrayBuffer&&(e=new Uint8Array(e)),m.decode(e))}var _r=ir();function V(m,e){console.error("FAIL WITH: ".concat(e)),m.ccall("duckdb_web_fail_with",null,["string"],[e])}function q(m,e,r){return _r(m.HEAPU8.subarray(e,e+r))}function ge(m,e,r,t){let n=m.stackSave(),_=m.stackAlloc(3*8);r.unshift("number"),t.unshift(_),m.ccall(e,null,r,t);let a=m.HEAPF64[(_>>3)+0],o=m.HEAPF64[(_>>3)+1],l=m.HEAPF64[(_>>3)+2];return m.stackRestore(n),[a,o,l]}function Ee(m){m.ccall("duckdb_web_clear_response",null,[],[])}var ar=7,Ue=/\/|\\/,F={_files:new Map,_fileInfoCache:new Map,_udfFunctions:new Map,_globalFileInfo:null,_preparedHandles:{},_opfsRoot:null,getFileInfo(m,e){try{let r=F._fileInfoCache.get(e),[t,n,_]=ge(m,"duckdb_web_fs_get_file_info_by_id",["number","number"],[e,(r==null?void 0:r.cacheEpoch)||0]);if(t!==0)return null;if(_===0)return r;let a=q(m,n,_);Ee(m);try{let o=JSON.parse(a);if(o==null)return null;let l={...o,blob:null};return F._fileInfoCache.set(e,l),!F._files.has(l.fileName)&&F._preparedHandles[l.fileName]&&(F._files.set(l.fileName,F._preparedHandles[l.fileName]),delete F._preparedHandles[l.fileName]),l}catch(o){return console.warn(o),null}}catch(r){return console.log(r),null}},getGlobalFileInfo(m){var e;try{let[r,t,n]=ge(m,"duckdb_web_get_global_file_info",["number"],[((e=F._globalFileInfo)==null?void 0:e.cacheEpoch)||0]);if(r!==0)return null;if(n===0)return F._globalFileInfo;let _=q(m,t,n);Ee(m);let a=JSON.parse(_);return a==null?null:(F._globalFileInfo={...a,blob:null},F._globalFileInfo)}catch(r){return console.log(r),null}},async assignOPFSRoot(){F._opfsRoot||(F._opfsRoot=await navigator.storage.getDirectory())},async prepareFileHandles(m,e){if(e===3){await F.assignOPFSRoot();let r=async n=>{if(F._files.has(n))return{path:n,handle:F._files.get(n),fromCached:!0};let a=F._opfsRoot,o=n.slice(ar),l=o;if(Ue.test(o)){let u=o.split(Ue);if(l=u.pop(),!l)throw new Error("Invalid path ".concat(n));for(let d of u)a=await a.getDirectoryHandle(d,{create:!0})}let c=await a.getFileHandle(l,{create:!1}).catch(u=>{if((u==null?void 0:u.name)==="NotFoundError")return console.debug("File ".concat(n," does not exists yet, creating...")),a.getFileHandle(l,{create:!0});throw u});try{let u=await c.createSyncAccessHandle();return F._preparedHandles[n]=u,{path:n,handle:u,fromCached:!1}}catch(u){throw new Error(u.message+":"+name)}},t=[];for(let n of m){let _=await r(n);t.push(_)}return t}throw new Error("Unsupported protocol ".concat(e," for paths ").concat(m," with protocol ").concat(e))},async prepareDBFileHandle(m,e){if(e===3&&this.prepareFileHandles){let r=[m,"".concat(m,".wal")];return this.prepareFileHandles(r,e)}throw new Error("Unsupported protocol ".concat(e," for path ").concat(m," with protocol ").concat(e))},testPlatformFeature:(m,e)=>{switch(e){case 1:return typeof BigInt64Array<"u";default:return console.warn("test for unknown feature: ".concat(e)),!1}},getDefaultDataProtocol(m){return 2},openFile:(m,e,r)=>{var t,n,_;try{F._fileInfoCache.delete(e);let a=F.getFileInfo(m,e);switch(a==null?void 0:a.dataProtocol){case 4:case 5:{if(r&1&&r&2)throw new Error("Opening file ".concat(a.fileName," failed: cannot open file with both read and write flags set"));if(r&32)throw new Error("Opening file ".concat(a.fileName," failed: appending to HTTP/S3 files is not supported"));if(r&2){let c=new XMLHttpRequest;if(a.dataProtocol==5?(c.open("HEAD",j(a.s3Config,a.dataUrl),!1),z(c,a.s3Config,a.dataUrl,"HEAD")):c.open("HEAD",a.dataUrl,!1),c.send(null),c.status!=200&&c.status!=404)throw new Error("Opening file ".concat(a.fileName," failed: Unexpected return status from server (").concat(c.status,")"));if(c.status==404&&!(r&8||r&16))throw new Error("Opening file ".concat(a.fileName," failed: Cannot write to non-existent file without FILE_FLAGS_FILE_CREATE or FILE_FLAGS_FILE_CREATE_NEW flag."));let u=m._malloc(1),d=new Uint8Array;m.HEAPU8.set(d,u);let p=m._malloc(2*8);return m.HEAPF64[(p>>3)+0]=1,m.HEAPF64[(p>>3)+1]=u,p}else if(!(r&1))throw new Error("Opening file ".concat(a.fileName," failed: unsupported file flags: ").concat(r));let o=null,l=null;if(a.reliableHeadRequests||!a.allowFullHttpReads)try{let c=new XMLHttpRequest;if(a.dataProtocol==5?(c.open("HEAD",j(a.s3Config,a.dataUrl),!1),z(c,a.s3Config,a.dataUrl,"HEAD")):c.open("HEAD",a.dataUrl,!1),c.setRequestHeader("Range","bytes=0-"),c.send(null),o=c.getResponseHeader("Content-Length"),o!==null&&c.status==206){let u=m._malloc(16);return m.HEAPF64[(u>>3)+0]=+o,m.HEAPF64[(u>>3)+1]=0,u}}catch(c){l=c,console.warn("HEAD request with range header failed: ".concat(c))}if(a.allowFullHttpReads){{let u=new XMLHttpRequest;a.dataProtocol==5?(u.open("GET",j(a.s3Config,a.dataUrl),!1),z(u,a.s3Config,a.dataUrl,"GET")):u.open("GET",a.dataUrl,!1),u.responseType="arraybuffer",u.setRequestHeader("Range","bytes=0-0"),u.send(null);let d=(t=u.getResponseHeader("Content-Range"))==null?void 0:t.split("/")[1],p=u.getResponseHeader("Content-Length"),f=null;if(d!==void 0)f=d;else if(!a.reliableHeadRequests){let g=new XMLHttpRequest;a.dataProtocol==5?(g.open("HEAD",j(a.s3Config,a.dataUrl),!1),z(g,a.s3Config,a.dataUrl,"HEAD")):g.open("HEAD",a.dataUrl,!1),g.setRequestHeader("Range","bytes=0-"),g.send(null),o=g.getResponseHeader("Content-Length"),o!==null&&+o>1&&(f=o)}if(u.status==206&&p!==null&&+p==1&&f!==null){let g=m._malloc(16);return m.HEAPF64[(g>>3)+0]=+f,m.HEAPF64[(g>>3)+1]=0,g}if(u.status==200&&p!==null&&o!==null&&+p==+o){console.warn("fall back to full HTTP read for: ".concat(a.dataUrl));let g=m._malloc(u.response.byteLength),E=new Uint8Array(u.response,0,u.response.byteLength);m.HEAPU8.set(E,g);let v=m._malloc(2*8);return m.HEAPF64[(v>>3)+0]=u.response.byteLength,m.HEAPF64[(v>>3)+1]=g,v}}console.warn("falling back to full HTTP read for: ".concat(a.dataUrl));let c=new XMLHttpRequest;if(a.dataProtocol==5?(c.open("GET",j(a.s3Config,a.dataUrl),!1),z(c,a.s3Config,a.dataUrl,"GET")):c.open("GET",a.dataUrl,!1),c.responseType="arraybuffer",c.send(null),c.status==200){let u=m._malloc(c.response.byteLength),d=new Uint8Array(c.response,0,c.response.byteLength);m.HEAPU8.set(d,u);let p=m._malloc(2*8);return m.HEAPF64[(p>>3)+0]=c.response.byteLength,m.HEAPF64[(p>>3)+1]=u,p}}if(l!=null)throw new Error("Reading file ".concat(a.fileName," failed with error: ").concat(l));return 0}case 2:{let o=(n=F._files)==null?void 0:n.get(a.fileName);if(o){let u=m._malloc(16);return m.HEAPF64[(u>>3)+0]=o.size,m.HEAPF64[(u>>3)+1]=0,u}console.warn("Buffering missing file: ".concat(a.fileName));let l=m._malloc(2*8),c=m._malloc(1);return m.HEAPF64[(l>>3)+0]=1,m.HEAPF64[(l>>3)+1]=c,l}case 3:{let o=(_=F._files)==null?void 0:_.get(a.fileName);if(!o)throw new Error("No OPFS access handle registered with name: ".concat(a.fileName));r&16&&o.truncate(0);let l=m._malloc(2*8),c=o.getSize();return m.HEAPF64[(l>>3)+0]=c,m.HEAPF64[(l>>3)+1]=0,l}}}catch(a){console.error(a.toString()),V(m,a.toString())}return 0},glob:(m,e,r)=>{var t;try{let n=q(m,e,r);if(n.startsWith("http")||n.startsWith("s3://")){let _=new XMLHttpRequest;if(n.startsWith("s3://")){let a=F.getGlobalFileInfo(m);_.open("HEAD",j(a==null?void 0:a.s3Config,n),!1),z(_,a==null?void 0:a.s3Config,n,"HEAD")}else _.open("HEAD",n,!1);if(_.send(null),_.status!=200&&_.status!==206){if(!((t=F.getGlobalFileInfo(m))!=null&&t.allowFullHttpReads))return V(m,"HEAD request failed: ".concat(n,", with full http reads are disabled")),0;let a=new XMLHttpRequest;if(n.startsWith("s3://")){let l=F.getGlobalFileInfo(m);a.open("GET",j(l==null?void 0:l.s3Config,n),!1),z(a,l==null?void 0:l.s3Config,n,"HEAD")}else a.open("GET",n,!1);if(a.setRequestHeader("Range","bytes=0-0"),a.send(null),a.status!=200&&a.status!==206)return V(m,"HEAD and GET requests failed: ".concat(n)),0;let o=a.getResponseHeader("Content-Length");o&&+o>1&&console.warn("Range request for ".concat(n," did not return a partial response: ").concat(a.status,' "').concat(a.statusText,'"'))}m.ccall("duckdb_web_fs_glob_add_path",null,["string"],[n])}else for(let[_]of F._files.entries()||[])_.startsWith(n)&&m.ccall("duckdb_web_fs_glob_add_path",null,["string"],[_])}catch(n){return console.log(n),V(m,n.toString()),0}},checkFile:(m,e,r)=>{try{let t=q(m,e,r);if(t.startsWith("http")||t.startsWith("s3://")){let n=new XMLHttpRequest;if(t.startsWith("s3://")){let _=F.getGlobalFileInfo(m);n.open("HEAD",j(_==null?void 0:_.s3Config,t),!1),z(n,_==null?void 0:_.s3Config,t,"HEAD")}else n.open("HEAD",t,!1);return n.send(null),n.status==206||n.status==200}else return F._files.has(t)}catch(t){return console.log(t),!1}return!1},syncFile:(m,e)=>{},closeFile:(m,e)=>{var t;let r=F.getFileInfo(m,e);F._fileInfoCache.delete(e);try{switch(r==null?void 0:r.dataProtocol){case 0:case 4:case 5:break;case 1:case 2:return;case 3:{let n=(t=F._files)==null?void 0:t.get(r.fileName);if(!n)throw new Error("No OPFS access handle registered with name: ".concat(r.fileName));return n.flush()}}}catch(n){console.log(n),V(m,n.toString())}},dropFile:(m,e,r)=>{var _;let t=q(m,e,r),n=(_=F._files)==null?void 0:_.get(t);if(n){if(F._files.delete(t),n instanceof FileSystemSyncAccessHandle)try{n.flush(),n.close()}catch(a){throw new Error("Cannot drop file with name: ".concat(t))}n instanceof Blob}},truncateFile:(m,e,r)=>{var n;let t=F.getFileInfo(m,e);switch(t==null?void 0:t.dataProtocol){case 4:V(m,"Cannot truncate a http file");return;case 5:V(m,"Cannot truncate an s3 file");return;case 0:case 1:case 2:V(m,"truncateFile not implemented");return;case 3:{let _=(n=F._files)==null?void 0:n.get(t.fileName);if(!_)throw new Error("No OPFS access handle registered with name: ".concat(t.fileName));return _.truncate(r)}}return 0},readFile(m,e,r,t,n){var _;if(t==0)return 0;try{let a=F.getFileInfo(m,e);switch(a==null?void 0:a.dataProtocol){case 4:case 5:{if(!a.dataUrl)throw new Error("Missing data URL for file ".concat(e));try{let o=new XMLHttpRequest;if(a.dataProtocol==5?(o.open("GET",j(a==null?void 0:a.s3Config,a.dataUrl),!1),z(o,a==null?void 0:a.s3Config,a.dataUrl,"GET")):o.open("GET",a.dataUrl,!1),o.responseType="arraybuffer",o.setRequestHeader("Range","bytes=".concat(n,"-").concat(n+t-1)),o.send(null),o.status==206||o.status==200&&t==o.response.byteLength&&n==0){let l=new Uint8Array(o.response,0,Math.min(o.response.byteLength,t));return m.HEAPU8.set(l,r),l.byteLength}else if(o.status==200){console.warn("Range request for ".concat(a.dataUrl," did not return a partial response: ").concat(o.status,' "').concat(o.statusText,'"'));let l=new Uint8Array(o.response,n,Math.min(o.response.byteLength-n,t));return m.HEAPU8.set(l,r),l.byteLength}else throw new Error("Range request for ".concat(a.dataUrl," did returned non-success status: ").concat(o.status,' "').concat(o.statusText,'"'))}catch(o){throw console.log(o),new Error("Range request for ".concat(a.dataUrl," failed with error: ").concat(o,'"'))}}case 2:{let o=(_=F._files)==null?void 0:_.get(a.fileName);if(!o)throw new Error("No HTML5 file registered with name: ".concat(a.fileName));let l=o.slice(n,n+t),c=new Uint8Array(new FileReaderSync().readAsArrayBuffer(l));return m.HEAPU8.set(c,r),c.byteLength}case 3:{let o=F._files.get(a.fileName);if(!o)throw new Error("No OPFS access handle registered with name: ".concat(a.fileName));let l=m.HEAPU8.subarray(r,r+t);return o.read(l,{at:n})}}return 0}catch(a){return console.log(a),V(m,a.toString()),0}},writeFile:(m,e,r,t,n)=>{var a;let _=F.getFileInfo(m,e);switch(_==null?void 0:_.dataProtocol){case 4:return V(m,"Cannot write to HTTP file"),0;case 5:{let o=m.HEAPU8.subarray(r,r+t),l=new XMLHttpRequest;return l.open("PUT",j(_==null?void 0:_.s3Config,_.dataUrl),!1),z(l,_==null?void 0:_.s3Config,_.dataUrl,"PUT","",o),l.send(o),l.status!==200?(V(m,"Failed writing file: HTTP "+l.status),0):t}case 2:return V(m,"cannot write using the html5 file reader api"),0;case 3:{let o=(a=F._files)==null?void 0:a.get(_.fileName);if(!o)throw new Error("No OPFS access handle registered with name: ".concat(_.fileName));let l=m.HEAPU8.subarray(r,r+t);return o.write(l,{at:n})}}return 0},getLastFileModificationTime:(m,e)=>{var t;let r=F.getFileInfo(m,e);switch(r==null?void 0:r.dataProtocol){case 2:{if(!((t=F._files)==null?void 0:t.get(r.fileName)))throw Error("No handle available for file: ".concat(r.fileName));return 0}case 4:case 5:return new Date().getTime()}return 0},checkDirectory:(m,e,r)=>{let t=q(m,e,r);return console.log("checkDirectory: ".concat(t)),!1},createDirectory:(m,e,r)=>{let t=q(m,e,r);console.log("createDirectory: ".concat(t))},removeDirectory:(m,e,r)=>{let t=q(m,e,r);console.log("removeDirectory: ".concat(t))},listDirectoryEntries:(m,e,r)=>{let t=q(m,e,r);return console.log("listDirectoryEntries: ".concat(t)),!1},moveFile:(m,e,r,t,n)=>{var l,c;let _=q(m,e,r),a=q(m,t,n),o=(l=F._files)==null?void 0:l.get(_);o!==void 0&&(F._files.delete(o),F._files.set(a,o));for(let[u,d]of((c=F._fileInfoCache)==null?void 0:c.entries())||[])if(d.dataUrl==_){F._fileInfoCache.delete(u);break}return!0},removeFile:(m,e,r)=>{},callScalarUDF:(m,e,r,t,n,_,a)=>{We(F,m,e,r,t,n,_,a)}};globalThis.DUCKDB_RUNTIME={};for(let m of Object.getOwnPropertyNames(F))m!="constructor"&&(globalThis.DUCKDB_RUNTIME[m]=Object.getOwnPropertyDescriptor(F,m).value);globalThis.onmessage=m=>{if(m.data.cmd==="load"){let e=De();globalThis.startWorker=r=>{e=r,postMessage({cmd:"loaded"})},e.wasmModule=m.data.wasmModule,e.wasmMemory=m.data.wasmMemory,e.buffer=e.wasmMemory.buffer,e.ENVIRONMENT_IS_PTHREAD=!0,(0,Ve.default)(e).then(r=>{xe(r)})}else if(m.data.cmd==="registerFileHandle")globalThis.DUCKDB_RUNTIME._files=globalThis.DUCKDB_RUNTIME._files||new Map,globalThis.DUCKDB_RUNTIME._files.set(m.data.fileName,m.data.fileHandle);else if(m.data.cmd==="dropFileHandle")globalThis.DUCKDB_RUNTIME._files=globalThis.DUCKDB_RUNTIME._files||new Map,globalThis.DUCKDB_RUNTIME._files.delete(m.data.fileName);else if(m.data.cmd==="registerUDFFunction")globalThis.DUCKDB_RUNTIME._udfFunctions=globalThis.DUCKDB_RUNTIME._files||new Map,globalThis.DUCKDB_RUNTIME._udfFunctions.set(m.data.udf.name,m.data.udf);else if(m.data.cmd==="dropUDFFunctions"){globalThis.DUCKDB_RUNTIME._udfFunctions=globalThis.DUCKDB_RUNTIME._files||new Map;for(let e of globalThis.DUCKDB_RUNTIME._udfFunctions.keys())globalThis.DUCKDB_RUNTIME._udfFunctions.get(e).connection_id==m.data.connectionId&&globalThis.DUCKDB_RUNTIME._udfFunctions.delete(e)}else oe(m)};})(); /*! Bundled license information: js-sha256/src/sha256.js: (** * [js-sha256]{@link https://github.com/emn178/js-sha256} * * @version 0.11.0 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2014-2024 * @license MIT *) */ //# sourceMappingURL=duckdb-browser-coi.pthread.worker.js.map