"use strict"; var _createPyodideModule = (() => { var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; return ( async function(moduleArg = {}) { var moduleRtn; var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){}var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};if(typeof __filename!="undefined"){_scriptName=__filename}else if(ENVIRONMENT_IS_WORKER){_scriptName=self.location.href}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_SHELL){readBinary=f=>{if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}let data=read(f,"binary");assert(typeof data=="object");return data};readAsync=async f=>readBinary(f);globalThis.clearTimeout??=id=>{};globalThis.setTimeout??=f=>f();arguments_=globalThis.arguments||globalThis.scriptArgs;if(typeof quit=="function"){quit_=(status,toThrow)=>{setTimeout(()=>{if(!(toThrow instanceof ExitStatus)){let toLog=toThrow;if(toThrow&&typeof toThrow=="object"&&toThrow.stack){toLog=[toThrow,toThrow.stack]}err(`exiting due to exception: ${toLog}`)}quit(status)});throw toThrow}}if(typeof print!="undefined"){globalThis.console??={};console.log=print;console.warn=console.error=globalThis.printErr??print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var dynamicLibraries=[];var wasmBinary;var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;var runtimeExited=false;var isFileURI=filename=>filename.startsWith("file://");function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}function initMemory(){if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||20971520;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:65536})}updateMemoryViews()}var __RELOC_FUNCS__=[];function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__RELOC_FUNCS__);callRuntimeCallbacks(onInits);if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);wasmExports["__wasm_call_ctors"]();callRuntimeCallbacks(onPostCtors);FS.ignorePermissions=false}function preMain(){callRuntimeCallbacks(onMains)}function exitRuntime(){___funcs_on_exit();callRuntimeCallbacks(onExits);FS.quit();TTY.shutdown();IDBFS.quit();runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){return locateFile("pyodide.asm.wasm")}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_SHELL){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=relocateExports(wasmExports,1024);var metadata=getDylinkMetadata(module);if(metadata.neededDynlibs){dynamicLibraries=metadata.neededDynlibs.concat(dynamicLibraries)}mergeLibSymbols(wasmExports,"main");LDSO.init();loadDylibs();wasmExports=applySignatureConversions(wasmExports);__RELOC_FUNCS__.push(wasmExports["__wasm_apply_data_relocs"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var GOT={};var currentModuleWeakSymbols=new Set([]);var GOTHandler={get(obj,symName){var rtn=GOT[symName];if(!rtn){rtn=GOT[symName]=new WebAssembly.Global({value:"i32",mutable:true})}if(!currentModuleWeakSymbols.has(symName)){rtn.required=true}return rtn}};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var getDylinkMetadata=binary=>{var offset=0;var end=0;function getU8(){return binary[offset++]}function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[offset++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}function getString(){var len=getLEB();offset+=len;return UTF8ArrayToString(binary,offset-len,len)}function getStringList(){var count=getLEB();var rtn=[];while(count--)rtn.push(getString());return rtn}function failIf(condition,message){if(condition)throw new Error(message)}if(binary instanceof WebAssembly.Module){var dylinkSection=WebAssembly.Module.customSections(binary,"dylink.0");failIf(dylinkSection.length===0,"need dylink section");binary=new Uint8Array(dylinkSection[0]);end=binary.length}else{var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);var magicNumberFound=int32View[0]==1836278016;failIf(!magicNumberFound,"need to see wasm magic number");failIf(binary[8]!==0,"need the dylink section to be first");offset=9;var section_size=getLEB();end=offset+section_size;var name=getString();failIf(name!=="dylink.0")}var customSection={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]};var WASM_DYLINK_MEM_INFO=1;var WASM_DYLINK_NEEDED=2;var WASM_DYLINK_EXPORT_INFO=3;var WASM_DYLINK_IMPORT_INFO=4;var WASM_DYLINK_RUNTIME_PATH=5;var WASM_SYMBOL_TLS=256;var WASM_SYMBOL_BINDING_MASK=3;var WASM_SYMBOL_BINDING_WEAK=1;while(offset>>0];case"i8":return HEAP8[ptr>>>0];case"i16":return HEAP16[ptr>>>1>>>0];case"i32":return HEAP32[ptr>>>2>>>0];case"i64":return HEAP64[ptr>>>3>>>0];case"float":return HEAPF32[ptr>>>2>>>0];case"double":return HEAPF64[ptr>>>3>>>0];case"*":return HEAPU32[ptr>>>2>>>0];default:abort(`invalid type for getValue: ${type}`)}}var newDSO=(name,handle,syms)=>{var dso={refcount:Infinity,name,exports:syms,global:true};LDSO.loadedLibsByName[name]=dso;if(handle!=undefined){LDSO.loadedLibsByHandle[handle]=dso}return dso};var LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}};var ___heap_base=8809120;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var getMemory=size=>{if(runtimeInitialized){return _calloc(size,1)}var ret=___heap_base;var end=ret+alignMemory(size,16);___heap_base=end;GOT["__heap_base"].value=end;return ret};var isInternalSym=symName=>["__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(symName)||symName.startsWith("__em_js__");var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var wasmTableMirror=[];var wasmTable=new WebAssembly.Table({initial:6074,element:"anyfunc"});var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var updateGOT=(exports,replace)=>{for(var symName in exports){if(isInternalSym(symName)){continue}var value=exports[symName];GOT[symName]||=new WebAssembly.Global({value:"i32",mutable:true});if(replace||GOT[symName].value==0){if(typeof value=="function"){GOT[symName].value=addFunction(value)}else if(typeof value=="number"){GOT[symName].value=value}else{err(`unhandled export type for '${symName}': ${typeof value}`)}}}};var relocateExports=(exports,memoryBase,replace)=>{var relocated={};for(var e in exports){var value=exports[e];if(typeof value=="object"){value=value.value}if(typeof value=="number"){value+=memoryBase}relocated[e]=value}updateGOT(relocated,replace);return relocated};var isSymbolDefined=symName=>{var existing=wasmImports[symName];if(!existing||existing.stub){return false}return true};var resolveGlobalSymbol=(symName,direct=false)=>{var sym;if(isSymbolDefined(symName)){sym=wasmImports[symName]}return{sym,name:symName}};var onPostCtors=[];var addOnPostCtor=cb=>onPostCtors.push(cb);var UTF8ToString=(ptr,maxBytesToRead)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign);var memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0;var tableBase=metadata.tableSize?wasmTable.length:0;if(handle){HEAP8[handle+8>>>0]=1;HEAPU32[handle+12>>>2>>>0]=memoryBase;HEAP32[handle+16>>>2>>>0]=metadata.memorySize;HEAPU32[handle+20>>>2>>>0]=tableBase;HEAP32[handle+24>>>2>>>0]=metadata.tableSize}if(metadata.tableSize){wasmTable.grow(metadata.tableSize)}var moduleExports;function resolveSymbol(sym){var resolved=resolveGlobalSymbol(sym).sym;if(!resolved&&localScope){resolved=localScope[sym]}if(!resolved){resolved=moduleExports[sym]}return resolved}var proxyHandler={get(stubs,prop){switch(prop){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(prop in wasmImports&&!wasmImports[prop].stub){var res=wasmImports[prop];return res}if(!(prop in stubs)){var resolved;stubs[prop]=(...args)=>{resolved||=resolveSymbol(prop);if(!resolved){throw new Error(`Dynamic linking error: cannot resolve symbol ${prop}`)}return resolved(...args)}}return stubs[prop]}};var proxy=new Proxy({},proxyHandler);var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize);moduleExports=relocateExports(instance.exports,memoryBase);if(!flags.allowUndefined){reportUndefinedSymbols()}function addEmAsm(addr,body){var args=[];var arity=0;for(;arity<16;arity++){if(body.indexOf("$"+arity)!=-1){args.push("$"+arity)}else{break}}args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports){var start=moduleExports["__start_em_asm"];var stop=moduleExports["__stop_em_asm"];while(start ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports){if(name.startsWith("__em_js__")){var start=moduleExports[name];var jsString=UTF8ToString(start);var parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]);delete moduleExports[name]}}var applyRelocs=moduleExports["__wasm_apply_data_relocs"];if(applyRelocs){if(runtimeInitialized){applyRelocs()}else{__RELOC_FUNCS__.push(applyRelocs)}}var init=moduleExports["__wasm_call_ctors"];if(init){if(runtimeInitialized){init()}else{addOnPostCtor(init)}}return moduleExports}if(flags.loadAsync){return(async()=>{var instance;if(binary instanceof WebAssembly.Module){instance=new WebAssembly.Instance(binary,info)}else{({module:binary,instance}=await WebAssembly.instantiate(binary,info))}return postInstantiation(binary,instance)})()}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary);var instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}};if(flags.loadAsync){return metadata.neededDynlibs.reduce((chain,needed)=>chain.then(()=>{needed=findLibraryFS(needed,flags.rpath)??needed;return loadDynamicLibrary(needed,flags,localScope)}),Promise.resolve()).then(loadModule)}metadata.neededDynlibs.forEach(needed=>{needed=findLibraryFS(needed,flags.rpath)??needed;return loadDynamicLibrary(needed,flags,localScope)});return loadModule()};var mergeLibSymbols=(exports,libName)=>{for(var[sym,exp]of Object.entries(exports)){const setImport=target=>{if(!isSymbolDefined(target)){wasmImports[target]=exp}};setImport(sym);const main_alias="__main_argc_argv";if(sym=="main"){setImport(main_alias)}if(sym==main_alias){setImport("main")}}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var preloadPlugins=[];var registerWasmPlugin=()=>{var wasmPlugin={promiseChainEnd:Promise.resolve(),canHandle:name=>!Module["noWasmDecoding"]&&name.endsWith(".so"),handle:(byteArray,name,onload,onerror)=>{wasmPlugin["promiseChainEnd"]=wasmPlugin["promiseChainEnd"].then(()=>loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true},name,{})).then(exports=>{preloadedWasm[name]=exports;onload(byteArray)},error=>{err(`failed to instantiate wasm: ${name}: ${error}`);onerror()})}};preloadPlugins.push(wasmPlugin)};var preloadedWasm={};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var replaceORIGIN=(parentLibName,rpath)=>{if(rpath.startsWith("$ORIGIN")){var origin=PATH.dirname(parentLibName);return rpath.replace("$ORIGIN",origin)}return rpath};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}}heap[outIdx>>>0]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var base64Decode=b64=>{if(ENVIRONMENT_IS_NODE){var buf=Buffer.from(b64,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}var b1,b2,i=0,j=0,bLength=b64.length;var output=new Uint8Array((bLength*3>>2)-(b64[bLength-2]=="=")-(b64[bLength-1]=="="));for(;i>4;output[j+1]=b1<<4|b2>>2;output[j+2]=b2<<6|base64ReverseLookup[b64.charCodeAt(i+3)]}return output};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require("crypto");return view=>nodeCrypto.randomFillSync(view)}if(ENVIRONMENT_IS_SHELL){return view=>{if(!os.system){throw new Error("randomFill not supported on d8 unless --enable-os-system is passed")}const b64=os.system("sh",["-c",`head -c${view.byteLength} /dev/urandom | base64 --wrap=0`]);view.set(base64Decode(b64))}}return view=>crypto.getRandomValues(view)};var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){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(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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,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 node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length>>0)}}return{ptr,allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops={...mnt.node_ops};mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops={...node.stream_ops};node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db,entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(key=>{var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(key=>{if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};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};var NODEFS={isWindows:false,staticInit(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process.binding("constants")["fs"];NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],256:flags["O_NOCTTY"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"],131072:flags["O_NOFOLLOW"]}},convertNodeCode(e){var code=e.code;return ERRNO_CODES[code]},tryFSOperation(f){try{return f()}catch(e){if(!e.code)throw e;if(e.code==="UNKNOWN")throw new FS.ErrnoError(28);throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},mount(mount){return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(28)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode(path){return NODEFS.tryFSOperation(()=>{var mode=fs.lstatSync(path).mode;if(NODEFS.isWindows){mode|=(mode&292)>>2}return mode})},realPath(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join(...parts)},flagsForNode(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;flags&=~65536;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(flags){throw new FS.ErrnoError(28)}return newFlags},getattr(func,node){var stat=NODEFS.tryFSOperation(func);if(NODEFS.isWindows){if(!stat.blksize){stat.blksize=4096}if(!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}stat.mode|=(stat.mode&292)>>2}return{dev:stat.dev,ino:node.id,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr(arg,node,attr,chmod,utimes,truncate,stat){NODEFS.tryFSOperation(()=>{if(attr.mode!==undefined){var mode=attr.mode;if(NODEFS.isWindows){mode&=384}chmod(arg,mode);node.mode=attr.mode}if(typeof(attr.atime??attr.mtime)==="number"){var atime=new Date(attr.atime??stat(arg).atime);var mtime=new Date(attr.mtime??stat(arg).mtime);utimes(arg,atime,mtime)}if(attr.size!==undefined){truncate(arg,attr.size)}})},node_ops:{getattr(node){var path=NODEFS.realPath(node);return NODEFS.getattr(()=>fs.lstatSync(path),node)},setattr(node,attr){var path=NODEFS.realPath(node);if(attr.mode!=null&&attr.dontFollow){throw new FS.ErrnoError(52)}NODEFS.setattr(path,node,attr,fs.chmodSync,fs.utimesSync,fs.truncateSync,fs.lstatSync)},lookup(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);NODEFS.tryFSOperation(()=>{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}});return node},rename(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{FS.unlink(newPath)}catch(e){}NODEFS.tryFSOperation(()=>fs.renameSync(oldPath,newPath));oldNode.name=newName},unlink(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);NODEFS.tryFSOperation(()=>fs.unlinkSync(path))},rmdir(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);NODEFS.tryFSOperation(()=>fs.rmdirSync(path))},readdir(node){var path=NODEFS.realPath(node);return NODEFS.tryFSOperation(()=>fs.readdirSync(path))},symlink(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);NODEFS.tryFSOperation(()=>fs.symlinkSync(oldPath,newPath))},readlink(node){var path=NODEFS.realPath(node);return NODEFS.tryFSOperation(()=>fs.readlinkSync(path))},statfs(path){var stats=NODEFS.tryFSOperation(()=>fs.statfsSync(path));stats.frsize=stats.bsize;return stats}},stream_ops:{getattr(stream){return NODEFS.getattr(()=>fs.fstatSync(stream.nfd),stream.node)},setattr(stream,attr){NODEFS.setattr(stream.nfd,stream.node,attr,fs.fchmodSync,fs.futimesSync,fs.ftruncateSync,fs.fstatSync)},open(stream){var path=NODEFS.realPath(stream.node);NODEFS.tryFSOperation(()=>{stream.shared.refcount=1;stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))})},close(stream){NODEFS.tryFSOperation(()=>{if(stream.nfd&&--stream.shared.refcount===0){fs.closeSync(stream.nfd)}})},dup(stream){stream.shared.refcount++},read(stream,buffer,offset,length,position){return NODEFS.tryFSOperation(()=>fs.readSync(stream.nfd,new Int8Array(buffer.buffer,offset,length),0,length,position))},write(stream,buffer,offset,length,position){return NODEFS.tryFSOperation(()=>fs.writeSync(stream.nfd,new Int8Array(buffer.buffer,offset,length),0,length,position))},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){NODEFS.tryFSOperation(()=>{var stat=fs.fstatSync(stream.nfd);position+=stat.size})}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr=mmapAlloc(length);NODEFS.stream_ops.read(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}},msync(stream,buffer,offset,length,mmapFlags){NODEFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount(mount){assert(ENVIRONMENT_IS_WORKER);WORKERFS.reader??=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i{WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(pack=>{pack["metadata"].files.forEach(file=>{var name=file.filename.slice(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.atime=node.mtime=node.ctime=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr(node){return{dev:1,ino:node.id,mode:node.mode,nlink:1,uid:0,gid:0,rdev:0,size:node.size,atime:new Date(node.atime),mtime:new Date(node.mtime),ctime:new Date(node.ctime),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}},lookup(parent,name){throw new FS.ErrnoError(44)},mknod(parent,name,mode,dev){throw new FS.ErrnoError(63)},rename(oldNode,newDir,newName){throw new FS.ErrnoError(63)},unlink(parent,name){throw new FS.ErrnoError(63)},rmdir(parent,name){throw new FS.ErrnoError(63)},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newName,oldPath){throw new FS.ErrnoError(63)}},stream_ops:{read(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write(stream,buffer,offset,length,position){throw new FS.ErrnoError(29)},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(28)}return position}}};var PROXYFS={mount(mount){return PROXYFS.createNode(null,"/",mount.opts.fs.lstat(mount.opts.root).mode,0)},createNode(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=PROXYFS.node_ops;node.stream_ops=PROXYFS.stream_ops;return node},realPath(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join(...parts)},node_ops:{getattr(node){var path=PROXYFS.realPath(node);var stat;try{stat=node.mount.opts.fs.lstat(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr(node,attr){var path=PROXYFS.realPath(node);try{if(attr.mode!==undefined){node.mount.opts.fs.chmod(path,attr.mode);node.mode=attr.mode}if(attr.atime||attr.mtime){var atime=new Date(attr.atime||attr.mtime);var mtime=new Date(attr.mtime||attr.atime);node.mount.opts.fs.utime(path,atime,mtime)}if(attr.size!==undefined){node.mount.opts.fs.truncate(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup(parent,name){try{var path=PATH.join2(PROXYFS.realPath(parent),name);var mode=parent.mount.opts.fs.lstat(path).mode;var node=PROXYFS.createNode(parent,name,mode);return node}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},mknod(parent,name,mode,dev){var node=PROXYFS.createNode(parent,name,mode,dev);var path=PROXYFS.realPath(node);try{if(FS.isDir(node.mode)){node.mount.opts.fs.mkdir(path,node.mode)}else{node.mount.opts.fs.writeFile(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node},rename(oldNode,newDir,newName){var oldPath=PROXYFS.realPath(oldNode);var newPath=PATH.join2(PROXYFS.realPath(newDir),newName);try{oldNode.mount.opts.fs.rename(oldPath,newPath);oldNode.name=newName}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.unlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.rmdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink(parent,newName,oldPath){var newPath=PATH.join2(PROXYFS.realPath(parent),newName);try{parent.mount.opts.fs.symlink(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open(stream){var path=PROXYFS.realPath(stream.node);try{stream.nfd=stream.node.mount.opts.fs.open(path,stream.flags)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close(stream){try{stream.node.mount.opts.fs.close(stream.nfd)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.read(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},write(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.write(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=stream.node.node_ops.getattr(stream.node);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};var LZ4={DIR_MODE:16895,FILE_MODE:33279,CHUNK_SIZE:-1,codec:null,init(){if(LZ4.codec)return;LZ4.codec=(()=>{var MiniLZ4=function(){var exports={};exports.uncompress=function(input,output,sIdx,eIdx){sIdx=sIdx||0;eIdx=eIdx||input.length-sIdx;for(var i=sIdx,n=eIdx,j=0;i>4;if(literals_length>0){var l=literals_length+240;while(l===255){l=input[i++];literals_length+=l}var end=i+literals_length;while(ij)return-(i-2);var match_length=token&15;var l=match_length+240;while(l===255){l=input[i++];match_length+=l}var pos=j-offset;var end=j+match_length+4;while(jmaxInputSize?0:isize+isize/255+16|0};exports.compress=function(src,dst,sIdx,eIdx){hashTable.set(empty);return compressBlock(src,dst,0,sIdx||0,eIdx||dst.length)};function compressBlock(src,dst,pos,sIdx,eIdx){var dpos=sIdx;var dlen=eIdx-sIdx;var anchor=0;if(src.length>=maxInputSize)throw new Error("input too large");if(src.length>mfLimit){var n=exports.compressBound(src.length);if(dlen>>hashShift;var ref=hashTable[hash]-1;hashTable[hash]=pos+1;if(ref<0||pos-ref>>>16>0||((src[ref+3]<<8|src[ref+2])!=sequenceHighBits||(src[ref+1]<<8|src[ref])!=sequenceLowBits)){step=findMatchAttempts++>>skipStrength;pos+=step;continue}findMatchAttempts=(1<=runMask){dst[dpos++]=(runMask<254;len-=255){dst[dpos++]=255}dst[dpos++]=len}else{dst[dpos++]=(literals_length<>8;if(match_length>=mlMask){match_length-=mlMask;while(match_length>=255){match_length-=255;dst[dpos++]=255}dst[dpos++]=match_length}anchor=pos}}if(anchor==0)return 0;literals_length=src.length-anchor;if(literals_length>=runMask){dst[dpos++]=runMask<254;ln-=255){dst[dpos++]=255}dst[dpos++]=ln}else{dst[dpos++]=literals_length<0){assert(compressedSize<=bound);compressed=compressed.subarray(0,compressedSize);compressedChunks.push(compressed);total+=compressedSize;successes.push(1);if(verify){var back=exports.uncompress(compressed,temp);assert(back===chunk.length,[back,chunk.length]);for(var i=0;i{var dir=PATH.dirname(file.filename);var name=PATH.basename(file.filename);FS.createPath("",dir,true,true);var parent=FS.analyzePath(dir).object;LZ4.createNode(parent,name,LZ4.FILE_MODE,0,{compressedData,start:file.start,end:file.end})});if(preloadPlugin){Browser.init();pack["metadata"].files.forEach(file=>{var handled=false;var fullname=file.filename;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){var dep=getUniqueRunDependency("fp "+fullname);addRunDependency(dep);var finish=()=>removeRunDependency(dep);var byteArray=FS.readFile(fullname);plugin["handle"](byteArray,fullname,finish,finish);handled=true}})})}},createNode(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=LZ4.node_ops;node.stream_ops=LZ4.stream_ops;this.atime=this.mtime=this.ctime=(mtime||new Date).getTime();assert(LZ4.FILE_MODE!==LZ4.DIR_MODE);if(mode===LZ4.FILE_MODE){node.size=contents.end-contents.start;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr(node){return{dev:1,ino:node.id,mode:node.mode,nlink:1,uid:0,gid:0,rdev:0,size:node.size,atime:new Date(node.atime),mtime:new Date(node.mtime),ctime:new Date(node.ctime),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]){node[key]=attr[key]}}},lookup(parent,name){throw new FS.ErrnoError(44)},mknod(parent,name,mode,dev){throw new FS.ErrnoError(63)},rename(oldNode,newDir,newName){throw new FS.ErrnoError(63)},unlink(parent,name){throw new FS.ErrnoError(63)},rmdir(parent,name){throw new FS.ErrnoError(63)},readdir(node){throw new FS.ErrnoError(63)},symlink(parent,newName,oldPath){throw new FS.ErrnoError(63)}},stream_ops:{read(stream,buffer,offset,length,position){length=Math.min(length,stream.node.size-position);if(length<=0)return 0;var contents=stream.node.contents;var compressedData=contents.compressedData;var written=0;while(written=0){currChunk=compressedData["cachedChunks"][found]}else{compressedData["cachedIndexes"].pop();compressedData["cachedIndexes"].unshift(chunkIndex);currChunk=compressedData["cachedChunks"].pop();compressedData["cachedChunks"].unshift(currChunk);if(compressedData["debug"]){out("decompressing chunk "+chunkIndex);Module["decompressedChunks"]=(Module["decompressedChunks"]||0)+1}var compressed=compressedData["data"].subarray(compressedStart,compressedStart+compressedSize);var originalSize=LZ4.codec.uncompress(compressed,currChunk);if(chunkIndex!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;if(FS.trackingDelegate["onMakeDirectory"]){FS.trackingDelegate["onMakeDirectory"](path,mode)}return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}if(FS.trackingDelegate["onMakeSymlink"]){FS.trackingDelegate["onMakeSymlink"](oldpath,newpath)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}if(FS.trackingDelegate["onMovePath"]){FS.trackingDelegate["onMovePath"](old_path,new_path)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);if(FS.trackingDelegate["onDeletePath"]){FS.trackingDelegate["onDeletePath"](path)}},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);if(FS.trackingDelegate["onDeletePath"]){FS.trackingDelegate["onDeletePath"](path)}},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}var trackingFlags=flags;flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){if(!(path in FS.readFiles)){FS.readFiles[path]=1;dbg(`FS.trackingDelegate error on read file: ${path}`)}}if(FS.trackingDelegate["onOpenFile"]){FS.trackingDelegate["onOpenFile"](path,trackingFlags)}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null;if(stream.path&&FS.trackingDelegate["onCloseFile"]){FS.trackingDelegate["onCloseFile"](stream.path)}},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];if(stream.path&&FS.trackingDelegate["onSeekFile"]){FS.trackingDelegate["onSeekFile"](stream.path,stream.position,whence)}return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;if(stream.path&&FS.trackingDelegate["onReadFile"]){FS.trackingDelegate["onReadFile"](stream.path,bytesRead)}return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;if(stream.path&&FS.trackingDelegate["onWriteToFile"]){FS.trackingDelegate["onWriteToFile"](stream.path,bytesWritten)}return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.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:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});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 randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS,IDBFS,NODEFS,WORKERFS,PROXYFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;_fflush(0);for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var findLibraryFS=(libName,rpath)=>{if(!runtimeInitialized){return undefined}if(PATH.isAbs(libName)){try{FS.lookupPath(libName);return libName}catch(e){return undefined}}var rpathResolved=(rpath?.paths||[]).map(p=>replaceORIGIN(rpath?.parentLibPath,p));return withStackSave(()=>{var bufSize=2*255+2;var buf=stackAlloc(bufSize);var rpathC=stringToUTF8OnStack(rpathResolved.join(":"));var libNameC=stringToUTF8OnStack(libName);var resLibNameC=__emscripten_find_dylib(buf,rpathC,libNameC,bufSize);return resLibNameC?UTF8ToString(resLibNameC):undefined})};function loadDynamicLibrary(libName,flags={global:true,nodelete:true},localScope,handle){var dso=LDSO.loadedLibsByName[libName];if(dso){if(!flags.global){if(localScope){Object.assign(localScope,dso.exports)}}else if(!dso.global){dso.global=true;mergeLibSymbols(dso.exports,libName)}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;if(handle){LDSO.loadedLibsByHandle[handle]=dso}return flags.loadAsync?Promise.resolve(true):true}dso=newDSO(libName,handle,"loading");dso.refcount=flags.nodelete?Infinity:1;dso.global=flags.global;function loadLibData(){if(handle){var data=HEAPU32[handle+28>>>2>>>0];var dataSize=HEAPU32[handle+32>>>2>>>0];if(data&&dataSize){var libData=HEAP8.slice(data,data+dataSize);return flags.loadAsync?Promise.resolve(libData):libData}}var f=findLibraryFS(libName,flags.rpath);if(f){var libData=FS.readFile(f,{encoding:"binary"});return flags.loadAsync?Promise.resolve(libData):libData}var libFile=locateFile(libName);if(flags.loadAsync){return asyncLoad(libFile)}if(!readBinary){throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`)}return readBinary(libFile)}function getExports(){var preloaded=preloadedWasm[libName];if(preloaded){return flags.loadAsync?Promise.resolve(preloaded):preloaded}if(flags.loadAsync){return loadLibData().then(libData=>loadWebAssemblyModule(libData,flags,libName,localScope,handle))}return loadWebAssemblyModule(loadLibData(),flags,libName,localScope,handle)}function moduleLoaded(exports){if(dso.global){mergeLibSymbols(exports,libName)}else if(localScope){Object.assign(localScope,exports)}dso.exports=exports}if(flags.loadAsync){return getExports().then(exports=>{moduleLoaded(exports);return true})}moduleLoaded(getExports());return true}var reportUndefinedSymbols=()=>{for(var[symName,entry]of Object.entries(GOT)){if(entry.value==0){var value=resolveGlobalSymbol(symName,true).sym;if(!value&&!entry.required){continue}if(typeof value=="function"){entry.value=addFunction(value,value.sig)}else if(typeof value=="number"){entry.value=value}else{throw new Error(`bad export type for '${symName}': ${typeof value}`)}}}};var loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs");dynamicLibraries.reduce((chain,lib)=>chain.then(()=>loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true,allowUndefined:true})),Promise.resolve()).then(()=>{reportUndefinedSymbols();removeRunDependency("loadDylibs")})};var noExitRuntime=false;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>>0]=value;break;case"i8":HEAP8[ptr>>>0]=value;break;case"i16":HEAP16[ptr>>>1>>>0]=value;break;case"i32":HEAP32[ptr>>>2>>>0]=value;break;case"i64":HEAP64[ptr>>>3>>>0]=BigInt(value);break;case"float":HEAPF32[ptr>>>2>>>0]=value;break;case"double":HEAPF64[ptr>>>3>>>0]=value;break;case"*":HEAPU32[ptr>>>2>>>0]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___assert_fail(condition,filename,line,func){condition>>>=0;filename>>>=0;func>>>=0;return abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}___assert_fail.sig="vppip";var ___c_longjmp=new WebAssembly.Tag({parameters:["i32"]});function ___call_sighandler(fp,sig){fp>>>=0;return getWasmTableEntry(fp)(sig)}___call_sighandler.sig="vpi";var ___cpp_exception=new WebAssembly.Tag({parameters:["i32"]});var ___memory_base=new WebAssembly.Global({value:"i32",mutable:false},1024);var ___stack_high=8809120;var ___stack_low=3566240;var ___stack_pointer=new WebAssembly.Global({value:"i32",mutable:true},8809120);var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>>2>>>0]=stat.dev;HEAP32[buf+4>>>2>>>0]=stat.mode;HEAPU32[buf+8>>>2>>>0]=stat.nlink;HEAP32[buf+12>>>2>>>0]=stat.uid;HEAP32[buf+16>>>2>>>0]=stat.gid;HEAP32[buf+20>>>2>>>0]=stat.rdev;HEAP64[buf+24>>>3>>>0]=BigInt(stat.size);HEAP32[buf+32>>>2>>>0]=4096;HEAP32[buf+36>>>2>>>0]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>>3>>>0]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>>2>>>0]=atime%1e3*1e3*1e3;HEAP64[buf+56>>>3>>>0]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>>2>>>0]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>>3>>>0]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>>2>>>0]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>>3>>>0]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAP32[buf+4>>>2>>>0]=stats.bsize;HEAP32[buf+40>>>2>>>0]=stats.bsize;HEAP32[buf+8>>>2>>>0]=stats.blocks;HEAP32[buf+12>>>2>>>0]=stats.bfree;HEAP32[buf+16>>>2>>>0]=stats.bavail;HEAP32[buf+20>>>2>>>0]=stats.files;HEAP32[buf+24>>>2>>>0]=stats.ffree;HEAP32[buf+28>>>2>>>0]=stats.fsid;HEAP32[buf+44>>>2>>>0]=stats.flags;HEAP32[buf+36>>>2>>>0]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var ___syscall__newselect=function(nfds,readfds,writefds,exceptfds,timeout){readfds>>>=0;writefds>>>=0;exceptfds>>>=0;timeout>>>=0;try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>>2>>>0]:0,srcReadHigh=readfds?HEAP32[readfds+4>>>2>>>0]:0;var srcWriteLow=writefds?HEAP32[writefds>>>2>>>0]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>>2>>>0]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>>2>>>0]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>>2>>>0]:0)|(writefds?HEAP32[writefds>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds>>>2>>>0]:0);var allHigh=(readfds?HEAP32[readfds+4>>>2>>>0]:0)|(writefds?HEAP32[writefds+4>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0);var check=(fd,low,high,val)=>fd<32?low&val:high&val;for(var fd=0;fd>>2>>>0]:0,tv_usec=readfds?HEAP32[timeout+4>>>2>>>0]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>>2>>>0]=dstReadLow;HEAP32[readfds+4>>>2>>>0]=dstReadHigh}if(writefds){HEAP32[writefds>>>2>>>0]=dstWriteLow;HEAP32[writefds+4>>>2>>>0]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>>2>>>0]=dstExceptLow;HEAP32[exceptfds+4>>>2>>>0]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(event,callback){SOCKFS.callbacks[event]=callback},emit(event,param){SOCKFS.callbacks[event]?.(param)},mount(mount){SOCKFS.websocketArgs=Module["websocket"]||{};(Module["websocket"]??={})["on"]=SOCKFS.on;return FS.createNode(null,"/",16895,0)},createSocket(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family,type,protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var url="ws://".replace("#","//");var subProtocols="binary";var opts=undefined;if(SOCKFS.websocketArgs["url"]){url=SOCKFS.websocketArgs["url"]}if(SOCKFS.websocketArgs["subprotocol"]){subProtocols=SOCKFS.websocketArgs["subprotocol"]}else if(SOCKFS.websocketArgs["subprotocol"]===null){subProtocols="null"}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr,port,socket:ws,msg_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.msg_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){sock.connecting=false;SOCKFS.emit("open",sock.stream.fd);try{var queued=peer.msg_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.msg_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data});SOCKFS.emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){SOCKFS.emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){SOCKFS.emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){if(sock.connecting){mask|=4}else{mask|=16}}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>>2>>>0]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}for(var peer of Object.values(sock.peers)){try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind(sock,addr,port){if(typeof sock.saddr!="undefined"||typeof sock.sport!="undefined"){throw new FS.ErrnoError(28)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e.name==="ErrnoError"))throw e;if(e.errno!==138)throw e}}},connect(sock,addr,port){if(sock.server){throw new FS.ErrnoError(138)}if(typeof sock.daddr!="undefined"&&typeof sock.dport!="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(7)}else{throw new FS.ErrnoError(30)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;sock.connecting=true},listen(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}if(sock.server){throw new FS.ErrnoError(28)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host,port:sock.sport});SOCKFS.emit("listen",sock.stream.fd);sock.server.on("connection",function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);SOCKFS.emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);SOCKFS.emit("connection",sock.stream.fd)}});sock.server.on("close",function(){SOCKFS.emit("close",sock.stream.fd);sock.server=null});sock.server.on("error",function(error){sock.error=23;SOCKFS.emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])})},accept(listensock){if(!listensock.server||!listensock.pending.length){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(53)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr,port}},sendmsg(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(17)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(53)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data=buffer.slice(offset,offset+length);if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(sock.type===2){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}}dest.msg_send_queue.push(data);return length}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(53)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(53)}if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var inetPton6=str=>{var words;var w,offset,z,i;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=Number(words[words.length-4])+Number(words[words.length-3])*256;words[words.length-3]=Number(words[words.length-2])+Number(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>>2>>>0]=16}HEAP16[sa>>>1>>>0]=family;HEAP32[sa+4>>>2>>>0]=addr;HEAP16[sa+2>>>1>>>0]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>>2>>>0]=28}HEAP32[sa>>>2>>>0]=family;HEAP32[sa+8>>>2>>>0]=addr[0];HEAP32[sa+12>>>2>>>0]=addr[1];HEAP32[sa+16>>>2>>>0]=addr[2];HEAP32[sa+20>>>2>>>0]=addr[3];HEAP16[sa+2>>>1>>>0]=_htons(port);break;default:return 5}return 0};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function ___syscall_accept4(fd,addr,addrlen,flags,d1,d2){addr>>>=0;addrlen>>>=0;try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen)}return newsock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_accept4.sig="iippiii";var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>>1>>>0];var port=_ntohs(HEAPU16[sa+2>>>1>>>0]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>>2>>>0];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>>2>>>0],HEAP32[sa+12>>>2>>>0],HEAP32[sa+16>>>2>>>0],HEAP32[sa+20>>>2>>>0]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family,addr,port}};var getSocketAddress=(addrp,addrlen)=>{var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(path){path>>>=0;try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(path,mode){path>>>=0;try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(fd){try{var old=SYSCALLS.getStreamFromFD(fd);return FS.dupStream(old).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(fd,newfd,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===newfd)return-28;if(newfd<0||newfd>=FS.MAX_OPEN_FDS)return-8;var existing=FS.getStream(newfd);if(existing)FS.close(existing);return FS.dupStream(old,newfd).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(fd,offset,len,advice)=>0;___syscall_fadvise64.sig="iijji";function ___syscall_fallocate(fd,mode,offset,len){offset=bigintToI53Checked(offset);len=bigintToI53Checked(len);try{if(isNaN(offset)||isNaN(len))return-61;if(mode!=0){return-138}if(offset<0||len<0){return-28}var oldSize=FS.fstat(fd).size;var newSize=offset+len;if(newSize>oldSize){FS.ftruncate(fd,newSize)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fallocate.sig="iiijj";function ___syscall_fchdir(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.chdir(stream.path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchdir.sig="ii";function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmod.sig="iii";function ___syscall_fchmodat2(dirfd,path,mode,flags){path>>>=0;try{var nofollow=flags&256;path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.chmod(path,mode,nofollow);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchmodat2.sig="iipii";function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchown32.sig="iiii";function ___syscall_fchownat(dirfd,path,owner,group,flags){path>>>=0;try{path=SYSCALLS.getStr(path);var nofollow=flags&256;flags=flags&~256;path=SYSCALLS.calculateAt(dirfd,path);(nofollow?FS.lchown:FS.chown)(path,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fchownat.sig="iipiii";var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>>2>>>0];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>>1>>>0]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(fd,buf){buf>>>=0;try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstat64.sig="iip";function ___syscall_fstatfs64(fd,size,buf){size>>>=0;buf>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);SYSCALLS.writeStatFs(buf,FS.statfsStream(stream));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ftruncate64.sig="iij";function ___syscall_getcwd(buf,size){buf>>>=0;size>>>=0;try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>=0;count>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx>>3>>>0]=BigInt(id);HEAP64[dirp+pos+8>>>3>>>0]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>>1>>>0]=280;HEAP8[dirp+pos+18>>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getdents64.sig="iipp";function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;try{var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;try{var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){optval>>>=0;optlen>>>=0;try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>>2>>>0]=sock.error;HEAP32[optlen>>>2>>>0]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(fd,op,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>>2>>>0]=termios.c_iflag||0;HEAP32[argp+4>>>2>>>0]=termios.c_oflag||0;HEAP32[argp+8>>>2>>>0]=termios.c_cflag||0;HEAP32[argp+12>>>2>>>0]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>>2>>>0];var c_oflag=HEAP32[argp+4>>>2>>>0];var c_cflag=HEAP32[argp+8>>>2>>>0];var c_lflag=HEAP32[argp+12>>>2>>>0];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>>2>>>0]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>>1>>>0]=winsize[0];HEAP16[argp+2>>>1>>>0]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_ioctl.sig="iiip";function ___syscall_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(dirfd,path,mode){path>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(dirfd,path,mode,dev){path>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2,timestamp:new Date};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{getattr(stream){var node=stream.node;var timestamp=node.pipe.timestamp;return{dev:14,ino:node.id,mode:4480,nlink:1,uid:0,gid:0,rdev:0,size:0,atime:timestamp,mtime:timestamp,ctime:timestamp,blksize:4096,blocks:0}},poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}for(var bucket of pipe.buckets){if(bucket.offset-bucket.roffset>0){return 64|1}}return 0},dup(stream){stream.node.pipe.refcnt++},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var bucket of pipe.buckets){currentLength+=bucket.offset-bucket.roffset}var data=buffer.subarray(offset,offset+length);if(length<=0){return 0}if(currentLength==0){throw new FS.ErrnoError(6)}var toRead=Math.min(currentLength,length);var totalRead=toRead;var toRemove=0;for(var bucket of pipe.buckets){var bucketSize=bucket.offset-bucket.roffset;if(toRead<=bucketSize){var tmpSlice=bucket.buffer.subarray(bucket.roffset,bucket.offset);if(toRead=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){fdPtr>>>=0;try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>>2>>>0]=res.readable_fd;HEAP32[fdPtr+4>>>2>>>0]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(fds,nfds,timeout){fds>>>=0;try{var nonzero=0;for(var i=0;i>>2>>>0];var events=HEAP16[pollfd+4>>>1>>>0];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>>1>>>0]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(dirfd,path,buf,bufsize){path>>>=0;buf>>>=0;bufsize>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len>>>0];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len>>>0]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){buf>>>=0;len>>>=0;addr>>>=0;addrlen>>>=0;try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf>>>0);return msg.buffer.byteLength}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(fd,message,flags,d1,d2,d3){message>>>=0;try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>>2>>>0];var num=HEAP32[message+12>>>2>>>0];var total=0;for(var i=0;i>>2>>>0]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAPU32[message>>>2>>>0];if(name){var errno=writeSockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>>2>>>0];var iovlen=HEAP32[iov+(8*i+4)>>>2>>>0];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead>>>0);bytesRead+=length;bytesRemaining-=length}return bytesRead}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){oldpath>>>=0;newpath>>>=0;try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(path){path>>>=0;try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendmsg(fd,message,flags,d1,d2,d3){message>>>=0;d1>>>=0;d2>>>=0;try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>>2>>>0];var num=HEAP32[message+12>>>2>>>0];var addr,port;var name=HEAPU32[message>>>2>>>0];var namelen=HEAP32[message+4>>>2>>>0];if(name){var info=getSocketAddress(name,namelen);port=info.port;addr=info.addr}var total=0;for(var i=0;i>>2>>>0]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>>2>>>0];var iovlen=HEAP32[iov+(8*i+4)>>>2>>>0];for(var j=0;j>>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_sendmsg.sig="iipippi";function ___syscall_sendto(fd,message,length,flags,addr,addr_len){message>>>=0;length>>>=0;addr>>>=0;addr_len>>>=0;try{var sock=getSocketFromFD(fd);if(!addr){return FS.write(sock.stream,HEAP8,message,length)}var dest=getSocketAddress(addr,addr_len);return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_sendto.sig="iippipp";function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_socket.sig="iiiiiii";function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_stat64.sig="ipp";function ___syscall_statfs64(path,size,buf){path>>>=0;size>>>=0;buf>>>=0;try{SYSCALLS.writeStatFs(buf,FS.statfs(SYSCALLS.getStr(path)));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_statfs64.sig="ippp";function ___syscall_symlinkat(target,dirfd,linkpath){target>>>=0;linkpath>>>=0;try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);linkpath=SYSCALLS.calculateAt(dirfd,linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_symlinkat.sig="ipip";function ___syscall_truncate64(path,length){path>>>=0;length=bigintToI53Checked(length);try{if(isNaN(length))return-61;path=SYSCALLS.getStr(path);FS.truncate(path,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_truncate64.sig="ipj";function ___syscall_unlinkat(dirfd,path,flags){path>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(!flags){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{return-28}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_unlinkat.sig="iipi";var readI53FromI64=ptr=>HEAPU32[ptr>>>2>>>0]+HEAP32[ptr+4>>>2>>>0]*4294967296;function ___syscall_utimensat(dirfd,path,times,flags){path>>>=0;times>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);var now=Date.now(),atime,mtime;if(!times){atime=now;mtime=now}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>>2>>>0];if(nanoseconds==1073741823){atime=now}else if(nanoseconds==1073741822){atime=null}else{atime=seconds*1e3+nanoseconds/(1e3*1e3)}times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>>2>>>0];if(nanoseconds==1073741823){mtime=now}else if(nanoseconds==1073741822){mtime=null}else{mtime=seconds*1e3+nanoseconds/(1e3*1e3)}}if((mtime??atime)!==null){FS.utime(path,atime,mtime)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:false},1);var __abort_js=()=>abort("");__abort_js.sig="v";var dlSetError=msg=>{var sp=stackSave();var cmsg=stringToUTF8OnStack(msg);___dl_seterr(cmsg,0);stackRestore(sp)};var dlopenInternal=(handle,jsflags)=>{var filename=UTF8ToString(handle+36);var flags=HEAP32[handle+4>>>2>>>0];filename=PATH.normalize(filename);var searchpaths=[];var global=Boolean(flags&256);var localScope=global?null:{};var combinedFlags={global,nodelete:Boolean(flags&4096),loadAsync:jsflags.loadAsync};if(jsflags.loadAsync){return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}try{return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}catch(e){dlSetError(`Could not load dynamic lib: ${filename}\n${e}`);return 0}};function __dlopen_js(handle){handle>>>=0;return dlopenInternal(handle,{loadAsync:false})}__dlopen_js.sig="pp";function __dlsym_js(handle,symbol,symbolIndex){handle>>>=0;symbol>>>=0;symbolIndex>>>=0;symbol=UTF8ToString(symbol);var result;var newSymIndex;var lib=LDSO.loadedLibsByHandle[handle];if(!lib.exports.hasOwnProperty(symbol)||lib.exports[symbol].stub){dlSetError(`Tried to lookup unknown symbol "${symbol}" in dynamic lib: ${lib.name}`);return 0}newSymIndex=Object.keys(lib.exports).indexOf(symbol);result=lib.exports[symbol];if(typeof result=="function"){var addr=getFunctionAddress(result);if(addr){result=addr}else{result=addFunction(result,result.sig);HEAPU32[symbolIndex>>>2>>>0]=newSymIndex}}return result}__dlsym_js.sig="pppp";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};_proc_exit.sig="vi";var exitJS=(status,implicit)=>{EXITSTATUS=status;if(!keepRuntimeAlive()){exitRuntime()}_proc_exit(status)};var _exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(runtimeExited){return}if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(runtimeExited||ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";function __emscripten_dlopen_js(handle,onsuccess,onerror,user_data){handle>>>=0;onsuccess>>>=0;onerror>>>=0;user_data>>>=0;function errorCallback(e){var filename=UTF8ToString(handle+36);dlSetError(`'Could not load dynamic lib: ${filename}\n${e}`);runtimeKeepalivePop();callUserCallback(()=>getWasmTableEntry(onerror)(handle,user_data))}function successCallback(){runtimeKeepalivePop();callUserCallback(()=>getWasmTableEntry(onsuccess)(handle,user_data))}runtimeKeepalivePush();var promise=dlopenInternal(handle,{loadAsync:true});if(promise){promise.then(successCallback,errorCallback)}else{errorCallback()}}__emscripten_dlopen_js.sig="vpppp";var getExecutableName=()=>thisProgram||"./this.program";function __emscripten_get_progname(str,len){str>>>=0;return stringToUTF8(getExecutableName(),str,len)}__emscripten_get_progname.sig="vpi";function __emscripten_lookup_name(name){name>>>=0;var nameString=UTF8ToString(name);return inetPton4(DNS.lookup_name(nameString))}__emscripten_lookup_name.sig="ip";var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";function __emscripten_system(command){command>>>=0;if(ENVIRONMENT_IS_NODE){if(!command)return 1;var cmdstr=UTF8ToString(command);if(!cmdstr.length)return 0;var cp=require("child_process");var ret=cp.spawnSync(cmdstr,[],{shell:true,stdio:"inherit"});var _W_EXITCODE=(ret,sig)=>ret<<8|sig;if(ret.status===null){var signalToNumber=sig=>{switch(sig){case"SIGHUP":return 1;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15;default:return 2}};return _W_EXITCODE(0,signalToNumber(ret.signal))}return _W_EXITCODE(ret.status,0)}if(!command)return 0;return-52}__emscripten_system.sig="ip";function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getUTCSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getUTCMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getUTCHours();HEAP32[tmPtr+12>>>2>>>0]=date.getUTCDate();HEAP32[tmPtr+16>>>2>>>0]=date.getUTCMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>>2>>>0]=yday}__gmtime_js.sig="vjp";var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr+36>>>2>>>0]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>>2>>>0]=dst}__localtime_js.sig="vjp";var __mktime_js=function(tmPtr){tmPtr>>>=0;var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>>2>>>0]+1900,HEAP32[tmPtr+16>>>2>>>0],HEAP32[tmPtr+12>>>2>>>0],HEAP32[tmPtr+8>>>2>>>0],HEAP32[tmPtr+4>>>2>>>0],HEAP32[tmPtr>>>2>>>0],0);var dst=HEAP32[tmPtr+32>>>2>>>0];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>>2>>>0]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>>2>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return BigInt(ret)};__mktime_js.sig="jp";function __mmap_js(len,prot,flags,fd,offset,allocated,addr){len>>>=0;offset=bigintToI53Checked(offset);allocated>>>=0;addr>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>>2>>>0]=res.allocated;HEAPU32[addr>>>2>>>0]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__mmap_js.sig="ipiiijpp";function __msync_js(addr,len,prot,flags,fd,offset){addr>>>=0;len>>>=0;offset=bigintToI53Checked(offset);try{if(isNaN(offset))return-61;SYSCALLS.doMsync(addr,SYSCALLS.getStreamFromFD(fd),len,flags,offset);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__msync_js.sig="ippiiij";function __munmap_js(addr,len,prot,flags,fd,offset){addr>>>=0;len>>>=0;offset=bigintToI53Checked(offset);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}__munmap_js.sig="ippiiij";var timers={};var _emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};__setitimer_js.sig="iid";var __timegm_js=function(tmPtr){tmPtr>>>=0;var ret=(()=>{var time=Date.UTC(HEAP32[tmPtr+20>>>2>>>0]+1900,HEAP32[tmPtr+16>>>2>>>0],HEAP32[tmPtr+12>>>2>>>0],HEAP32[tmPtr+8>>>2>>>0],HEAP32[tmPtr+4>>>2>>>0],HEAP32[tmPtr>>>2>>>0],0);var date=new Date(time);HEAP32[tmPtr+24>>>2>>>0]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;return date.getTime()/1e3})();return BigInt(ret)};__timegm_js.sig="jp";var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone>>>=0;daylight>>>=0;std_name>>>=0;dst_name>>>=0;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>>2>>>0]=stdTimezoneOffset*60;HEAP32[daylight>>>2>>>0]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{if(ENVIRONMENT_IS_NODE){return 1}return 1e3};_emscripten_get_now_res.sig="d";var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_res_get(clk_id,pres){pres>>>=0;if(!checkWasiClock(clk_id)){return 28}var nsec;if(clk_id===0){nsec=1e3*1e3}else if(nowIsMonotonic){nsec=_emscripten_get_now_res()}else{return 52}HEAP64[pres>>>3>>>0]=BigInt(nsec);return 0}_clock_res_get.sig="iip";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>>3>>>0]=BigInt(nsec);return 0}_clock_time_get.sig="iijp";function _create_sentinel(...args){return wasmImports["create_sentinel"](...args)}_create_sentinel.stub=true;var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++>>>0]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>>2>>>0]:ch==106?HEAP64[buf>>>3>>>0]:ch==105?HEAP32[buf>>>2>>>0]:HEAPF64[buf>>>3>>>0]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};function _emscripten_asm_const_int(code,sigPtr,argbuf){code>>>=0;sigPtr>>>=0;argbuf>>>=0;return runEmAsmFunction(code,sigPtr,argbuf)}_emscripten_asm_const_int.sig="ippp";function _emscripten_console_error(str){str>>>=0;console.error(UTF8ToString(str))}_emscripten_console_error.sig="vp";function _emscripten_console_log(str){str>>>=0;console.log(UTF8ToString(str))}_emscripten_console_log.sig="vp";function _emscripten_console_trace(str){str>>>=0;console.trace(UTF8ToString(str))}_emscripten_console_trace.sig="vp";function _emscripten_console_warn(str){str>>>=0;console.warn(UTF8ToString(str))}_emscripten_console_warn.sig="vp";function _emscripten_err(str){str>>>=0;return err(UTF8ToString(str))}_emscripten_err.sig="vp";var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return getHeapMax()}_emscripten_get_heap_max.sig="p";var GLctx;var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_EXT_polygon_offset_clamp=ctx=>!!(ctx.extPolygonOffsetClamp=ctx.getExtension("EXT_polygon_offset_clamp"));var webgl_enable_EXT_clip_control=ctx=>!!(ctx.extClipControl=ctx.getExtension("EXT_clip_control"));var webgl_enable_WEBGL_polygon_mode=ctx=>!!(ctx.webglPolygonMode=ctx.getExtension("WEBGL_polygon_mode"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["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_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","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","WEBGL_polygon_mode"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>>2>>>0]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>>2>>>0]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>>2>>>0],len)}return source},createContext:(canvas,webGLContextAttributes)=>{var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module["ctx"]=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]?.GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_multi_draw(GLctx);webgl_enable_EXT_polygon_offset_clamp(GLctx);webgl_enable_EXT_clip_control(GLctx);webgl_enable_WEBGL_polygon_mode(GLctx);webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _glActiveTexture=x0=>GLctx.activeTexture(x0);_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;_emscripten_glActiveTexture.sig="vi";var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;_emscripten_glAttachShader.sig="vii";var _glBeginQuery=(target,id)=>{GLctx.beginQuery(target,GL.queries[id])};_glBeginQuery.sig="vii";var _emscripten_glBeginQuery=_glBeginQuery;_emscripten_glBeginQuery.sig="vii";var _glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;var _glBeginTransformFeedback=x0=>GLctx.beginTransformFeedback(x0);_glBeginTransformFeedback.sig="vi";var _emscripten_glBeginTransformFeedback=_glBeginTransformFeedback;_emscripten_glBeginTransformFeedback.sig="vi";function _glBindAttribLocation(program,index,name){name>>>=0;GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viip";var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;_emscripten_glBindBuffer.sig="vii";var _glBindBufferBase=(target,index,buffer)=>{GLctx.bindBufferBase(target,index,GL.buffers[buffer])};_glBindBufferBase.sig="viii";var _emscripten_glBindBufferBase=_glBindBufferBase;_emscripten_glBindBufferBase.sig="viii";function _glBindBufferRange(target,index,buffer,offset,ptrsize){offset>>>=0;ptrsize>>>=0;GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)}_glBindBufferRange.sig="viiipp";var _emscripten_glBindBufferRange=_glBindBufferRange;_emscripten_glBindBufferRange.sig="viiipp";var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";var _glBindSampler=(unit,sampler)=>{GLctx.bindSampler(unit,GL.samplers[sampler])};_glBindSampler.sig="vii";var _emscripten_glBindSampler=_glBindSampler;_emscripten_glBindSampler.sig="vii";var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;_emscripten_glBindTexture.sig="vii";var _glBindTransformFeedback=(target,id)=>{GLctx.bindTransformFeedback(target,GL.transformFeedbacks[id])};_glBindTransformFeedback.sig="vii";var _emscripten_glBindTransformFeedback=_glBindTransformFeedback;_emscripten_glBindTransformFeedback.sig="vii";var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};_glBindVertexArray.sig="vi";var _emscripten_glBindVertexArray=_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;_emscripten_glBlendColor.sig="vffff";var _glBlendEquation=x0=>GLctx.blendEquation(x0);_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;_emscripten_glBlendEquation.sig="vi";var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;_emscripten_glBlendFunc.sig="vii";var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";var _glBlitFramebuffer=(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)=>GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);_glBlitFramebuffer.sig="viiiiiiiiii";var _emscripten_glBlitFramebuffer=_glBlitFramebuffer;_emscripten_glBlitFramebuffer.sig="viiiiiiiiii";function _glBufferData(target,size,data,usage){size>>>=0;data>>>=0;GLctx.bufferData(target,data?HEAPU8.subarray(data>>>0,data+size>>>0):size,usage)}_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;_emscripten_glBufferData.sig="vippi";function _glBufferSubData(target,offset,size,data){offset>>>=0;size>>>=0;data>>>=0;GLctx.bufferSubData(target,offset,HEAPU8.subarray(data>>>0,data+size>>>0))}_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;_emscripten_glBufferSubData.sig="vippp";var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";var _glClear=x0=>GLctx.clear(x0);_glClear.sig="vi";var _emscripten_glClear=_glClear;_emscripten_glClear.sig="vi";var _glClearBufferfi=(x0,x1,x2,x3)=>GLctx.clearBufferfi(x0,x1,x2,x3);_glClearBufferfi.sig="viifi";var _emscripten_glClearBufferfi=_glClearBufferfi;_emscripten_glClearBufferfi.sig="viifi";function _glClearBufferfv(buffer,drawbuffer,value){value>>>=0;GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>>2)}_glClearBufferfv.sig="viip";var _emscripten_glClearBufferfv=_glClearBufferfv;_emscripten_glClearBufferfv.sig="viip";function _glClearBufferiv(buffer,drawbuffer,value){value>>>=0;GLctx.clearBufferiv(buffer,drawbuffer,HEAP32,value>>>2)}_glClearBufferiv.sig="viip";var _emscripten_glClearBufferiv=_glClearBufferiv;_emscripten_glClearBufferiv.sig="viip";function _glClearBufferuiv(buffer,drawbuffer,value){value>>>=0;GLctx.clearBufferuiv(buffer,drawbuffer,HEAPU32,value>>>2)}_glClearBufferuiv.sig="viip";var _emscripten_glClearBufferuiv=_glClearBufferuiv;_emscripten_glClearBufferuiv.sig="viip";var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;_emscripten_glClearColor.sig="vffff";var _glClearDepthf=x0=>GLctx.clearDepth(x0);_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;_emscripten_glClearDepthf.sig="vf";var _glClearStencil=x0=>GLctx.clearStencil(x0);_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;_emscripten_glClearStencil.sig="vi";function _glClientWaitSync(sync,flags,timeout){sync>>>=0;timeout=Number(timeout);return GLctx.clientWaitSync(GL.syncs[sync],flags,timeout)}_glClientWaitSync.sig="ipij";var _emscripten_glClientWaitSync=_glClientWaitSync;_emscripten_glClientWaitSync.sig="ipij";var _glClipControlEXT=(origin,depth)=>{GLctx.extClipControl["clipControlEXT"](origin,depth)};_glClipControlEXT.sig="vii";var _emscripten_glClipControlEXT=_glClipControlEXT;var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;_emscripten_glColorMask.sig="viiii";var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;_emscripten_glCompileShader.sig="vi";function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){data>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data);return}}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8.subarray(data>>>0,data+imageSize>>>0))}_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiip";function _glCompressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data){data>>>=0;if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}}_glCompressedTexImage3D.sig="viiiiiiiip";var _emscripten_glCompressedTexImage3D=_glCompressedTexImage3D;_emscripten_glCompressedTexImage3D.sig="viiiiiiiip";function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){data>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data);return}}GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8.subarray(data>>>0,data+imageSize>>>0))}_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";function _glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data){data>>>=0;if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}}_glCompressedTexSubImage3D.sig="viiiiiiiiiip";var _emscripten_glCompressedTexSubImage3D=_glCompressedTexSubImage3D;_emscripten_glCompressedTexSubImage3D.sig="viiiiiiiiiip";function _glCopyBufferSubData(x0,x1,x2,x3,x4){x2>>>=0;x3>>>=0;x4>>>=0;return GLctx.copyBufferSubData(x0,x1,x2,x3,x4)}_glCopyBufferSubData.sig="viippp";var _emscripten_glCopyBufferSubData=_glCopyBufferSubData;_emscripten_glCopyBufferSubData.sig="viippp";var _glCopyTexImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7);_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _glCopyTexSubImage3D=(x0,x1,x2,x3,x4,x5,x6,x7,x8)=>GLctx.copyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8);_glCopyTexSubImage3D.sig="viiiiiiiii";var _emscripten_glCopyTexSubImage3D=_glCopyTexSubImage3D;_emscripten_glCopyTexSubImage3D.sig="viiiiiiiii";var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;_emscripten_glCreateProgram.sig="i";var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;_emscripten_glCreateShader.sig="ii";var _glCullFace=x0=>GLctx.cullFace(x0);_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;_emscripten_glCullFace.sig="vi";function _glDeleteBuffers(n,buffers){buffers>>>=0;for(var i=0;i>>2>>>0];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}}_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vip";function _glDeleteFramebuffers(n,framebuffers){framebuffers>>>=0;for(var i=0;i>>2>>>0];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vip";var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";function _glDeleteQueries(n,ids){ids>>>=0;for(var i=0;i>>2>>>0];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}}_glDeleteQueries.sig="vip";var _emscripten_glDeleteQueries=_glDeleteQueries;_emscripten_glDeleteQueries.sig="vip";function _glDeleteQueriesEXT(n,ids){ids>>>=0;for(var i=0;i>>2>>>0];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}_glDeleteQueriesEXT.sig="vip";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(n,renderbuffers){renderbuffers>>>=0;for(var i=0;i>>2>>>0];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vip";function _glDeleteSamplers(n,samplers){samplers>>>=0;for(var i=0;i>>2>>>0];var sampler=GL.samplers[id];if(!sampler)continue;GLctx.deleteSampler(sampler);sampler.name=0;GL.samplers[id]=null}}_glDeleteSamplers.sig="vip";var _emscripten_glDeleteSamplers=_glDeleteSamplers;_emscripten_glDeleteSamplers.sig="vip";var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;_emscripten_glDeleteShader.sig="vi";function _glDeleteSync(id){id>>>=0;if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null}_glDeleteSync.sig="vp";var _emscripten_glDeleteSync=_glDeleteSync;_emscripten_glDeleteSync.sig="vp";function _glDeleteTextures(n,textures){textures>>>=0;for(var i=0;i>>2>>>0];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;_emscripten_glDeleteTextures.sig="vip";function _glDeleteTransformFeedbacks(n,ids){ids>>>=0;for(var i=0;i>>2>>>0];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx.deleteTransformFeedback(transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}}_glDeleteTransformFeedbacks.sig="vip";var _emscripten_glDeleteTransformFeedbacks=_glDeleteTransformFeedbacks;_emscripten_glDeleteTransformFeedbacks.sig="vip";function _glDeleteVertexArrays(n,vaos){vaos>>>=0;for(var i=0;i>>2>>>0];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}}_glDeleteVertexArrays.sig="vip";var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vip";var _glDepthFunc=x0=>GLctx.depthFunc(x0);_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;_emscripten_glDepthFunc.sig="vi";var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;_emscripten_glDepthMask.sig="vi";var _glDepthRangef=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;_emscripten_glDepthRangef.sig="vff";var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;_emscripten_glDetachShader.sig="vii";var _glDisable=x0=>GLctx.disable(x0);_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;_emscripten_glDisable.sig="vi";var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;_emscripten_glDrawArrays.sig="viii";var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;var tempFixedLengthArray=[];function _glDrawBuffers(n,bufs){bufs>>>=0;var bufArray=tempFixedLengthArray[n];for(var i=0;i>>2>>>0]}GLctx.drawBuffers(bufArray)}_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffers=_glDrawBuffers;_emscripten_glDrawBuffers.sig="vip";var _glDrawBuffersEXT=_glDrawBuffers;var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(mode,count,type,indices){indices>>>=0;GLctx.drawElements(mode,count,type,indices)}_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;_emscripten_glDrawElements.sig="viiip";function _glDrawElementsInstanced(mode,count,type,indices,primcount){indices>>>=0;GLctx.drawElementsInstanced(mode,count,type,indices,primcount)}_glDrawElementsInstanced.sig="viiipi";var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;function _glDrawRangeElements(mode,start,end,count,type,indices){indices>>>=0;_glDrawElements(mode,count,type,indices)}_glDrawRangeElements.sig="viiiiip";var _emscripten_glDrawRangeElements=_glDrawRangeElements;_emscripten_glDrawRangeElements.sig="viiiiip";var _glEnable=x0=>GLctx.enable(x0);_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;_emscripten_glEnable.sig="vi";var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";var _glEndQuery=x0=>GLctx.endQuery(x0);_glEndQuery.sig="vi";var _emscripten_glEndQuery=_glEndQuery;_emscripten_glEndQuery.sig="vi";var _glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT;var _glEndTransformFeedback=()=>GLctx.endTransformFeedback();_glEndTransformFeedback.sig="v";var _emscripten_glEndTransformFeedback=_glEndTransformFeedback;_emscripten_glEndTransformFeedback.sig="v";function _glFenceSync(condition,flags){var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0}_glFenceSync.sig="pii";var _emscripten_glFenceSync=_glFenceSync;_emscripten_glFenceSync.sig="pii";var _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=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";var _glFramebufferTextureLayer=(target,attachment,texture,level,layer)=>{GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)};_glFramebufferTextureLayer.sig="viiiii";var _emscripten_glFramebufferTextureLayer=_glFramebufferTextureLayer;_emscripten_glFramebufferTextureLayer.sig="viiiii";var _glFrontFace=x0=>GLctx.frontFace(x0);_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;_emscripten_glFrontFace.sig="vi";function _glGenBuffers(n,buffers){buffers>>>=0;GL.genObject(n,buffers,"createBuffer",GL.buffers)}_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;_emscripten_glGenBuffers.sig="vip";function _glGenFramebuffers(n,ids){ids>>>=0;GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)}_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vip";function _glGenQueries(n,ids){ids>>>=0;GL.genObject(n,ids,"createQuery",GL.queries)}_glGenQueries.sig="vip";var _emscripten_glGenQueries=_glGenQueries;_emscripten_glGenQueries.sig="vip";function _glGenQueriesEXT(n,ids){ids>>>=0;for(var i=0;i>>2>>>0]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>>2>>>0]=id}}_glGenQueriesEXT.sig="vip";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(n,renderbuffers){renderbuffers>>>=0;GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vip";function _glGenSamplers(n,samplers){samplers>>>=0;GL.genObject(n,samplers,"createSampler",GL.samplers)}_glGenSamplers.sig="vip";var _emscripten_glGenSamplers=_glGenSamplers;_emscripten_glGenSamplers.sig="vip";function _glGenTextures(n,textures){textures>>>=0;GL.genObject(n,textures,"createTexture",GL.textures)}_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;_emscripten_glGenTextures.sig="vip";function _glGenTransformFeedbacks(n,ids){ids>>>=0;GL.genObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)}_glGenTransformFeedbacks.sig="vip";var _emscripten_glGenTransformFeedbacks=_glGenTransformFeedbacks;_emscripten_glGenTransformFeedbacks.sig="vip";function _glGenVertexArrays(n,arrays){arrays>>>=0;GL.genObject(n,arrays,"createVertexArray",GL.vaos)}_glGenVertexArrays.sig="vip";var _emscripten_glGenVertexArrays=_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vip";var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";var __glGetActiveAttribOrUniform=(funcName,program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull;if(size)HEAP32[size>>>2>>>0]=info.size;if(type)HEAP32[type>>>2>>>0]=info.type}};function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){length>>>=0;size>>>=0;type>>>=0;name>>>=0;return __glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiipppp";function _glGetActiveUniform(program,index,bufSize,length,size,type,name){length>>>=0;size>>>=0;type>>>=0;name>>>=0;return __glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiipppp";function _glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){length>>>=0;uniformBlockName>>>=0;program=GL.programs[program];var result=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>>2>>>0]=0}}_glGetActiveUniformBlockName.sig="viiipp";var _emscripten_glGetActiveUniformBlockName=_glGetActiveUniformBlockName;_emscripten_glGetActiveUniformBlockName.sig="viiipp";function _glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx.getActiveUniformBlockName(program,uniformBlockIndex);HEAP32[params>>>2>>>0]=name.length+1;return}var result=GLctx.getActiveUniformBlockParameter(program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>>2>>>0]=result[i]}}else{HEAP32[params>>>2>>>0]=result}}_glGetActiveUniformBlockiv.sig="viiip";var _emscripten_glGetActiveUniformBlockiv=_glGetActiveUniformBlockiv;_emscripten_glGetActiveUniformBlockiv.sig="viiip";function _glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){uniformIndices>>>=0;params>>>=0;if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>>2>>>0])}var result=GLctx.getActiveUniforms(program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>>2>>>0]=result[i]}}_glGetActiveUniformsiv.sig="viipip";var _emscripten_glGetActiveUniformsiv=_glGetActiveUniformsiv;_emscripten_glGetActiveUniformsiv.sig="viipip";function _glGetAttachedShaders(program,maxCount,count,shaders){count>>>=0;shaders>>>=0;var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>>2>>>0]=len;for(var i=0;i>>2>>>0]=id}}_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viipp";function _glGetAttribLocation(program,name){name>>>=0;return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>>2>>>0]=num;var lower=HEAPU32[ptr>>>2>>>0];HEAPU32[ptr+4>>>2>>>0]=(num-lower)/4294967296};var webglGetExtensions=()=>{var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>>2>>>0]=result[i];break;case 2:HEAPF32[p+i*4>>>2>>>0]=result[i];break;case 4:HEAP8[p+i>>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>>2>>>0]=ret;break;case 2:HEAPF32[p>>>2>>>0]=ret;break;case 4:HEAP8[p>>>0]=ret?1:0;break}};function _glGetBooleanv(name_,p){p>>>=0;return emscriptenWebGLGet(name_,p,4)}_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;_emscripten_glGetBooleanv.sig="vip";function _glGetBufferParameteri64v(target,value,data){data>>>=0;if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))}_glGetBufferParameteri64v.sig="viip";var _emscripten_glGetBufferParameteri64v=_glGetBufferParameteri64v;_emscripten_glGetBufferParameteri64v.sig="viip";function _glGetBufferParameteriv(target,value,data){data>>>=0;if(!data){GL.recordError(1281);return}HEAP32[data>>>2>>>0]=GLctx.getBufferParameter(target,value)}_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viip";var _glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};_glGetError.sig="i";var _emscripten_glGetError=_glGetError;_emscripten_glGetError.sig="i";function _glGetFloatv(name_,p){p>>>=0;return emscriptenWebGLGet(name_,p,2)}_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;_emscripten_glGetFloatv.sig="vip";function _glGetFragDataLocation(program,name){name>>>=0;return GLctx.getFragDataLocation(GL.programs[program],UTF8ToString(name))}_glGetFragDataLocation.sig="iip";var _emscripten_glGetFragDataLocation=_glGetFragDataLocation;_emscripten_glGetFragDataLocation.sig="iip";function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){params>>>=0;var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>>2>>>0]=result}_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";var emscriptenWebGLGetIndexed=(target,index,data,type)=>{if(!data){GL.recordError(1281);return}var result=GLctx.getIndexedParameter(target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>>2>>>0]=ret;break;case 2:HEAPF32[data>>>2>>>0]=ret;break;case 4:HEAP8[data>>>0]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}};function _glGetInteger64i_v(target,index,data){data>>>=0;return emscriptenWebGLGetIndexed(target,index,data,1)}_glGetInteger64i_v.sig="viip";var _emscripten_glGetInteger64i_v=_glGetInteger64i_v;_emscripten_glGetInteger64i_v.sig="viip";function _glGetInteger64v(name_,p){p>>>=0;emscriptenWebGLGet(name_,p,1)}_glGetInteger64v.sig="vip";var _emscripten_glGetInteger64v=_glGetInteger64v;_emscripten_glGetInteger64v.sig="vip";function _glGetIntegeri_v(target,index,data){data>>>=0;return emscriptenWebGLGetIndexed(target,index,data,0)}_glGetIntegeri_v.sig="viip";var _emscripten_glGetIntegeri_v=_glGetIntegeri_v;_emscripten_glGetIntegeri_v.sig="viip";function _glGetIntegerv(name_,p){p>>>=0;return emscriptenWebGLGet(name_,p,0)}_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;_emscripten_glGetIntegerv.sig="vip";function _glGetInternalformativ(target,internalformat,pname,bufSize,params){params>>>=0;if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx.getInternalformatParameter(target,internalformat,pname);if(ret===null)return;for(var i=0;i>>2>>>0]=ret[i]}}_glGetInternalformativ.sig="viiiip";var _emscripten_glGetInternalformativ=_glGetInternalformativ;_emscripten_glGetInternalformativ.sig="viiiip";function _glGetProgramBinary(program,bufSize,length,binaryFormat,binary){length>>>=0;binaryFormat>>>=0;binary>>>=0;GL.recordError(1282)}_glGetProgramBinary.sig="viippp";var _emscripten_glGetProgramBinary=_glGetProgramBinary;_emscripten_glGetProgramBinary.sig="viippp";function _glGetProgramInfoLog(program,maxLength,length,infoLog){length>>>=0;infoLog>>>=0;var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viipp";function _glGetProgramiv(program,pname,p){p>>>=0;if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>>2>>>0]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(var i=0;i>>2>>>0]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){var numActiveAttributes=GLctx.getProgramParameter(program,35721);for(var i=0;i>>2>>>0]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){var numActiveUniformBlocks=GLctx.getProgramParameter(program,35382);for(var i=0;i>>2>>>0]=program.maxUniformBlockNameLength}else{HEAP32[p>>>2>>>0]=GLctx.getProgramParameter(program,pname)}}_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;_emscripten_glGetProgramiv.sig="viip";function _glGetQueryObjecti64vEXT(id,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx.getQueryParameter(query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}_glGetQueryObjecti64vEXT.sig="viip";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(id,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>>2>>>0]=ret}_glGetQueryObjectivEXT.sig="viip";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;function _glGetQueryObjectuiv(id,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.getQueryParameter(query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>>2>>>0]=ret}_glGetQueryObjectuiv.sig="viip";var _emscripten_glGetQueryObjectuiv=_glGetQueryObjectuiv;_emscripten_glGetQueryObjectuiv.sig="viip";var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryiv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getQuery(target,pname)}_glGetQueryiv.sig="viip";var _emscripten_glGetQueryiv=_glGetQueryiv;_emscripten_glGetQueryiv.sig="viip";function _glGetQueryivEXT(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}_glGetQueryivEXT.sig="viip";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getRenderbufferParameter(target,pname)}_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viip";function _glGetSamplerParameterfv(sampler,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAPF32[params>>>2>>>0]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}_glGetSamplerParameterfv.sig="viip";var _emscripten_glGetSamplerParameterfv=_glGetSamplerParameterfv;_emscripten_glGetSamplerParameterfv.sig="viip";function _glGetSamplerParameteriv(sampler,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getSamplerParameter(GL.samplers[sampler],pname)}_glGetSamplerParameteriv.sig="viip";var _emscripten_glGetSamplerParameteriv=_glGetSamplerParameteriv;_emscripten_glGetSamplerParameteriv.sig="viip";function _glGetShaderInfoLog(shader,maxLength,length,infoLog){length>>>=0;infoLog>>>=0;var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viipp";function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){range>>>=0;precision>>>=0;var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>>2>>>0]=result.rangeMin;HEAP32[range+4>>>2>>>0]=result.rangeMax;HEAP32[precision>>>2>>>0]=result.precision}_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viipp";function _glGetShaderSource(shader,bufSize,length,source){length>>>=0;source>>>=0;var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;_emscripten_glGetShaderSource.sig="viipp";function _glGetShaderiv(shader,pname,p){p>>>=0;if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>>2>>>0]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>>2>>>0]=sourceLength}else{HEAP32[p>>>2>>>0]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;_emscripten_glGetShaderiv.sig="viip";var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var webGLVersion=GLctx.getParameter(7938);var glVersion=`OpenGL ES 2.0 (${webGLVersion})`;if(GL.currentContext.version>=2)glVersion=`OpenGL ES 3.0 (${webGLVersion})`;ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;_emscripten_glGetString.sig="pi";function _glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=webglGetExtensions().map(stringToNewUTF8);stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}_glGetStringi.sig="pii";var _emscripten_glGetStringi=_glGetStringi;_emscripten_glGetStringi.sig="pii";function _glGetSynciv(sync,pname,bufSize,length,values){sync>>>=0;length>>>=0;values>>>=0;if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>>2>>>0]=ret;if(length)HEAP32[length>>>2>>>0]=1}}_glGetSynciv.sig="vpiipp";var _emscripten_glGetSynciv=_glGetSynciv;_emscripten_glGetSynciv.sig="vpiipp";function _glGetTexParameterfv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAPF32[params>>>2>>>0]=GLctx.getTexParameter(target,pname)}_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viip";function _glGetTexParameteriv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getTexParameter(target,pname)}_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viip";function _glGetTransformFeedbackVarying(program,index,bufSize,length,size,type,name){length>>>=0;size>>>=0;type>>>=0;name>>>=0;program=GL.programs[program];var info=GLctx.getTransformFeedbackVarying(program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>>2>>>0]=0}if(size)HEAP32[size>>>2>>>0]=info.size;if(type)HEAP32[type>>>2>>>0]=info.type}_glGetTransformFeedbackVarying.sig="viiipppp";var _emscripten_glGetTransformFeedbackVarying=_glGetTransformFeedbackVarying;_emscripten_glGetTransformFeedbackVarying.sig="viiipppp";function _glGetUniformBlockIndex(program,uniformBlockName){uniformBlockName>>>=0;return GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName))}_glGetUniformBlockIndex.sig="iip";var _emscripten_glGetUniformBlockIndex=_glGetUniformBlockIndex;_emscripten_glGetUniformBlockIndex.sig="iip";function _glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){uniformNames>>>=0;uniformIndices>>>=0;if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>>2>>>0]));var result=GLctx.getUniformIndices(program,names);if(!result)return;var len=result.length;for(var i=0;i>>2>>>0]=result[i]}}_glGetUniformIndices.sig="viipp";var _emscripten_glGetUniformIndices=_glGetUniformIndices;_emscripten_glGetUniformIndices.sig="viipp";var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j>>=0;name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var emscriptenWebGLGetUniform=(program,location,params,type)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>>2>>>0]=data;break;case 2:HEAPF32[params>>>2>>>0]=data;break}}else{for(var i=0;i>>2>>>0]=data[i];break;case 2:HEAPF32[params+i*4>>>2>>>0]=data[i];break}}}};function _glGetUniformfv(program,location,params){params>>>=0;emscriptenWebGLGetUniform(program,location,params,2)}_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;_emscripten_glGetUniformfv.sig="viip";function _glGetUniformiv(program,location,params){params>>>=0;emscriptenWebGLGetUniform(program,location,params,0)}_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;_emscripten_glGetUniformiv.sig="viip";function _glGetUniformuiv(program,location,params){params>>>=0;return emscriptenWebGLGetUniform(program,location,params,0)}_glGetUniformuiv.sig="viip";var _emscripten_glGetUniformuiv=_glGetUniformuiv;_emscripten_glGetUniformuiv.sig="viip";var emscriptenWebGLGetVertexAttrib=(index,pname,params,type)=>{if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>>2>>>0]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>>2>>>0]=data;break;case 2:HEAPF32[params>>>2>>>0]=data;break;case 5:HEAP32[params>>>2>>>0]=Math.fround(data);break}}else{for(var i=0;i>>2>>>0]=data[i];break;case 2:HEAPF32[params+i*4>>>2>>>0]=data[i];break;case 5:HEAP32[params+i*4>>>2>>>0]=Math.fround(data[i]);break}}}};function _glGetVertexAttribIiv(index,pname,params){params>>>=0;emscriptenWebGLGetVertexAttrib(index,pname,params,0)}_glGetVertexAttribIiv.sig="viip";var _emscripten_glGetVertexAttribIiv=_glGetVertexAttribIiv;_emscripten_glGetVertexAttribIiv.sig="viip";var _glGetVertexAttribIuiv=_glGetVertexAttribIiv;_glGetVertexAttribIuiv.sig="viip";var _emscripten_glGetVertexAttribIuiv=_glGetVertexAttribIuiv;_emscripten_glGetVertexAttribIuiv.sig="viip";function _glGetVertexAttribPointerv(index,pname,pointer){pointer>>>=0;if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>>2>>>0]=GLctx.getVertexAttribOffset(index,pname)}_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viip";function _glGetVertexAttribfv(index,pname,params){params>>>=0;emscriptenWebGLGetVertexAttrib(index,pname,params,2)}_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viip";function _glGetVertexAttribiv(index,pname,params){params>>>=0;emscriptenWebGLGetVertexAttrib(index,pname,params,5)}_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viip";var _glHint=(x0,x1)=>GLctx.hint(x0,x1);_glHint.sig="vii";var _emscripten_glHint=_glHint;_emscripten_glHint.sig="vii";function _glInvalidateFramebuffer(target,numAttachments,attachments){attachments>>>=0;var list=tempFixedLengthArray[numAttachments];for(var i=0;i>>2>>>0]}GLctx.invalidateFramebuffer(target,list)}_glInvalidateFramebuffer.sig="viip";var _emscripten_glInvalidateFramebuffer=_glInvalidateFramebuffer;_emscripten_glInvalidateFramebuffer.sig="viip";function _glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height){attachments>>>=0;var list=tempFixedLengthArray[numAttachments];for(var i=0;i>>2>>>0]}GLctx.invalidateSubFramebuffer(target,list,x,y,width,height)}_glInvalidateSubFramebuffer.sig="viipiiii";var _emscripten_glInvalidateSubFramebuffer=_glInvalidateSubFramebuffer;_emscripten_glInvalidateSubFramebuffer.sig="viipiiii";var _glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;_emscripten_glIsBuffer.sig="ii";var _glIsEnabled=x0=>GLctx.isEnabled(x0);_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;_emscripten_glIsEnabled.sig="ii";var _glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;_emscripten_glIsProgram.sig="ii";var _glIsQuery=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.isQuery(query)};_glIsQuery.sig="ii";var _emscripten_glIsQuery=_glIsQuery;_emscripten_glIsQuery.sig="ii";var _glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT;var _glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";var _glIsSampler=id=>{var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx.isSampler(sampler)};_glIsSampler.sig="ii";var _emscripten_glIsSampler=_glIsSampler;_emscripten_glIsSampler.sig="ii";var _glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;_emscripten_glIsShader.sig="ii";function _glIsSync(sync){sync>>>=0;return GLctx.isSync(GL.syncs[sync])}_glIsSync.sig="ip";var _emscripten_glIsSync=_glIsSync;_emscripten_glIsSync.sig="ip";var _glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;_emscripten_glIsTexture.sig="ii";var _glIsTransformFeedback=id=>GLctx.isTransformFeedback(GL.transformFeedbacks[id]);_glIsTransformFeedback.sig="ii";var _emscripten_glIsTransformFeedback=_glIsTransformFeedback;_emscripten_glIsTransformFeedback.sig="ii";var _glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};_glIsVertexArray.sig="ii";var _emscripten_glIsVertexArray=_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";var _glLineWidth=x0=>GLctx.lineWidth(x0);_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;_emscripten_glLineWidth.sig="vf";var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;_emscripten_glLinkProgram.sig="vi";var _glPauseTransformFeedback=()=>GLctx.pauseTransformFeedback();_glPauseTransformFeedback.sig="v";var _emscripten_glPauseTransformFeedback=_glPauseTransformFeedback;_emscripten_glPauseTransformFeedback.sig="v";var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;_emscripten_glPixelStorei.sig="vii";var _glPolygonModeWEBGL=(face,mode)=>{GLctx.webglPolygonMode["polygonModeWEBGL"](face,mode)};_glPolygonModeWEBGL.sig="vii";var _emscripten_glPolygonModeWEBGL=_glPolygonModeWEBGL;var _glPolygonOffset=(x0,x1)=>GLctx.polygonOffset(x0,x1);_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;_emscripten_glPolygonOffset.sig="vff";var _glPolygonOffsetClampEXT=(factor,units,clamp)=>{GLctx.extPolygonOffsetClamp["polygonOffsetClampEXT"](factor,units,clamp)};_glPolygonOffsetClampEXT.sig="vfff";var _emscripten_glPolygonOffsetClampEXT=_glPolygonOffsetClampEXT;function _glProgramBinary(program,binaryFormat,binary,length){binary>>>=0;GL.recordError(1280)}_glProgramBinary.sig="viipi";var _emscripten_glProgramBinary=_glProgramBinary;_emscripten_glProgramBinary.sig="viipi";var _glProgramParameteri=(program,pname,value)=>{GL.recordError(1280)};_glProgramParameteri.sig="viii";var _emscripten_glProgramParameteri=_glProgramParameteri;_emscripten_glProgramParameteri.sig="viii";var _glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;var _glReadBuffer=x0=>GLctx.readBuffer(x0);_glReadBuffer.sig="vi";var _emscripten_glReadBuffer=_glReadBuffer;_emscripten_glReadBuffer.sig="vi";var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap)>>>0,toTypedArrayIndex(pixels+bytes,heap)>>>0)};function _glReadPixels(x,y,width,height,format,type,pixels){pixels>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}_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=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";var _glRenderbufferStorageMultisample=(x0,x1,x2,x3,x4)=>GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4);_glRenderbufferStorageMultisample.sig="viiiii";var _emscripten_glRenderbufferStorageMultisample=_glRenderbufferStorageMultisample;_emscripten_glRenderbufferStorageMultisample.sig="viiiii";var _glResumeTransformFeedback=()=>GLctx.resumeTransformFeedback();_glResumeTransformFeedback.sig="v";var _emscripten_glResumeTransformFeedback=_glResumeTransformFeedback;_emscripten_glResumeTransformFeedback.sig="v";var _glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;_emscripten_glSampleCoverage.sig="vfi";var _glSamplerParameterf=(sampler,pname,param)=>{GLctx.samplerParameterf(GL.samplers[sampler],pname,param)};_glSamplerParameterf.sig="viif";var _emscripten_glSamplerParameterf=_glSamplerParameterf;_emscripten_glSamplerParameterf.sig="viif";function _glSamplerParameterfv(sampler,pname,params){params>>>=0;var param=HEAPF32[params>>>2>>>0];GLctx.samplerParameterf(GL.samplers[sampler],pname,param)}_glSamplerParameterfv.sig="viip";var _emscripten_glSamplerParameterfv=_glSamplerParameterfv;_emscripten_glSamplerParameterfv.sig="viip";var _glSamplerParameteri=(sampler,pname,param)=>{GLctx.samplerParameteri(GL.samplers[sampler],pname,param)};_glSamplerParameteri.sig="viii";var _emscripten_glSamplerParameteri=_glSamplerParameteri;_emscripten_glSamplerParameteri.sig="viii";function _glSamplerParameteriv(sampler,pname,params){params>>>=0;var param=HEAP32[params>>>2>>>0];GLctx.samplerParameteri(GL.samplers[sampler],pname,param)}_glSamplerParameteriv.sig="viip";var _emscripten_glSamplerParameteriv=_glSamplerParameteriv;_emscripten_glSamplerParameteriv.sig="viip";var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;_emscripten_glScissor.sig="viiii";function _glShaderBinary(count,shaders,binaryformat,binary,length){shaders>>>=0;binary>>>=0;GL.recordError(1280)}_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;_emscripten_glShaderBinary.sig="vipipi";function _glShaderSource(shader,count,string,length){string>>>=0;length>>>=0;var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;_emscripten_glShaderSource.sig="viipp";var _glStencilFunc=(x0,x1,x2)=>GLctx.stencilFunc(x0,x1,x2);_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;_emscripten_glStencilFunc.sig="viii";var _glStencilFuncSeparate=(x0,x1,x2,x3)=>GLctx.stencilFuncSeparate(x0,x1,x2,x3);_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";var _glStencilMask=x0=>GLctx.stencilMask(x0);_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;_emscripten_glStencilMask.sig="vi";var _glStencilMaskSeparate=(x0,x1)=>GLctx.stencilMaskSeparate(x0,x1);_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";var _glStencilOp=(x0,x1,x2)=>GLctx.stencilOp(x0,x1,x2);_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;_emscripten_glStencilOp.sig="viii";var _glStencilOpSeparate=(x0,x1,x2,x3)=>GLctx.stencilOpSeparate(x0,x1,x2,x3);_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){pixels>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiip";function _glTexImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels){pixels>>>=0;if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height*depth,pixels,internalFormat);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixelData)}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}}_glTexImage3D.sig="viiiiiiiiip";var _emscripten_glTexImage3D=_glTexImage3D;_emscripten_glTexImage3D.sig="viiiiiiiiip";var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;_emscripten_glTexParameterf.sig="viif";function _glTexParameterfv(target,pname,params){params>>>=0;var param=HEAPF32[params>>>2>>>0];GLctx.texParameterf(target,pname,param)}_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;_emscripten_glTexParameterfv.sig="viip";var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;_emscripten_glTexParameteri.sig="viii";function _glTexParameteriv(target,pname,params){params>>>=0;var param=HEAP32[params>>>2>>>0];GLctx.texParameteri(target,pname,param)}_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;_emscripten_glTexParameteriv.sig="viip";var _glTexStorage2D=(x0,x1,x2,x3,x4)=>GLctx.texStorage2D(x0,x1,x2,x3,x4);_glTexStorage2D.sig="viiiii";var _emscripten_glTexStorage2D=_glTexStorage2D;_emscripten_glTexStorage2D.sig="viiiii";var _glTexStorage3D=(x0,x1,x2,x3,x4,x5)=>GLctx.texStorage3D(x0,x1,x2,x3,x4,x5);_glTexStorage3D.sig="viiiiii";var _emscripten_glTexStorage3D=_glTexStorage3D;_emscripten_glTexStorage3D.sig="viiiiii";function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){pixels>>>=0;if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiip";function _glTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels){pixels>>>=0;if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}_glTexSubImage3D.sig="viiiiiiiiiip";var _emscripten_glTexSubImage3D=_glTexSubImage3D;_emscripten_glTexSubImage3D.sig="viiiiiiiiiip";function _glTransformFeedbackVaryings(program,count,varyings,bufferMode){varyings>>>=0;program=GL.programs[program];var vars=[];for(var i=0;i>>2>>>0]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)}_glTransformFeedbackVaryings.sig="viipi";var _emscripten_glTransformFeedbackVaryings=_glTransformFeedbackVaryings;_emscripten_glTransformFeedbackVaryings.sig="viipi";var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];function _glUniform1fv(location,count,value){value>>>=0;if(count<=288){var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*4>>>2>>>0)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;_emscripten_glUniform1fv.sig="viip";var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[];function _glUniform1iv(location,count,value){value>>>=0;if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*4>>>2>>>0)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;_emscripten_glUniform1iv.sig="viip";var _glUniform1ui=(location,v0)=>{GLctx.uniform1ui(webglGetUniformLocation(location),v0)};_glUniform1ui.sig="vii";var _emscripten_glUniform1ui=_glUniform1ui;_emscripten_glUniform1ui.sig="vii";function _glUniform1uiv(location,count,value){value>>>=0;count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>>2,count)}_glUniform1uiv.sig="viip";var _emscripten_glUniform1uiv=_glUniform1uiv;_emscripten_glUniform1uiv.sig="viip";var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;_emscripten_glUniform2f.sig="viff";function _glUniform2fv(location,count,value){value>>>=0;if(count<=144){count*=2;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*8>>>2>>>0)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;_emscripten_glUniform2fv.sig="viip";var _glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;_emscripten_glUniform2i.sig="viii";function _glUniform2iv(location,count,value){value>>>=0;if(count<=144){count*=2;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAP32[value+(4*i+4)>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*8>>>2>>>0)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;_emscripten_glUniform2iv.sig="viip";var _glUniform2ui=(location,v0,v1)=>{GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)};_glUniform2ui.sig="viii";var _emscripten_glUniform2ui=_glUniform2ui;_emscripten_glUniform2ui.sig="viii";function _glUniform2uiv(location,count,value){value>>>=0;count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>>2,count*2)}_glUniform2uiv.sig="viip";var _emscripten_glUniform2uiv=_glUniform2uiv;_emscripten_glUniform2uiv.sig="viip";var _glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;_emscripten_glUniform3f.sig="vifff";function _glUniform3fv(location,count,value){value>>>=0;if(count<=96){count*=3;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAPF32[value+(4*i+8)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*12>>>2>>>0)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;_emscripten_glUniform3fv.sig="viip";var _glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;_emscripten_glUniform3i.sig="viiii";function _glUniform3iv(location,count,value){value>>>=0;if(count<=96){count*=3;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAP32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAP32[value+(4*i+8)>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*12>>>2>>>0)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;_emscripten_glUniform3iv.sig="viip";var _glUniform3ui=(location,v0,v1,v2)=>{GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)};_glUniform3ui.sig="viiii";var _emscripten_glUniform3ui=_glUniform3ui;_emscripten_glUniform3ui.sig="viiii";function _glUniform3uiv(location,count,value){value>>>=0;count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>>2,count*3)}_glUniform3uiv.sig="viip";var _emscripten_glUniform3uiv=_glUniform3uiv;_emscripten_glUniform3uiv.sig="viip";var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;_emscripten_glUniform4f.sig="viffff";function _glUniform4fv(location,count,value){value>>>=0;if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>>2;count*=4;for(var i=0;i>>0];view[i+1]=heap[dst+1>>>0];view[i+2]=heap[dst+2>>>0];view[i+3]=heap[dst+3>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*16>>>2>>>0)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;_emscripten_glUniform4fv.sig="viip";var _glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;_emscripten_glUniform4i.sig="viiiii";function _glUniform4iv(location,count,value){value>>>=0;if(count<=72){count*=4;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAP32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAP32[value+(4*i+8)>>>2>>>0];view[i+3]=HEAP32[value+(4*i+12)>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*16>>>2>>>0)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;_emscripten_glUniform4iv.sig="viip";var _glUniform4ui=(location,v0,v1,v2,v3)=>{GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)};_glUniform4ui.sig="viiiii";var _emscripten_glUniform4ui=_glUniform4ui;_emscripten_glUniform4ui.sig="viiiii";function _glUniform4uiv(location,count,value){value>>>=0;count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>>2,count*4)}_glUniform4uiv.sig="viip";var _emscripten_glUniform4uiv=_glUniform4uiv;_emscripten_glUniform4uiv.sig="viip";var _glUniformBlockBinding=(program,uniformBlockIndex,uniformBlockBinding)=>{program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)};_glUniformBlockBinding.sig="viii";var _emscripten_glUniformBlockBinding=_glUniformBlockBinding;_emscripten_glUniformBlockBinding.sig="viii";function _glUniformMatrix2fv(location,count,transpose,value){value>>>=0;if(count<=72){count*=4;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAPF32[value+(4*i+8)>>>2>>>0];view[i+3]=HEAPF32[value+(4*i+12)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*16>>>2>>>0)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)}_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiip";function _glUniformMatrix2x3fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*6)}_glUniformMatrix2x3fv.sig="viiip";var _emscripten_glUniformMatrix2x3fv=_glUniformMatrix2x3fv;_emscripten_glUniformMatrix2x3fv.sig="viiip";function _glUniformMatrix2x4fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*8)}_glUniformMatrix2x4fv.sig="viiip";var _emscripten_glUniformMatrix2x4fv=_glUniformMatrix2x4fv;_emscripten_glUniformMatrix2x4fv.sig="viiip";function _glUniformMatrix3fv(location,count,transpose,value){value>>>=0;if(count<=32){count*=9;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAPF32[value+(4*i+8)>>>2>>>0];view[i+3]=HEAPF32[value+(4*i+12)>>>2>>>0];view[i+4]=HEAPF32[value+(4*i+16)>>>2>>>0];view[i+5]=HEAPF32[value+(4*i+20)>>>2>>>0];view[i+6]=HEAPF32[value+(4*i+24)>>>2>>>0];view[i+7]=HEAPF32[value+(4*i+28)>>>2>>>0];view[i+8]=HEAPF32[value+(4*i+32)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*36>>>2>>>0)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiip";function _glUniformMatrix3x2fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*6)}_glUniformMatrix3x2fv.sig="viiip";var _emscripten_glUniformMatrix3x2fv=_glUniformMatrix3x2fv;_emscripten_glUniformMatrix3x2fv.sig="viiip";function _glUniformMatrix3x4fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*12)}_glUniformMatrix3x4fv.sig="viiip";var _emscripten_glUniformMatrix3x4fv=_glUniformMatrix3x4fv;_emscripten_glUniformMatrix3x4fv.sig="viiip";function _glUniformMatrix4fv(location,count,transpose,value){value>>>=0;if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>>2;count*=16;for(var i=0;i>>0];view[i+1]=heap[dst+1>>>0];view[i+2]=heap[dst+2>>>0];view[i+3]=heap[dst+3>>>0];view[i+4]=heap[dst+4>>>0];view[i+5]=heap[dst+5>>>0];view[i+6]=heap[dst+6>>>0];view[i+7]=heap[dst+7>>>0];view[i+8]=heap[dst+8>>>0];view[i+9]=heap[dst+9>>>0];view[i+10]=heap[dst+10>>>0];view[i+11]=heap[dst+11>>>0];view[i+12]=heap[dst+12>>>0];view[i+13]=heap[dst+13>>>0];view[i+14]=heap[dst+14>>>0];view[i+15]=heap[dst+15>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*64>>>2>>>0)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiip";function _glUniformMatrix4x2fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*8)}_glUniformMatrix4x2fv.sig="viiip";var _emscripten_glUniformMatrix4x2fv=_glUniformMatrix4x2fv;_emscripten_glUniformMatrix4x2fv.sig="viiip";function _glUniformMatrix4x3fv(location,count,transpose,value){value>>>=0;count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>>2,count*12)}_glUniformMatrix4x3fv.sig="viiip";var _emscripten_glUniformMatrix4x3fv=_glUniformMatrix4x3fv;_emscripten_glUniformMatrix4x3fv.sig="viiip";var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;_emscripten_glUseProgram.sig="vi";var _glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;_emscripten_glValidateProgram.sig="vi";var _glVertexAttrib1f=(x0,x1)=>GLctx.vertexAttrib1f(x0,x1);_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vif";function _glVertexAttrib1fv(index,v){v>>>=0;GLctx.vertexAttrib1f(index,HEAPF32[v>>>2])}_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2f=(x0,x1,x2)=>GLctx.vertexAttrib2f(x0,x1,x2);_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viff";function _glVertexAttrib2fv(index,v){v>>>=0;GLctx.vertexAttrib2f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2])}_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3f=(x0,x1,x2,x3)=>GLctx.vertexAttrib3f(x0,x1,x2,x3);_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="vifff";function _glVertexAttrib3fv(index,v){v>>>=0;GLctx.vertexAttrib3f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2],HEAPF32[v+8>>>2])}_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viffff";function _glVertexAttrib4fv(index,v){v>>>=0;GLctx.vertexAttrib4f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2],HEAPF32[v+8>>>2],HEAPF32[v+12>>>2])}_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vip";var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};_glVertexAttribDivisor.sig="vii";var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;var _glVertexAttribDivisorNV=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;var _glVertexAttribI4i=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4i(x0,x1,x2,x3,x4);_glVertexAttribI4i.sig="viiiii";var _emscripten_glVertexAttribI4i=_glVertexAttribI4i;_emscripten_glVertexAttribI4i.sig="viiiii";function _glVertexAttribI4iv(index,v){v>>>=0;GLctx.vertexAttribI4i(index,HEAP32[v>>>2],HEAP32[v+4>>>2],HEAP32[v+8>>>2],HEAP32[v+12>>>2])}_glVertexAttribI4iv.sig="vip";var _emscripten_glVertexAttribI4iv=_glVertexAttribI4iv;_emscripten_glVertexAttribI4iv.sig="vip";var _glVertexAttribI4ui=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4);_glVertexAttribI4ui.sig="viiiii";var _emscripten_glVertexAttribI4ui=_glVertexAttribI4ui;_emscripten_glVertexAttribI4ui.sig="viiiii";function _glVertexAttribI4uiv(index,v){v>>>=0;GLctx.vertexAttribI4ui(index,HEAPU32[v>>>2],HEAPU32[v+4>>>2],HEAPU32[v+8>>>2],HEAPU32[v+12>>>2])}_glVertexAttribI4uiv.sig="vip";var _emscripten_glVertexAttribI4uiv=_glVertexAttribI4uiv;_emscripten_glVertexAttribI4uiv.sig="vip";function _glVertexAttribIPointer(index,size,type,stride,ptr){ptr>>>=0;GLctx.vertexAttribIPointer(index,size,type,stride,ptr)}_glVertexAttribIPointer.sig="viiiip";var _emscripten_glVertexAttribIPointer=_glVertexAttribIPointer;_emscripten_glVertexAttribIPointer.sig="viiiip";function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){ptr>>>=0;GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiip";var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;_emscripten_glViewport.sig="viiii";function _glWaitSync(sync,flags,timeout){sync>>>=0;timeout=Number(timeout);GLctx.waitSync(GL.syncs[sync],flags,timeout)}_glWaitSync.sig="vpij";var _emscripten_glWaitSync=_glWaitSync;_emscripten_glWaitSync.sig="vpij";function _emscripten_out(str){str>>>=0;return out(UTF8ToString(str))}_emscripten_out.sig="vp";class HandleAllocator{allocated=[undefined];freelist=[];get(id){return this.allocated[id]}has(id){return this.allocated[id]!==undefined}allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id}free(id){this.allocated[id]=undefined;this.freelist.push(id)}}var promiseMap=new HandleAllocator;var makePromise=()=>{var promiseInfo={};promiseInfo.promise=new Promise((resolve,reject)=>{promiseInfo.reject=reject;promiseInfo.resolve=resolve});promiseInfo.id=promiseMap.allocate(promiseInfo);return promiseInfo};function _emscripten_promise_create(){return makePromise().id}_emscripten_promise_create.sig="p";function _emscripten_promise_destroy(id){id>>>=0;promiseMap.free(id)}_emscripten_promise_destroy.sig="vp";var getPromise=id=>promiseMap.get(id).promise;function _emscripten_promise_resolve(id,result,value){id>>>=0;value>>>=0;var info=promiseMap.get(id);switch(result){case 0:info.resolve(value);return;case 1:info.resolve(getPromise(value));return;case 2:info.resolve(getPromise(value));_emscripten_promise_destroy(value);return;case 3:info.reject(value);return}}_emscripten_promise_resolve.sig="vpip";var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}_emscripten_resize_heap.sig="ip";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var ENV={};var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}_environ_get.sig="ipp";function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0}_environ_sizes_get.sig="ipp";function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_close.sig="ii";function _fd_fdstat_get(fd,pbuf){pbuf>>>=0;try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;HEAP64[pbuf+8>>>3>>>0]=BigInt(rightsBase);HEAP64[pbuf+16>>>3>>>0]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_fdstat_get.sig="iip";var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>=0;iovcnt>>>=0;offset=bigintToI53Checked(offset);pnum>>>=0;try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt,offset);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pread.sig="iippjp";var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>=0;iovcnt>>>=0;offset=bigintToI53Checked(offset);pnum>>>=0;try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt,offset);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_pwrite.sig="iippjp";function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_read.sig="iippp";function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>>3>>>0]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_seek.sig="iijip";function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_sync.sig="ii";function _fd_write(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_fd_write.sig="iippp";function _getaddrinfo(node,service,hint,out){node>>>=0;service>>>=0;hint>>>=0;out>>>=0;var addrs=[];var canon=null;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai,last;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>>2>>>0]=family;HEAP32[ai+8>>>2>>>0]=type;HEAP32[ai+12>>>2>>>0]=proto;HEAPU32[ai+24>>>2>>>0]=canon;HEAPU32[ai+20>>>2>>>0]=sa;if(family===10){HEAP32[ai+16>>>2>>>0]=28}else{HEAP32[ai+16>>>2>>>0]=16}HEAP32[ai+28>>>2>>>0]=0;return ai}if(hint){flags=HEAP32[hint>>>2>>>0];family=HEAP32[hint+4>>>2>>>0];type=HEAP32[hint+8>>>2>>>0];proto=HEAP32[hint+12>>>2>>>0]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>>2>>>0]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,_htonl(1)]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}_getaddrinfo.sig="ipppp";function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){sa>>>=0;node>>>=0;serv>>>=0;var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}_getnameinfo.sig="ipipipii";var Protocols={list:[],map:{}};var stringToAscii=(str,buffer)=>{for(var i=0;i>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0]=0};var _setprotoent=stayopen=>{function allocprotoent(name,proto,aliases){var nameBuf=_malloc(name.length+1);stringToAscii(name,nameBuf);var j=0;var length=aliases.length;var aliasListBuf=_malloc((length+1)*4);for(var i=0;i>>2>>>0]=aliasBuf}HEAPU32[aliasListBuf+j>>>2>>>0]=0;var pe=_malloc(12);HEAPU32[pe>>>2>>>0]=nameBuf;HEAPU32[pe+4>>>2>>>0]=aliasListBuf;HEAP32[pe+8>>>2>>>0]=proto;return pe}var list=Protocols.list;var map=Protocols.map;if(list.length===0){var entry=allocprotoent("tcp",6,["TCP"]);list.push(entry);map["tcp"]=map["6"]=entry;entry=allocprotoent("udp",17,["UDP"]);list.push(entry);map["udp"]=map["17"]=entry}_setprotoent.index=0};_setprotoent.sig="vi";function _getprotobyname(name){name>>>=0;name=UTF8ToString(name);_setprotoent(true);var result=Protocols.map[name];return result}_getprotobyname.sig="pp";function _is_sentinel(...args){return wasmImports["is_sentinel"](...args)}_is_sentinel.stub=true;function _random_get(buffer,size){buffer>>>=0;size>>>=0;try{randomFill(HEAPU8.subarray(buffer>>>0,buffer+size>>>0));return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}_random_get.sig="ipp";var _stackAlloc=stackAlloc;var _stackRestore=stackSave;var _stackSave=stackSave;var FS_createPath=(...args)=>FS.createPath(...args);var FS_unlink=(...args)=>FS.unlink(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);var writeI53ToI64Clamped=(ptr,num)=>{if(num>0x8000000000000000){HEAPU32[ptr>>>2>>>0]=4294967295;HEAPU32[ptr+4>>>2>>>0]=2147483647}else if(num<-0x8000000000000000){HEAPU32[ptr>>>2>>>0]=0;HEAPU32[ptr+4>>>2>>>0]=2147483648}else{writeI53ToI64(ptr,num)}};var writeI53ToI64Signaling=(ptr,num)=>{if(num>0x8000000000000000||num<-0x8000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var writeI53ToU64Clamped=(ptr,num)=>{if(num>0x10000000000000000){HEAPU32[ptr>>>2>>>0]=4294967295;HEAPU32[ptr+4>>>2>>>0]=4294967295}else if(num<0){HEAPU32[ptr>>>2>>>0]=0;HEAPU32[ptr+4>>>2>>>0]=0}else{writeI53ToI64(ptr,num)}};var writeI53ToU64Signaling=(ptr,num)=>{if(num<0||num>0x10000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};var readI53FromU64=ptr=>HEAPU32[ptr>>>2>>>0]+HEAPU32[ptr+4>>>2>>>0]*4294967296;var convertI32PairToI53=(lo,hi)=>(lo>>>0)+hi*4294967296;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;var convertU32PairToI53=(lo,hi)=>(lo>>>0)+(hi>>>0)*4294967296;var getTempRet0=val=>__emscripten_tempret_get();var setTempRet0=val=>__emscripten_tempret_set(val);var ptrToString=ptr=>"0x"+ptr.toString(16).padStart(8,"0");function _emscripten_notify_memory_growth(memoryIndex){memoryIndex>>>=0;updateMemoryViews()}_emscripten_notify_memory_growth.sig="vp";var strError=errno=>UTF8ToString(_strerror(errno));var _endprotoent=()=>{};_endprotoent.sig="v";function _getprotoent(number){if(_setprotoent.index===Protocols.list.length){return 0}var result=Protocols.list[_setprotoent.index++];return result}_getprotoent.sig="p";function _getprotobynumber(number){_setprotoent(true);var result=Protocols.map[number];return result}_getprotobynumber.sig="pi";var 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]};function _emscripten_run_script(ptr){ptr>>>=0;eval(UTF8ToString(ptr))}_emscripten_run_script.sig="vp";function _emscripten_run_script_int(ptr){ptr>>>=0;return 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;var len=lengthBytesUTF8(s);if(!me.bufferSize||me.bufferSizeMath.random();_emscripten_random.sig="f";var _emscripten_performance_now=()=>performance.now();_emscripten_performance_now.sig="d";var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;__emscripten_get_now_is_monotonic.sig="i";var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var jsStackTrace=()=>(new Error).stack.toString();var getCallstack=flags=>{var callstack=jsStackTrace();var lines=callstack.split("\n");callstack="";var firefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var line of lines){var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts?.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=firefoxRe.exec(line);if(parts?.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}if(symbolName=="_emscripten_log"||symbolName=="_emscripten_get_callstack"){callstack="";continue}if(flags&24){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=` at ${symbolName} (${file}:${lineno}:${column})\n`}}callstack=callstack.replace(/\s+$/,"");return callstack};var emscriptenLog=(flags,str)=>{if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+getCallstack(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}};var reallyNegative=x=>x<0||x===0&&1/x===-Infinity;var reSign=(value,bits)=>{if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value};var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var end=ptr;while(HEAPU8[end>>>0])++end;return end-ptr};var formatString=(format,varargs)=>{var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>>3>>>0];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>>2>>>0],HEAP32[argIndex+4>>>2>>>0]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>>2>>>0];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>>0];if(curr===0)break;next=HEAP8[textIndex+1>>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.slice(1)}while(prefix.length+argText.lengthret.push(chr.charCodeAt(0)));break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.lengthret.push(chr.charCodeAt(0)));break}case"s":{var arg=getNextArg("i8*");var argLength=arg?strLen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength>>0])}}else{ret=ret.concat(intArrayFromString("(null)".slice(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>>2>>>0]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret};function _emscripten_log(flags,format,varargs){format>>>=0;varargs>>>=0;var result=formatString(format,varargs);var str=UTF8ArrayToString(result);emscriptenLog(flags,str)}_emscripten_log.sig="vipp";function _emscripten_get_compiler_setting(name){name>>>=0;throw"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";var _emscripten_debugger=()=>{debugger};_emscripten_debugger.sig="v";function _emscripten_print_double(x,to,max){to>>>=0;var str=x+"";if(to)return stringToUTF8(str,to,max);else return lengthBytesUTF8(str)}_emscripten_print_double.sig="idpi";function _emscripten_asm_const_double(code,sigPtr,argbuf){code>>>=0;sigPtr>>>=0;argbuf>>>=0;return runEmAsmFunction(code,sigPtr,argbuf)}_emscripten_asm_const_double.sig="dppp";function _emscripten_asm_const_ptr(code,sigPtr,argbuf){code>>>=0;sigPtr>>>=0;argbuf>>>=0;return runEmAsmFunction(code,sigPtr,argbuf)}_emscripten_asm_const_ptr.sig="pppp";var runMainThreadEmAsm=(emAsmAddr,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[emAsmAddr](...args)};function _emscripten_asm_const_int_sync_on_main_thread(emAsmAddr,sigPtr,argbuf){emAsmAddr>>>=0;sigPtr>>>=0;argbuf>>>=0;return runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1)}_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";function _emscripten_asm_const_ptr_sync_on_main_thread(emAsmAddr,sigPtr,argbuf){emAsmAddr>>>=0;sigPtr>>>=0;argbuf>>>=0;return runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,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(emAsmAddr,sigPtr,argbuf){emAsmAddr>>>=0;sigPtr>>>=0;argbuf>>>=0;return runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,0)}_emscripten_asm_const_async_on_main_thread.sig="vppp";function __Unwind_Backtrace(func,arg){func>>>=0;arg>>>=0;var trace=getCallstack();var parts=trace.split("\n");for(var i=0;i>>=0;ipBefore>>>=0;return abort("Unwind_GetIPInfo")}__Unwind_GetIPInfo.sig="ppp";function __Unwind_FindEnclosingFunction(ip){ip>>>=0;return 0}__Unwind_FindEnclosingFunction.sig="pp";var listenOnce=(object,event,func)=>object.addEventListener(event,func,{once:true});var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})};var dynCall=(sig,ptr,args=[],promising=false)=>{var func=getWasmTableEntry(ptr);var rtn=func(...args);function convert(rtn){return sig[0]=="p"?rtn>>>0:rtn}return convert(rtn)};var getDynCaller=(sig,ptr,promising=false)=>(...args)=>dynCall(sig,ptr,args,promising);var _emscripten_exit_with_live_runtime=()=>{runtimeKeepalivePush();throw"unwind"};_emscripten_exit_with_live_runtime.sig="v";var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};_emscripten_force_exit.sig="vi";function _emscripten_outn(str,len){str>>>=0;len>>>=0;return out(UTF8ToString(str,len))}_emscripten_outn.sig="vpp";function _emscripten_errn(str,len){str>>>=0;len>>>=0;return err(UTF8ToString(str,len))}_emscripten_errn.sig="vpp";var _emscripten_throw_number=number=>{throw number};_emscripten_throw_number.sig="vd";function _emscripten_throw_string(str){str>>>=0;throw UTF8ToString(str)}_emscripten_throw_string.sig="vp";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=x=>{if(x=="__main_argc_argv"){x="main"}return x.startsWith("dynCall_")?x:"_"+x};var ___global_base=1024;function __emscripten_fs_load_embedded_files(ptr){ptr>>>=0;do{var name_addr=HEAPU32[ptr>>>2>>>0];ptr+=4;var len=HEAPU32[ptr>>>2>>>0];ptr+=4;var content=HEAPU32[ptr>>>2>>>0];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content>>>0,content+len>>>0),true,true,true)}while(HEAPU32[ptr>>>2>>>0])}__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;function getNativeTypeSize(type){switch(type){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(type.endsWith("*")){return POINTER_SIZE}if(type[0]==="i"){const bits=Number(type.slice(1));assert(bits%8===0,`getNativeTypeSize invalid bits ${bits}, ${type} type`);return bits/8}return 0}}}var onInits=[];var addOnInit=cb=>onInits.push(cb);var onMains=[];var addOnPreMain=cb=>onMains.push(cb);var onExits=[];var addOnExit=cb=>onExits.push(cb);var STACK_SIZE=5242880;var STACK_ALIGN=16;var ASSERTIONS=0;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var removeFunction=index=>{functionsInTableMap.delete(getWasmTableEntry(index));setWasmTableEntry(index,null);freeTableIndexes.push(index)};var _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=(x,y)=>x%y;_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(count,varargs){varargs>>>=0;var args=[];for(var i=0;i>>3>>>0])}return Math.hypot(...args)}_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";var intArrayToString=array=>{var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")};var AsciiToString=ptr=>{ptr>>>=0;var str="";while(1){var ch=HEAPU8[ptr++>>>0];if(!ch)return str;str+=String.fromCharCode(ch)}};var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var idx=ptr>>>1;var maxIdx=idx+maxBytesToRead/2;var endIdx=idx;while(!(endIdx>=maxIdx)&&HEAPU16[endIdx>>>0])++endIdx;if(endIdx-idx>16&&UTF16Decoder)return UTF16Decoder.decode(HEAPU16.subarray(idx>>>0,endIdx>>>0));var str="";for(var i=idx;!(i>=maxIdx);++i){var codeUnit=HEAPU16[i>>>0];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>>1>>>0]=codeUnit;outPtr+=2}HEAP16[outPtr>>>1>>>0]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>>2>>>0];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{outPtr>>>=0;maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>>2>>>0]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>>2>>>0]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var JSEvents={memcpy(target,src,size){HEAP8.set(HEAP8.subarray(src>>>0,src+size>>>0),target>>>0)},removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},registerRemoveEventListeners(){if(!JSEvents.removeEventListenersRegistered){addOnExit(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction,precedence,argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):null);return domElement};var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.keyEvent||=_malloc(160);var keyEventHandlerFunc=e=>{var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>>3>>>0]=e.timeStamp;var idx=keyEventData>>>2;HEAP32[idx+2>>>0]=e.location;HEAP8[keyEventData+12>>>0]=e.ctrlKey;HEAP8[keyEventData+13>>>0]=e.shiftKey;HEAP8[keyEventData+14>>>0]=e.altKey;HEAP8[keyEventData+15>>>0]=e.metaKey;HEAP8[keyEventData+16>>>0]=e.repeat;HEAP32[idx+5>>>0]=e.charCode;HEAP32[idx+6>>>0]=e.keyCode;HEAP32[idx+7>>>0]=e.which;stringToUTF8(e.key||"",keyEventData+32,32);stringToUTF8(e.code||"",keyEventData+64,32);stringToUTF8(e.char||"",keyEventData+96,32);stringToUTF8(e.locale||"",keyEventData+128,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var findCanvasEventTarget=findEventTarget;function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread)}_emscripten_set_keypress_callback_on_thread.sig="ippipp";function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}_emscripten_set_keydown_callback_on_thread.sig="ippipp";function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0};var fillMouseEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>>3>>>0]=e.timeStamp;var idx=eventStruct>>>2;HEAP32[idx+2>>>0]=e.screenX;HEAP32[idx+3>>>0]=e.screenY;HEAP32[idx+4>>>0]=e.clientX;HEAP32[idx+5>>>0]=e.clientY;HEAP8[eventStruct+24>>>0]=e.ctrlKey;HEAP8[eventStruct+25>>>0]=e.shiftKey;HEAP8[eventStruct+26>>>0]=e.altKey;HEAP8[eventStruct+27>>>0]=e.metaKey;HEAP16[idx*2+14>>>0]=e.button;HEAP16[idx*2+15>>>0]=e.buttons;HEAP32[idx+8>>>0]=e["movementX"];HEAP32[idx+9>>>0]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+10>>>0]=e.clientX-(rect.left|0);HEAP32[idx+11>>>0]=e.clientY-(rect.top|0)};var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.mouseEvent||=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=(e=event)=>{fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString,callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_click_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread)}_emscripten_set_click_callback_on_thread.sig="ippipp";function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}_emscripten_set_mousedown_callback_on_thread.sig="ippipp";function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}_emscripten_set_mouseup_callback_on_thread.sig="ippipp";function _emscripten_set_dblclick_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,7,"dblclick",targetThread)}_emscripten_set_dblclick_callback_on_thread.sig="ippipp";function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}_emscripten_set_mousemove_callback_on_thread.sig="ippipp";function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread)}_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread)}_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";function _emscripten_set_mouseover_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,35,"mouseover",targetThread)}_emscripten_set_mouseover_callback_on_thread.sig="ippipp";function _emscripten_set_mouseout_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,36,"mouseout",targetThread)}_emscripten_set_mouseout_callback_on_thread.sig="ippipp";function _emscripten_get_mouse_status(mouseState){mouseState>>>=0;if(!JSEvents.mouseEvent)return-7;JSEvents.memcpy(mouseState,JSEvents.mouseEvent,64);return 0}_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.wheelEvent||=_malloc(96);var wheelHandlerFunc=(e=event)=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+64>>>3>>>0]=e["deltaX"];HEAPF64[wheelEvent+72>>>3>>>0]=e["deltaY"];HEAPF64[wheelEvent+80>>>3>>>0]=e["deltaZ"];HEAP32[wheelEvent+88>>>2>>>0]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:wheelHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.uiEvent||=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>>2>>>0]=0;HEAP32[uiEvent+4>>>2>>>0]=b.clientWidth;HEAP32[uiEvent+8>>>2>>>0]=b.clientHeight;HEAP32[uiEvent+12>>>2>>>0]=innerWidth;HEAP32[uiEvent+16>>>2>>>0]=innerHeight;HEAP32[uiEvent+20>>>2>>>0]=outerWidth;HEAP32[uiEvent+24>>>2>>>0]=outerHeight;HEAP32[uiEvent+28>>>2>>>0]=pageXOffset|0;HEAP32[uiEvent+32>>>2>>>0]=pageYOffset|0;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread)}_emscripten_set_resize_callback_on_thread.sig="ippipp";function _emscripten_set_scroll_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerUiEventCallback(target,userData,useCapture,callbackfunc,11,"scroll",targetThread)}_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.focusEvent||=_malloc(256);var focusEventHandlerFunc=(e=event)=>{var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}_emscripten_set_blur_callback_on_thread.sig="ippipp";function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}_emscripten_set_focus_callback_on_thread.sig="ippipp";function _emscripten_set_focusin_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,14,"focusin",targetThread)}_emscripten_set_focusin_callback_on_thread.sig="ippipp";function _emscripten_set_focusout_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,15,"focusout",targetThread)}_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>>3>>>0]=e.alpha;HEAPF64[eventStruct+8>>>3>>>0]=e.beta;HEAPF64[eventStruct+16>>>3>>>0]=e.gamma;HEAP8[eventStruct+24>>>0]=e.absolute};var registerDeviceOrientationEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceOrientationEvent||=_malloc(32);var deviceOrientationEventHandlerFunc=(e=event)=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceOrientationEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceOrientationEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_deviceorientation_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerDeviceOrientationEventCallback(2,userData,useCapture,callbackfunc,16,"deviceorientation",targetThread)}_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";function _emscripten_get_deviceorientation_status(orientationState){orientationState>>>=0;if(!JSEvents.deviceOrientationEvent)return-7;JSEvents.memcpy(orientationState,JSEvents.deviceOrientationEvent,32);return 0}_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(eventStruct,e,target)=>{var supportedFields=0;var a=e["acceleration"];supportedFields|=a&&1;var ag=e["accelerationIncludingGravity"];supportedFields|=ag&&2;var rr=e["rotationRate"];supportedFields|=rr&&4;a=a||{};ag=ag||{};rr=rr||{};HEAPF64[eventStruct>>>3>>>0]=a["x"];HEAPF64[eventStruct+8>>>3>>>0]=a["y"];HEAPF64[eventStruct+16>>>3>>>0]=a["z"];HEAPF64[eventStruct+24>>>3>>>0]=ag["x"];HEAPF64[eventStruct+32>>>3>>>0]=ag["y"];HEAPF64[eventStruct+40>>>3>>>0]=ag["z"];HEAPF64[eventStruct+48>>>3>>>0]=rr["alpha"];HEAPF64[eventStruct+56>>>3>>>0]=rr["beta"];HEAPF64[eventStruct+64>>>3>>>0]=rr["gamma"]};var registerDeviceMotionEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.deviceMotionEvent||=_malloc(80);var deviceMotionEventHandlerFunc=(e=event)=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceMotionEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:deviceMotionEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_devicemotion_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerDeviceMotionEventCallback(2,userData,useCapture,callbackfunc,17,"devicemotion",targetThread)}_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";function _emscripten_get_devicemotion_status(motionState){motionState>>>=0;if(!JSEvents.deviceMotionEvent)return-7;JSEvents.memcpy(motionState,JSEvents.deviceMotionEvent,80);return 0}_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(!window.screen)return undefined;return screen.orientation||screen["mozOrientation"]||screen["webkitOrientation"]};var fillOrientationChangeEventData=eventStruct=>{var orientationsType1=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientationsType2=["portrait","portrait","landscape","landscape"];var orientationIndex=0;var orientationAngle=0;var screenOrientObj=screenOrientation();if(typeof screenOrientObj==="object"){orientationIndex=orientationsType1.indexOf(screenOrientObj.type);if(orientationIndex<0){orientationIndex=orientationsType2.indexOf(screenOrientObj.type)}if(orientationIndex>=0){orientationIndex=1<>>2>>>0]=orientationIndex;HEAP32[eventStruct+4>>>2>>>0]=orientationAngle};var registerOrientationChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.orientationChangeEvent||=_malloc(8);var orientationChangeEventHandlerFunc=(e=event)=>{var orientationChangeEvent=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(orientationChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,orientationChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:orientationChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_orientationchange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!window.screen||!screen.orientation)return-1;return registerOrientationChangeEventCallback(screen.orientation,userData,useCapture,callbackfunc,18,"change",targetThread)}_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";function _emscripten_get_orientation_status(orientationChangeEvent){orientationChangeEvent>>>=0;if(!screenOrientation()&&typeof orientation=="undefined")return-1;fillOrientationChangeEventData(orientationChangeEvent);return 0}_emscripten_get_orientation_status.sig="ip";var _emscripten_lock_orientation=allowedOrientations=>{var orientations=[];if(allowedOrientations&1)orientations.push("portrait-primary");if(allowedOrientations&2)orientations.push("portrait-secondary");if(allowedOrientations&4)orientations.push("landscape-primary");if(allowedOrientations&8)orientations.push("landscape-secondary");var succeeded;if(screen.lockOrientation){succeeded=screen.lockOrientation(orientations)}else if(screen.mozLockOrientation){succeeded=screen.mozLockOrientation(orientations)}else if(screen.webkitLockOrientation){succeeded=screen.webkitLockOrientation(orientations)}else{return-1}if(succeeded){return 0}return-6};_emscripten_lock_orientation.sig="ii";var _emscripten_unlock_orientation=()=>{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=eventStruct=>{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP8[eventStruct>>>0]=isFullscreen;HEAP8[eventStruct+1>>>0]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement?.id||"";stringToUTF8(nodeName,eventStruct+2,128);stringToUTF8(id,eventStruct+130,128);HEAP32[eventStruct+260>>>2>>>0]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+264>>>2>>>0]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+268>>>2>>>0]=screen.width;HEAP32[eventStruct+272>>>2>>>0]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.fullscreenChangeEvent||=_malloc(276);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)}_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";function _emscripten_get_fullscreen_status(fullscreenStatus){fullscreenStatus>>>=0;if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0}_emscripten_get_fullscreen_status.sig="ip";function _emscripten_get_canvas_element_size(target,width,height){target>>>=0;width>>>=0;height>>>=0;var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>>2>>>0]=canvas.width;HEAP32[height>>>2>>>0]=canvas.height}_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=target=>{var sp=stackSave();var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>>2>>>0],HEAP32[h>>>2>>>0]];stackRestore(sp);return size};function _emscripten_set_canvas_element_size(target,width,height){target>>>=0;var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(target,width,height)=>{if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{var sp=stackSave();var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height);stackRestore(sp)}};var currentFullscreenStrategy={};var registerRestoreOldStyle=canvas=>{var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle};var setLetterbox=(element,topBottom,leftRight)=>{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"};var JSEvents_resizeCanvasForFullscreen=(target,strategy)=>{var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight{if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};var hideEverythingExceptGivenElement=onlyVisibleElement=>{var child=onlyVisibleElement;var parent=child.parentNode;var hiddenElements=[];while(child!=document.body){var children=parent.children;for(var currChild of children){if(currChild!=child){hiddenElements.push({node:currChild,displayState:currChild.style.display});currChild.style.display="none"}}child=parent;parent=parent.parentNode}return hiddenElements};var restoreHiddenElements=hiddenElements=>{for(var elem of hiddenElements){elem.node.style.display=elem.displayState}};var restoreOldWindowedStyle=null;var softFullscreenResizeWebGLRenderTarget=()=>{var dpr=devicePixelRatio;var inHiDPIFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode==2;var inAspectRatioFixedFullscreenMode=currentFullscreenStrategy.scaleMode==2;var inPixelPerfectFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode!=0;var inCenteredWithoutScalingFullscreenMode=currentFullscreenStrategy.scaleMode==3;var screenWidth=inHiDPIFullscreenMode?Math.round(innerWidth*dpr):innerWidth;var screenHeight=inHiDPIFullscreenMode?Math.round(innerHeight*dpr):innerHeight;var w=screenWidth;var h=screenHeight;var canvas=currentFullscreenStrategy.target;var canvasSize=getCanvasElementSize(canvas);var x=canvasSize[0];var y=canvasSize[1];var topMargin;if(inAspectRatioFixedFullscreenMode){if(w*yx*h)w=h*x/y|0;topMargin=(screenHeight-h)/2|0}if(inPixelPerfectFullscreenMode){setCanvasElementSize(canvas,w,h);if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,w,h)}if(inHiDPIFullscreenMode){topMargin/=dpr;w/=dpr;h/=dpr;w=Math.round(w*1e4)/1e4;h=Math.round(h*1e4)/1e4;topMargin=Math.round(topMargin*1e4)/1e4}if(inCenteredWithoutScalingFullscreenMode){var t=(innerHeight-jstoi_q(canvas.style.height))/2;var b=(innerWidth-jstoi_q(canvas.style.width))/2;setLetterbox(canvas,t,b)}else{canvas.style.width=w+"px";canvas.style.height=h+"px";var b=(innerWidth-w)/2;setLetterbox(canvas,topMargin,b)}if(!inCenteredWithoutScalingFullscreenMode&¤tFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}};var doRequestFullscreen=(target,strategy)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}if(!JSEvents.canPerformEventHandlerRequests()){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)};function _emscripten_request_fullscreen(target,deferUntilInEventHandler){target>>>=0;var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)}_emscripten_request_fullscreen.sig="ipi";function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){target>>>=0;fullscreenStrategy>>>=0;var strategy={scaleMode:HEAP32[fullscreenStrategy>>>2>>>0],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>>2>>>0],filteringMode:HEAP32[fullscreenStrategy+8>>>2>>>0],deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>>2>>>0],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>>2>>>0]};return doRequestFullscreen(target,strategy)}_emscripten_request_fullscreen_strategy.sig="ipip";function _emscripten_enter_soft_fullscreen(target,fullscreenStrategy){target>>>=0;fullscreenStrategy>>>=0;target=findEventTarget(target);if(!target)return-4;var strategy={scaleMode:HEAP32[fullscreenStrategy>>>2>>>0],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>>2>>>0],filteringMode:HEAP32[fullscreenStrategy+8>>>2>>>0],canvasResizedCallback:HEAP32[fullscreenStrategy+12>>>2>>>0],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>>2>>>0],target,softFullscreen:true};var restoreOldStyle=JSEvents_resizeCanvasForFullscreen(target,strategy);document.documentElement.style.overflow="hidden";document.body.scroll="no";document.body.style.margin="0px";var hiddenElements=hideEverythingExceptGivenElement(target);function restoreWindowedState(){restoreOldStyle();restoreHiddenElements(hiddenElements);removeEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}currentFullscreenStrategy=0}restoreOldWindowedStyle=restoreWindowedState;currentFullscreenStrategy=strategy;addEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0}_emscripten_enter_soft_fullscreen.sig="ipp";var _emscripten_exit_soft_fullscreen=()=>{restoreOldWindowedStyle?.();restoreOldWindowedStyle=null;return 0};_emscripten_exit_soft_fullscreen.sig="i";var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0};_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=eventStruct=>{var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP8[eventStruct>>>0]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement?.id||"";stringToUTF8(nodeName,eventStruct+1,128);stringToUTF8(id,eventStruct+129,128)};var registerPointerlockChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.pointerlockChangeEvent||=_malloc(257);var pointerlockChangeEventHandlerFunc=(e=event)=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)}_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var pointerlockErrorEventHandlerFunc=(e=event)=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockErrorEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_pointerlockerror_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mozpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"webkitpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mspointerlockerror",targetThread);return registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"pointerlockerror",targetThread)}_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";function _emscripten_get_pointerlock_status(pointerlockStatus){pointerlockStatus>>>=0;if(pointerlockStatus)fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=target=>{if(target.requestPointerLock){target.requestPointerLock()}else{if(document.body.requestPointerLock){return-3}return-1}return 0};function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target>>>=0;target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}if(!JSEvents.canPerformEventHandlerRequests()){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)}_emscripten_request_pointerlock.sig="ipi";var _emscripten_exit_pointerlock=()=>{JSEvents.removeDeferredCalls(requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else{return-1}return 0};_emscripten_exit_pointerlock.sig="i";var _emscripten_vibrate=msecs=>{if(!navigator.vibrate)return-1;navigator.vibrate(msecs);return 0};_emscripten_vibrate.sig="ii";function _emscripten_vibrate_pattern(msecsArray,numEntries){msecsArray>>>=0;if(!navigator.vibrate)return-1;var vibrateList=[];for(var i=0;i>>2>>>0];vibrateList.push(msecs)}navigator.vibrate(vibrateList);return 0}_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct>>>0]=document.hidden;HEAP32[eventStruct+4>>>2>>>0]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.visibilityChangeEvent||=_malloc(8);var visibilityChangeEventHandlerFunc=(e=event)=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)}_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";function _emscripten_get_visibility_status(visibilityStatus){visibilityStatus>>>=0;if(typeof document.visibilityState=="undefined"&&typeof document.hidden=="undefined"){return-1}fillVisibilityChangeEventData(visibilityStatus);return 0}_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.touchEvent||=_malloc(1552);target=findEventTarget(target);var touchEventHandlerFunc=e=>{var t,touches={},et=e.touches;for(let t of et){t.isChanged=t.onTarget=0;touches[t.identifier]=t}for(let t of e.changedTouches){t.isChanged=1;touches[t.identifier]=t}for(let t of e.targetTouches){touches[t.identifier].onTarget=1}var touchEvent=JSEvents.touchEvent;HEAPF64[touchEvent>>>3>>>0]=e.timeStamp;HEAP8[touchEvent+12>>>0]=e.ctrlKey;HEAP8[touchEvent+13>>>0]=e.shiftKey;HEAP8[touchEvent+14>>>0]=e.altKey;HEAP8[touchEvent+15>>>0]=e.metaKey;var idx=touchEvent+16;var targetRect=getBoundingClientRect(target);var numTouches=0;for(let t of Object.values(touches)){var idx32=idx>>>2;HEAP32[idx32+0>>>0]=t.identifier;HEAP32[idx32+1>>>0]=t.screenX;HEAP32[idx32+2>>>0]=t.screenY;HEAP32[idx32+3>>>0]=t.clientX;HEAP32[idx32+4>>>0]=t.clientY;HEAP32[idx32+5>>>0]=t.pageX;HEAP32[idx32+6>>>0]=t.pageY;HEAP8[idx+28>>>0]=t.isChanged;HEAP8[idx+29>>>0]=t.onTarget;HEAP32[idx32+8>>>0]=t.clientX-(targetRect.left|0);HEAP32[idx32+9>>>0]=t.clientY-(targetRect.top|0);idx+=48;if(++numTouches>31){break}}HEAP32[touchEvent+8>>>2>>>0]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString,callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}_emscripten_set_touchstart_callback_on_thread.sig="ippipp";function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}_emscripten_set_touchend_callback_on_thread.sig="ippipp";function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}_emscripten_set_touchmove_callback_on_thread.sig="ippipp";function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread)}_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>>3>>>0]=e.timestamp;for(var i=0;i>>3>>>0]=e.axes[i]}for(var i=0;i>>3>>>0]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>>3>>>0]=e.buttons[i]}}for(var i=0;i>>0]=e.buttons[i].pressed}else{HEAP8[eventStruct+i+1040>>>0]=e.buttons[i]==1}}HEAP8[eventStruct+1104>>>0]=e.connected;HEAP32[eventStruct+1108>>>2>>>0]=e.index;HEAP32[eventStruct+8>>>2>>>0]=e.axes.length;HEAP32[eventStruct+12>>>2>>>0]=e.buttons.length;stringToUTF8(e.id,eventStruct+1112,64);stringToUTF8(e.mapping,eventStruct+1176,64)};var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.gamepadEvent||=_malloc(1240);var gamepadEventHandlerFunc=(e=event)=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_sample_gamepad_data=()=>{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(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)}_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)}_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;_emscripten_get_num_gamepads.sig="i";function _emscripten_get_gamepad_status(index,gamepadState){gamepadState>>>=0;if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=event)=>{var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")}_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>>3>>>0]=e.chargingTime;HEAPF64[eventStruct+8>>>3>>>0]=e.dischargingTime;HEAPF64[eventStruct+16>>>3>>>0]=e.level;HEAP8[eventStruct+24>>>0]=e.charging};var battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery;var registerBatteryEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.batteryEvent||=_malloc(32);var batteryEventHandlerFunc=(e=event)=>{var batteryEvent=JSEvents.batteryEvent;fillBatteryEventData(batteryEvent,battery());if(getWasmTableEntry(callbackfunc)(eventTypeId,batteryEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:batteryEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_batterychargingchange_callback_on_thread(userData,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,29,"chargingchange",targetThread)}_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";function _emscripten_set_batterylevelchange_callback_on_thread(userData,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,30,"levelchange",targetThread)}_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";function _emscripten_get_battery_status(batteryState){batteryState>>>=0;if(!battery())return-1;fillBatteryEventData(batteryState,battery());return 0}_emscripten_get_battery_status.sig="ip";function _emscripten_set_element_css_size(target,width,height){target>>>=0;target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}_emscripten_set_element_css_size.sig="ipdd";function _emscripten_get_element_css_size(target,width,height){target>>>=0;width>>>=0;height>>>=0;target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>>3>>>0]=rect.width;HEAPF64[height>>>3>>>0]=rect.height;return 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(cb,userData){cb>>>=0;userData>>>=0;return requestAnimationFrame(timeStamp=>getWasmTableEntry(cb)(timeStamp,userData))};_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=id=>cancelAnimationFrame(id);_emscripten_cancel_animation_frame.sig="vi";function _emscripten_request_animation_frame_loop(cb,userData){cb>>>=0;userData>>>=0;function tick(timeStamp){if(getWasmTableEntry(cb)(timeStamp,userData)){requestAnimationFrame(tick)}}return requestAnimationFrame(tick)}_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_get_device_pixel_ratio=()=>typeof devicePixelRatio=="number"&&devicePixelRatio||1;_emscripten_get_device_pixel_ratio.sig="d";function _emscripten_get_callstack(flags,str,maxbytes){str>>>=0;var callstack=getCallstack(flags);if(!str||maxbytes<=0){return lengthBytesUTF8(callstack)+1}var bytesWrittenExcludingNull=stringToUTF8(callstack,str,maxbytes);return bytesWrittenExcludingNull+1}_emscripten_get_callstack.sig="iipi";var convertFrameToPC=frame=>{abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER");return 0};function _emscripten_return_address(level){var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}var caller=callstack[level+3];return convertFrameToPC(caller)}_emscripten_return_address.sig="pi";var UNWIND_CACHE={};var saveInUnwindCache=callstack=>{callstack.forEach(frame=>{var pc=convertFrameToPC(frame);if(pc){UNWIND_CACHE[pc]=frame}})};function _emscripten_stack_snapshot(){var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}saveInUnwindCache(callstack);UNWIND_CACHE.last_addr=convertFrameToPC(callstack[3]);UNWIND_CACHE.last_stack=callstack;return UNWIND_CACHE.last_addr}_emscripten_stack_snapshot.sig="p";function _emscripten_stack_unwind_buffer(addr,buffer,count){addr>>>=0;buffer>>>=0;var stack;if(UNWIND_CACHE.last_addr==addr){stack=UNWIND_CACHE.last_stack}else{stack=jsStackTrace().split("\n");if(stack[0]=="Error"){stack.shift()}saveInUnwindCache(stack)}var offset=3;while(stack[offset]&&convertFrameToPC(stack[offset])!=addr){++offset}for(var i=0;i>>2>>>0]=convertFrameToPC(stack[i+offset])}return i}_emscripten_stack_unwind_buffer.sig="ippi";function _emscripten_pc_get_function(pc){pc>>>=0;abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER");return 0}_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=pc=>{if(UNWIND_CACHE.last_get_source_pc==pc)return UNWIND_CACHE.last_source;var match;var source;if(!source){var frame=UNWIND_CACHE[pc];if(!frame)return null;if(match=/\((.*):(\d+):(\d+)\)$/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}else if(match=/@(.*):(\d+):(\d+)/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}}UNWIND_CACHE.last_get_source_pc=pc;UNWIND_CACHE.last_source=source;return source};function _emscripten_pc_get_file(pc){pc>>>=0;var result=convertPCtoSourceLocation(pc);if(!result)return 0;if(_emscripten_pc_get_file.ret)_free(_emscripten_pc_get_file.ret);_emscripten_pc_get_file.ret=stringToNewUTF8(result.file);return _emscripten_pc_get_file.ret}_emscripten_pc_get_file.sig="pp";function _emscripten_pc_get_line(pc){pc>>>=0;var result=convertPCtoSourceLocation(pc);return result?result.line:0}_emscripten_pc_get_line.sig="ip";function _emscripten_pc_get_column(pc){pc>>>=0;var result=convertPCtoSourceLocation(pc);return result?result.column||0:0}_emscripten_pc_get_column.sig="ip";var wasiRightsToMuslOFlags=rights=>{if(rights&2&&rights&64){return 2}if(rights&2){return 0}if(rights&64){return 1}throw new FS.ErrnoError(28)};var wasiOFlagsToMuslOFlags=oflags=>{var musl_oflags=0;if(oflags&1){musl_oflags|=64}if(oflags&8){musl_oflags|=512}if(oflags&2){musl_oflags|=65536}if(oflags&4){musl_oflags|=128}return musl_oflags};var _emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};_emscripten_unwind_to_js_event_loop.sig="v";var safeSetTimeout=(func,timeout)=>{runtimeKeepalivePush();return setTimeout(()=>{runtimeKeepalivePop();callUserCallback(func)},timeout)};var setImmediateWrapped=func=>{setImmediateWrapped.mapping||=[];var id=setImmediateWrapped.mapping.length;setImmediateWrapped.mapping[id]=setImmediate(()=>{setImmediateWrapped.mapping[id]=undefined;func()});return id};var _emscripten_set_main_loop_timing=(mode,value)=>{MainLoop.timingMode=mode;MainLoop.timingValue=value;if(!MainLoop.func){return 1}if(!MainLoop.running){runtimeKeepalivePush();MainLoop.running=true}if(mode==0){MainLoop.scheduler=function MainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,MainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(MainLoop.runner,timeUntilNextTick)};MainLoop.method="timeout"}else if(mode==1){MainLoop.scheduler=function MainLoop_scheduler_rAF(){MainLoop.requestAnimationFrame(MainLoop.runner)};MainLoop.method="rAF"}else if(mode==2){if(typeof MainLoop.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var MainLoop_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",MainLoop_setImmediate_messageHandler,true);MainLoop.setImmediate=func=>{setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{MainLoop.setImmediate=setImmediate}}MainLoop.scheduler=function MainLoop_scheduler_setImmediate(){MainLoop.setImmediate(MainLoop.runner)};MainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(iterFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{MainLoop.func=iterFunc;MainLoop.arg=arg;var thisMainLoopId=MainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=MainLoop.queue.shift();blocker.func(blocker.arg);if(MainLoop.remainingBlockers){var remaining=MainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){MainLoop.remainingBlockers=next}else{next=next+.5;MainLoop.remainingBlockers=(8*remaining+next)/9}}MainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(MainLoop.runner,0);return}if(!checkIsRunning())return;MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0;if(MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else if(MainLoop.timingMode==0){MainLoop.tickStartTime=_emscripten_get_now()}MainLoop.runIter(iterFunc);if(!checkIsRunning())return;MainLoop.scheduler()};if(!noSetTiming){if(fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}MainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var MainLoop={running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null;MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var timingMode=MainLoop.timingMode;var timingValue=MainLoop.timingValue;var func=MainLoop.func;MainLoop.func=null;setMainLoop(func,0,false,MainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);MainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=MainLoop.remainingBlockers??0;var expected=MainLoop.expectedBlockers??0;if(remaining){if(remaining=MainLoop.nextRAF){MainLoop.nextRAF+=1e3/60}}var delay=Math.max(MainLoop.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=MainLoop.fakeRequestAnimationFrame;RAF(func)}};var safeRequestAnimationFrame=func=>{runtimeKeepalivePush();return MainLoop.requestAnimationFrame(()=>{runtimeKeepalivePop();callUserCallback(func)})};var clearImmediateWrapped=id=>{clearImmediate(setImmediateWrapped.mapping[id]);setImmediateWrapped.mapping[id]=undefined};var emClearImmediate;var emSetImmediate;var emClearImmediate_deps=["$emSetImmediate"];var _emscripten_set_immediate=function(cb,userData){cb>>>=0;userData>>>=0;runtimeKeepalivePush();return emSetImmediate(()=>{runtimeKeepalivePop();callUserCallback(()=>getWasmTableEntry(cb)(userData))})};_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=id=>{runtimeKeepalivePop();emClearImmediate(id)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=function(cb,userData){cb>>>=0;userData>>>=0;function tick(){callUserCallback(()=>{if(getWasmTableEntry(cb)(userData)){emSetImmediate(tick)}else{runtimeKeepalivePop()}})}runtimeKeepalivePush();emSetImmediate(tick)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=function(cb,msecs,userData){cb>>>=0;userData>>>=0;return safeSetTimeout(()=>getWasmTableEntry(cb)(userData),msecs)};_emscripten_set_timeout.sig="ipdp";var _emscripten_clear_timeout=clearTimeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=function(cb,msecs,userData){cb>>>=0;userData>>>=0;function tick(){var t=_emscripten_get_now();var n=t+msecs;runtimeKeepalivePop();callUserCallback(()=>{if(getWasmTableEntry(cb)(t,userData)){runtimeKeepalivePush();var remaining=n-_emscripten_get_now();remaining=Math.max(0,remaining);setTimeout(tick,remaining)}})}runtimeKeepalivePush();return setTimeout(tick,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=function(cb,msecs,userData){cb>>>=0;userData>>>=0;runtimeKeepalivePush();return setInterval(()=>{callUserCallback(()=>getWasmTableEntry(cb)(userData))},msecs)};_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=id=>{runtimeKeepalivePop();clearInterval(id)};_emscripten_clear_interval.sig="vi";var _emscripten_async_call=function(func,arg,millis){func>>>=0;arg>>>=0;var wrapper=()=>getWasmTableEntry(func)(arg);if(millis>=0||ENVIRONMENT_IS_NODE){safeSetTimeout(wrapper,millis)}else{safeRequestAnimationFrame(wrapper)}};_emscripten_async_call.sig="vppi";var registerPostMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.postMainLoop.push(f)};var registerPreMainLoop=f=>{typeof MainLoop!="undefined"&&MainLoop.preMainLoop.push(f)};function _emscripten_get_main_loop_timing(mode,value){mode>>>=0;value>>>=0;if(mode)HEAP32[mode>>>2>>>0]=MainLoop.timingMode;if(value)HEAP32[value>>>2>>>0]=MainLoop.timingValue}_emscripten_get_main_loop_timing.sig="vpp";function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){func>>>=0;var iterFunc=getWasmTableEntry(func);setMainLoop(iterFunc,fps,simulateInfiniteLoop)}_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=function(func,arg,fps,simulateInfiniteLoop){func>>>=0;arg>>>=0;var iterFunc=()=>getWasmTableEntry(func)(arg);setMainLoop(iterFunc,fps,simulateInfiniteLoop,arg)};_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{MainLoop.pause();MainLoop.func=null};_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>MainLoop.pause();_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>MainLoop.resume();_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=function(func,arg,name){func>>>=0;arg>>>=0;name>>>=0;MainLoop.queue.push({func:()=>{getWasmTableEntry(func)(arg)},name:UTF8ToString(name),counted:true});MainLoop.updateStatus()};__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=function(func,arg,name){func>>>=0;arg>>>=0;name>>>=0;MainLoop.queue.push({func:()=>{getWasmTableEntry(func)(arg)},name:UTF8ToString(name),counted:false});MainLoop.updateStatus()};__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=num=>{MainLoop.expectedBlockers=num;MainLoop.remainingBlockers=num;MainLoop.updateStatus()};_emscripten_set_main_loop_expected_blockers.sig="vi";var idsToPromises=(idBuf,size)=>{var promises=[];for(var i=0;i>>2>>>0];promises[i]=getPromise(id)}return promises};var makePromiseCallback=(callback,userData)=>value=>{runtimeKeepalivePop();var stack=stackSave();var resultPtr=stackAlloc(POINTER_SIZE);HEAPU32[resultPtr>>>2>>>0]=0;try{var result=getWasmTableEntry(callback)(resultPtr,userData,value);var resultVal=HEAPU32[resultPtr>>>2>>>0]}catch(e){if(typeof e!="number"){throw 0}throw e}finally{stackRestore(stack)}switch(result){case 0:return resultVal;case 1:return getPromise(resultVal);case 2:var ret=getPromise(resultVal);_emscripten_promise_destroy(resultVal);return ret;case 3:throw resultVal}};function _emscripten_promise_then(id,onFulfilled,onRejected,userData){id>>>=0;onFulfilled>>>=0;onRejected>>>=0;userData>>>=0;runtimeKeepalivePush();var promise=getPromise(id);var newId=promiseMap.allocate({promise:promise.then(makePromiseCallback(onFulfilled,userData),makePromiseCallback(onRejected,userData))});return newId}_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=function(idBuf,resultBuf,size){idBuf>>>=0;resultBuf>>>=0;size>>>=0;var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.all(promises).then(results=>{if(resultBuf){for(var i=0;i>>2>>>0]=result}}return resultBuf})});return id};_emscripten_promise_all.sig="pppp";var setPromiseResult=(ptr,fulfill,value)=>{var result=fulfill?0:3;HEAP32[ptr>>>2>>>0]=result;HEAPU32[ptr+4>>>2>>>0]=value};var _emscripten_promise_all_settled=function(idBuf,resultBuf,size){idBuf>>>=0;resultBuf>>>=0;size>>>=0;var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.allSettled(promises).then(results=>{if(resultBuf){var offset=resultBuf;for(var i=0;i>>=0;errorBuf>>>=0;size>>>=0;var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.any(promises).catch(err=>{if(errorBuf){for(var i=0;i>>2>>>0]=err.errors[i]}}throw errorBuf})});return id};_emscripten_promise_any.sig="pppp";function _emscripten_promise_race(idBuf,size){idBuf>>>=0;size>>>=0;var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.race(promises)});return id}_emscripten_promise_race.sig="ppp";function _emscripten_promise_await(returnValuePtr,id){returnValuePtr>>>=0;id>>>=0;abort("emscripten_promise_await is only available with ASYNCIFY")}_emscripten_promise_await.sig="vpp";var getExceptionMessageCommon=ptr=>{var sp=stackSave();var type_addr_addr=stackAlloc(4);var message_addr_addr=stackAlloc(4);___get_exception_message(ptr,type_addr_addr,message_addr_addr);var type_addr=HEAPU32[type_addr_addr>>>2>>>0];var message_addr=HEAPU32[message_addr_addr>>>2>>>0];var type=UTF8ToString(type_addr);_free(type_addr);var message;if(message_addr){message=UTF8ToString(message_addr);_free(message_addr)}stackRestore(sp);return[type,message]};var getCppExceptionTag=()=>___cpp_exception;var getCppExceptionThrownObjectFromWebAssemblyException=ex=>{var unwind_header=ex.getArg(getCppExceptionTag(),0);return ___thrown_object_from_unwind_exception(unwind_header)};var incrementExceptionRefcount=ex=>{var ptr=getCppExceptionThrownObjectFromWebAssemblyException(ex);___cxa_increment_exception_refcount(ptr)};var decrementExceptionRefcount=ex=>{var ptr=getCppExceptionThrownObjectFromWebAssemblyException(ex);___cxa_decrement_exception_refcount(ptr)};var getExceptionMessage=ex=>{var ptr=getCppExceptionThrownObjectFromWebAssemblyException(ex);return getExceptionMessageCommon(ptr)};var Browser={useWebGL:false,isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>Module["canvas"],init(){if(Browser.initted)return;Browser.initted=true;var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module["noImageDecoding"]&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}var url=URL.createObjectURL(b);var img=new Image;img.onload=()=>{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Browser.preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module["noAudioDecoding"]&&name.slice(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Browser.preloadedAudios[name]=audio;onload?.(byteArray)}function fail(){if(done)return;done=true;Browser.preloadedAudios[name]=new Audio;onerror?.()}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.slice(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){var canvas=Browser.getCanvas();Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}var canvas=Browser.getCanvas();if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Browser.getCanvas().requestPointerLock){Browser.getCanvas().requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module["ctx"]&&canvas==Browser.getCanvas())return Module["ctx"];var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module["ctx"]=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Browser.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Browser.getCanvas();function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.slice(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var canvas=Browser.getCanvas();var rect=canvas.getBoundingClientRect();var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(canvas.width/rect.width);adjustedY=adjustedY*(canvas.height/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x,y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Browser.getCanvas();Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Browser.getCanvas();Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>>2>>>0];flags=flags|8388608;HEAP32[SDL.screen>>>2>>>0]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>>2>>>0];flags=flags&~8388608;HEAP32[SDL.screen>>>2>>>0]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]>0){if(w/h>>=0;onload>>>=0;onerror>>>=0;runtimeKeepalivePush();var _file=UTF8ToString(file);var data=FS.analyzePath(_file);if(!data.exists)return-1;FS.createPreloadedFile(PATH.dirname(_file),PATH.basename(_file),new Uint8Array(data.object.contents),true,true,()=>{runtimeKeepalivePop();if(onload)getWasmTableEntry(onload)(file)},()=>{runtimeKeepalivePop();if(onerror)getWasmTableEntry(onerror)(file)},true);return 0};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0;var _emscripten_run_preload_plugins_data=function(data,size,suffix,arg,onload,onerror){data>>>=0;suffix>>>=0;arg>>>=0;onload>>>=0;onerror>>>=0;runtimeKeepalivePush();var _suffix=UTF8ToString(suffix);var name="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+_suffix;var cname=stringToNewUTF8(name);FS.createPreloadedFile("/",name,HEAPU8.subarray(data>>>0,data+size>>>0),true,true,()=>{runtimeKeepalivePop();if(onload)getWasmTableEntry(onload)(arg,cname)},()=>{runtimeKeepalivePop();if(onerror)getWasmTableEntry(onerror)(arg)},true)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=function(script,millis){script>>>=0;safeSetTimeout(()=>_emscripten_run_script(script),millis)};_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=async function(url,onload,onerror){url>>>=0;onload>>>=0;onerror>>>=0;url=UTF8ToString(url);runtimeKeepalivePush();var loadDone=()=>{runtimeKeepalivePop();if(onload){var onloadCallback=()=>callUserCallback(getWasmTableEntry(onload));if(runDependencies>0){dependenciesFulfilled=onloadCallback}else{onloadCallback()}}};var loadError=()=>{runtimeKeepalivePop();if(onerror){callUserCallback(getWasmTableEntry(onerror))}};if(ENVIRONMENT_IS_NODE){try{var data=await readAsync(url,false);eval(data);loadDone()}catch(e){err(e);loadError()}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_window_title(){var buflen=256;if(!_emscripten_get_window_title.buffer){_emscripten_get_window_title.buffer=_malloc(buflen)}stringToUTF8(document.title,_emscripten_get_window_title.buffer,buflen);return _emscripten_get_window_title.buffer}_emscripten_get_window_title.sig="p";function _emscripten_set_window_title(title){title>>>=0;return document.title=UTF8ToString(title)}_emscripten_set_window_title.sig="vp";function _emscripten_get_screen_size(width,height){width>>>=0;height>>>=0;HEAP32[width>>>2>>>0]=screen.width;HEAP32[height>>>2>>>0]=screen.height}_emscripten_get_screen_size.sig="vpp";var _emscripten_hide_mouse=()=>{var styleSheet=document.styleSheets[0];var rules=styleSheet.cssRules;for(var i=0;iBrowser.setCanvasSize(width,height);_emscripten_set_canvas_size.sig="vii";function _emscripten_get_canvas_size(width,height,isFullscreen){width>>>=0;height>>>=0;isFullscreen>>>=0;var canvas=Browser.getCanvas();HEAP32[width>>>2>>>0]=canvas.width;HEAP32[height>>>2>>>0]=canvas.height;HEAP32[isFullscreen>>>2>>>0]=Browser.isFullscreen?1:0}_emscripten_get_canvas_size.sig="vppp";function _emscripten_create_worker(url){url>>>=0;url=UTF8ToString(url);var id=Browser.workers.length;var info={worker:new Worker(url),callbacks:[],awaited:0,buffer:0,bufferSize:0};info.worker.onmessage=function info_worker_onmessage(msg){if(ABORT)return;var info=Browser.workers[id];if(!info)return;var callbackId=msg.data["callbackId"];var callbackInfo=info.callbacks[callbackId];if(!callbackInfo)return;if(msg.data["finalResponse"]){info.awaited--;info.callbacks[callbackId]=null;runtimeKeepalivePop()}var data=msg.data["data"];if(data){if(!data.byteLength)data=new Uint8Array(data);if(!info.buffer||info.bufferSize>>0);callbackInfo.func(info.buffer,data.length,callbackInfo.arg)}else{callbackInfo.func(0,0,callbackInfo.arg)}};Browser.workers.push(info);return id}_emscripten_create_worker.sig="ip";var _emscripten_destroy_worker=id=>{var info=Browser.workers[id];info.worker.terminate();if(info.buffer)_free(info.buffer);Browser.workers[id]=null};_emscripten_destroy_worker.sig="vi";function _emscripten_call_worker(id,funcName,data,size,callback,arg){funcName>>>=0;data>>>=0;callback>>>=0;arg>>>=0;funcName=UTF8ToString(funcName);var info=Browser.workers[id];var callbackId=-1;if(callback){runtimeKeepalivePush();callbackId=info.callbacks.length;info.callbacks.push({func:getWasmTableEntry(callback),arg});info.awaited++}var transferObject={funcName,callbackId,data:data?new Uint8Array(HEAPU8.subarray(data>>>0,data+size>>>0)):0};if(data){info.worker.postMessage(transferObject,[transferObject.data.buffer])}else{info.worker.postMessage(transferObject)}}_emscripten_call_worker.sig="vippipp";var _emscripten_get_worker_queue_size=id=>{var info=Browser.workers[id];if(!info)return-1;return info.awaited};_emscripten_get_worker_queue_size.sig="ii";var getPreloadedImageData=(path,w,h)=>{path=PATH_FS.resolve(path);var canvas=Browser.preloadedImages[path];if(!canvas)return 0;var ctx=canvas.getContext("2d");var image=ctx.getImageData(0,0,canvas.width,canvas.height);var buf=_malloc(canvas.width*canvas.height*4);HEAPU8.set(image.data,buf>>>0);HEAP32[w>>>2>>>0]=canvas.width;HEAP32[h>>>2>>>0]=canvas.height;return buf};function _emscripten_get_preloaded_image_data(path,w,h){path>>>=0;w>>>=0;h>>>=0;return getPreloadedImageData(UTF8ToString(path),w,h)}_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"];function _emscripten_get_preloaded_image_data_from_FILE(file,w,h){file>>>=0;w>>>=0;h>>>=0;var fd=_fileno(file);var stream=FS.getStream(fd);if(stream){return getPreloadedImageData(stream.path,w,h)}return 0}_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var handle=wget.nextWgetRequestHandle;wget.nextWgetRequestHandle++;return handle}};var FS_mkdirTree=(path,mode)=>FS.mkdirTree(path,mode);var _emscripten_async_wget=function(url,file,onload,onerror){url>>>=0;file>>>=0;onload>>>=0;onerror>>>=0;runtimeKeepalivePush();var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);function doCallback(callback){if(callback){runtimeKeepalivePop();callUserCallback(()=>{var sp=stackSave();getWasmTableEntry(callback)(stringToUTF8OnStack(_file));stackRestore(sp)})}}var destinationDirectory=PATH.dirname(_file);FS_createPreloadedFile(destinationDirectory,PATH.basename(_file),_url,true,true,()=>doCallback(onload),()=>doCallback(onerror),false,false,()=>{try{FS_unlink(_file)}catch(e){}FS_mkdirTree(destinationDirectory)})};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=async function(url,userdata,onload,onerror){url>>>=0;userdata>>>=0;onload>>>=0;onerror>>>=0;runtimeKeepalivePush();try{var byteArray=await asyncLoad(UTF8ToString(url));runtimeKeepalivePop();callUserCallback(()=>{var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer>>>0);getWasmTableEntry(onload)(userdata,buffer,byteArray.length);_free(buffer)})}catch(e){if(onerror){runtimeKeepalivePop();callUserCallback(()=>{getWasmTableEntry(onerror)(userdata)})}}};_emscripten_async_wget_data.sig="vpppp";var _emscripten_async_wget2=function(url,file,request,param,userdata,onload,onerror,onprogress){url>>>=0;file>>>=0;request>>>=0;param>>>=0;userdata>>>=0;onload>>>=0;onerror>>>=0;onprogress>>>=0;runtimeKeepalivePush();var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var index=_file.lastIndexOf("/");var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();var destinationDirectory=PATH.dirname(_file);http.onload=e=>{runtimeKeepalivePop();if(http.status>=200&&http.status<300){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory);FS.createDataFile(_file.slice(0,index),_file.slice(index+1),new Uint8Array(http.response),true,true,false);if(onload){var sp=stackSave();getWasmTableEntry(onload)(handle,userdata,stringToUTF8OnStack(_file));stackRestore(sp)}}else{if(onerror)getWasmTableEntry(onerror)(handle,userdata,http.status)}delete wget.wgetRequests[handle]};http.onerror=e=>{runtimeKeepalivePop();if(onerror)getWasmTableEntry(onerror)(handle,userdata,http.status);delete wget.wgetRequests[handle]};http.onprogress=e=>{if(e.lengthComputable||e.lengthComputable===undefined&&e.total!=0){var percentComplete=e.loaded/e.total*100;if(onprogress)getWasmTableEntry(onprogress)(handle,userdata,percentComplete)}};http.onabort=e=>{runtimeKeepalivePop();delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};_emscripten_async_wget2.sig="ipppppppp";function _emscripten_async_wget2_data(url,request,param,userdata,free,onload,onerror,onprogress){url>>>=0;request>>>=0;param>>>=0;userdata>>>=0;onload>>>=0;onerror>>>=0;onprogress>>>=0;var _url=UTF8ToString(url);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();function onerrorjs(){if(onerror){var sp=stackSave();var statusText=0;if(http.statusText){statusText=stringToUTF8OnStack(http.statusText)}getWasmTableEntry(onerror)(handle,userdata,http.status,statusText);stackRestore(sp)}}http.onload=e=>{if(http.status>=200&&http.status<300||http.status===0&&_url.slice(0,4).toLowerCase()!="http"){var byteArray=new Uint8Array(http.response);var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer>>>0);if(onload)getWasmTableEntry(onload)(handle,userdata,buffer,byteArray.length);if(free)_free(buffer)}else{onerrorjs()}delete wget.wgetRequests[handle]};http.onerror=e=>{onerrorjs();delete wget.wgetRequests[handle]};http.onprogress=e=>{if(onprogress)getWasmTableEntry(onprogress)(handle,userdata,e.loaded,e.lengthComputable||e.lengthComputable===undefined?e.total:0)};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle}_emscripten_async_wget2_data.sig="ippppippp";var _emscripten_async_wget2_abort=handle=>{var http=wget.wgetRequests[handle];http?.abort()};_emscripten_async_wget2_abort.sig="vi";function ___asctime_r(tmPtr,buf){tmPtr>>>=0;buf>>>=0;var date={tm_sec:HEAP32[tmPtr>>>2>>>0],tm_min:HEAP32[tmPtr+4>>>2>>>0],tm_hour:HEAP32[tmPtr+8>>>2>>>0],tm_mday:HEAP32[tmPtr+12>>>2>>>0],tm_mon:HEAP32[tmPtr+16>>>2>>>0],tm_year:HEAP32[tmPtr+20>>>2>>>0],tm_wday:HEAP32[tmPtr+24>>>2>>>0]};var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var s=days[date.tm_wday]+" "+months[date.tm_mon]+(date.tm_mday<10?" ":" ")+date.tm_mday+(date.tm_hour<10?" 0":" ")+date.tm_hour+(date.tm_min<10?":0":":")+date.tm_min+(date.tm_sec<10?":0":":")+date.tm_sec+" "+(1900+date.tm_year)+"\n";stringToUTF8(s,buf,26);return buf}___asctime_r.sig="ppp";var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};function _strptime(buf,format,tm){buf>>>=0;format>>>=0;tm>>>=0;var pattern=UTF8ToString(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;iEQUIVALENT_MATCHERS[c]||m).replace(/%(.)/g,(_,c)=>{let pat=DATE_PATTERNS[c];if(pat){capture.push(c);return`(${pat})`}else{return c}}).replace(/\s+/g,"\\s*");var matches=new RegExp("^"+pattern_out,"i").exec(UTF8ToString(buf));function initDate(){function fixup(value,min,max){return typeof value!="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>>2>>>0]+1900,1970,9999),month:fixup(HEAP32[tm+16>>>2>>>0],0,11),day:fixup(HEAP32[tm+12>>>2>>>0],1,31),hour:fixup(HEAP32[tm+8>>>2>>>0],0,23),min:fixup(HEAP32[tm+4>>>2>>>0],0,59),sec:fixup(HEAP32[tm>>>2>>>0],0,59),gmtoff:0}}if(matches){var date=initDate();var value;var getMatch=symbol=>{var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return};if(value=getMatch("S")){date.sec=Number(value)}if(value=getMatch("M")){date.min=Number(value)}if(value=getMatch("H")){date.hour=Number(value)}else if(value=getMatch("I")){var hour=Number(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=Number(value)}else if(value=getMatch("y")){var year=Number(value);if(value=getMatch("C")){year+=Number(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=Number(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=Number(value)}else if(value=getMatch("j")){var day=Number(value);var leapYear=isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=arraySum(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=Number(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}if(value=getMatch("z")){if(value.toLowerCase()==="z"){date.gmtoff=0}else{var match=value.match(/^((?:\-|\+)\d\d):?(\d\d)?/);date.gmtoff=match[1]*3600;if(match[2]){date.gmtoff+=date.gmtoff>0?match[2]*60:-match[2]*60}}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>>2>>>0]=fullDate.getSeconds();HEAP32[tm+4>>>2>>>0]=fullDate.getMinutes();HEAP32[tm+8>>>2>>>0]=fullDate.getHours();HEAP32[tm+12>>>2>>>0]=fullDate.getDate();HEAP32[tm+16>>>2>>>0]=fullDate.getMonth();HEAP32[tm+20>>>2>>>0]=fullDate.getFullYear()-1900;HEAP32[tm+24>>>2>>>0]=fullDate.getDay();HEAP32[tm+28>>>2>>>0]=arraySum(isLeapYear(fullDate.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>>2>>>0]=0;HEAP32[tm+36>>>2>>>0]=date.gmtoff;return buf+intArrayFromString(matches[0]).length-1}return 0}_strptime.sig="pppp";function _strptime_l(buf,format,tm,locale){buf>>>=0;format>>>=0;tm>>>=0;locale>>>=0;return _strptime(buf,format,tm)}_strptime_l.sig="ppppp";function __dlsym_catchup_js(handle,symbolIndex){handle>>>=0;var lib=LDSO.loadedLibsByHandle[handle];var symDict=lib.exports;var symName=Object.keys(symDict)[symbolIndex];var sym=symDict[symName];var result=addFunction(sym,sym.sig);return result}__dlsym_catchup_js.sig="ppi";var FS_readFile=(...args)=>FS.readFile(...args);var FS_root=(...args)=>FS.root(...args);var FS_mounts=(...args)=>FS.mounts(...args);var FS_devices=(...args)=>FS.devices(...args);var FS_streams=(...args)=>FS.streams(...args);var FS_nextInode=(...args)=>FS.nextInode(...args);var FS_nameTable=(...args)=>FS.nameTable(...args);var FS_currentPath=(...args)=>FS.currentPath(...args);var FS_initialized=(...args)=>FS.initialized(...args);var FS_ignorePermissions=(...args)=>FS.ignorePermissions(...args);var FS_trackingDelegate=(...args)=>FS.trackingDelegate(...args);var FS_filesystems=(...args)=>FS.filesystems(...args);var FS_syncFSRequests=(...args)=>FS.syncFSRequests(...args);var FS_readFiles=(...args)=>FS.readFiles(...args);var FS_lookupPath=(...args)=>FS.lookupPath(...args);var FS_getPath=(...args)=>FS.getPath(...args);var FS_hashName=(...args)=>FS.hashName(...args);var FS_hashAddNode=(...args)=>FS.hashAddNode(...args);var FS_hashRemoveNode=(...args)=>FS.hashRemoveNode(...args);var FS_lookupNode=(...args)=>FS.lookupNode(...args);var FS_createNode=(...args)=>FS.createNode(...args);var FS_destroyNode=(...args)=>FS.destroyNode(...args);var FS_isRoot=(...args)=>FS.isRoot(...args);var FS_isMountpoint=(...args)=>FS.isMountpoint(...args);var FS_isFile=(...args)=>FS.isFile(...args);var FS_isDir=(...args)=>FS.isDir(...args);var FS_isLink=(...args)=>FS.isLink(...args);var FS_isChrdev=(...args)=>FS.isChrdev(...args);var FS_isBlkdev=(...args)=>FS.isBlkdev(...args);var FS_isFIFO=(...args)=>FS.isFIFO(...args);var FS_isSocket=(...args)=>FS.isSocket(...args);var FS_flagsToPermissionString=(...args)=>FS.flagsToPermissionString(...args);var FS_nodePermissions=(...args)=>FS.nodePermissions(...args);var FS_mayLookup=(...args)=>FS.mayLookup(...args);var FS_mayCreate=(...args)=>FS.mayCreate(...args);var FS_mayDelete=(...args)=>FS.mayDelete(...args);var FS_mayOpen=(...args)=>FS.mayOpen(...args);var FS_checkOpExists=(...args)=>FS.checkOpExists(...args);var FS_nextfd=(...args)=>FS.nextfd(...args);var FS_getStreamChecked=(...args)=>FS.getStreamChecked(...args);var FS_getStream=(...args)=>FS.getStream(...args);var FS_createStream=(...args)=>FS.createStream(...args);var FS_closeStream=(...args)=>FS.closeStream(...args);var FS_dupStream=(...args)=>FS.dupStream(...args);var FS_doSetAttr=(...args)=>FS.doSetAttr(...args);var FS_chrdev_stream_ops=(...args)=>FS.chrdev_stream_ops(...args);var FS_major=(...args)=>FS.major(...args);var FS_minor=(...args)=>FS.minor(...args);var FS_makedev=(...args)=>FS.makedev(...args);var FS_registerDevice=(...args)=>FS.registerDevice(...args);var FS_getDevice=(...args)=>FS.getDevice(...args);var FS_getMounts=(...args)=>FS.getMounts(...args);var FS_syncfs=(...args)=>FS.syncfs(...args);var FS_mount=(...args)=>FS.mount(...args);var FS_unmount=(...args)=>FS.unmount(...args);var FS_lookup=(...args)=>FS.lookup(...args);var FS_mknod=(...args)=>FS.mknod(...args);var FS_statfs=(...args)=>FS.statfs(...args);var FS_statfsStream=(...args)=>FS.statfsStream(...args);var FS_statfsNode=(...args)=>FS.statfsNode(...args);var FS_create=(...args)=>FS.create(...args);var FS_mkdir=(...args)=>FS.mkdir(...args);var FS_mkdev=(...args)=>FS.mkdev(...args);var FS_symlink=(...args)=>FS.symlink(...args);var FS_rename=(...args)=>FS.rename(...args);var FS_rmdir=(...args)=>FS.rmdir(...args);var FS_readdir=(...args)=>FS.readdir(...args);var FS_readlink=(...args)=>FS.readlink(...args);var FS_stat=(...args)=>FS.stat(...args);var FS_fstat=(...args)=>FS.fstat(...args);var FS_lstat=(...args)=>FS.lstat(...args);var FS_doChmod=(...args)=>FS.doChmod(...args);var FS_chmod=(...args)=>FS.chmod(...args);var FS_lchmod=(...args)=>FS.lchmod(...args);var FS_fchmod=(...args)=>FS.fchmod(...args);var FS_doChown=(...args)=>FS.doChown(...args);var FS_chown=(...args)=>FS.chown(...args);var FS_lchown=(...args)=>FS.lchown(...args);var FS_fchown=(...args)=>FS.fchown(...args);var FS_doTruncate=(...args)=>FS.doTruncate(...args);var FS_truncate=(...args)=>FS.truncate(...args);var FS_ftruncate=(...args)=>FS.ftruncate(...args);var FS_utime=(...args)=>FS.utime(...args);var FS_open=(...args)=>FS.open(...args);var FS_close=(...args)=>FS.close(...args);var FS_isClosed=(...args)=>FS.isClosed(...args);var FS_llseek=(...args)=>FS.llseek(...args);var FS_read=(...args)=>FS.read(...args);var FS_write=(...args)=>FS.write(...args);var FS_mmap=(...args)=>FS.mmap(...args);var FS_msync=(...args)=>FS.msync(...args);var FS_ioctl=(...args)=>FS.ioctl(...args);var FS_writeFile=(...args)=>FS.writeFile(...args);var FS_cwd=(...args)=>FS.cwd(...args);var FS_chdir=(...args)=>FS.chdir(...args);var FS_createDefaultDirectories=(...args)=>FS.createDefaultDirectories(...args);var FS_createDefaultDevices=(...args)=>FS.createDefaultDevices(...args);var FS_createSpecialDirectories=(...args)=>FS.createSpecialDirectories(...args);var FS_createStandardStreams=(...args)=>FS.createStandardStreams(...args);var FS_staticInit=(...args)=>FS.staticInit(...args);var FS_init=(...args)=>FS.init(...args);var FS_quit=(...args)=>FS.quit(...args);var FS_findObject=(...args)=>FS.findObject(...args);var FS_analyzePath=(...args)=>FS.analyzePath(...args);var FS_createFile=(...args)=>FS.createFile(...args);var FS_forceLoadFile=(...args)=>FS.forceLoadFile(...args);var _setNetworkCallback=(event,userData,callback)=>{function _callback(data){callUserCallback(()=>{if(event==="error"){withStackSave(()=>{var msg=stringToUTF8OnStack(data[2]);getWasmTableEntry(callback)(data[0],data[1],msg,userData)})}else{getWasmTableEntry(callback)(data,userData)}})}runtimeKeepalivePush();SOCKFS.on(event,callback?_callback:null)};function _emscripten_set_socket_error_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("error",userData,callback)}_emscripten_set_socket_error_callback.sig="vpp";function _emscripten_set_socket_open_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("open",userData,callback)}_emscripten_set_socket_open_callback.sig="vpp";function _emscripten_set_socket_listen_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("listen",userData,callback)}_emscripten_set_socket_listen_callback.sig="vpp";function _emscripten_set_socket_connection_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("connection",userData,callback)}_emscripten_set_socket_connection_callback.sig="vpp";function _emscripten_set_socket_message_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("message",userData,callback)}_emscripten_set_socket_message_callback.sig="vpp";function _emscripten_set_socket_close_callback(userData,callback){userData>>>=0;callback>>>=0;return _setNetworkCallback("close",userData,callback)}_emscripten_set_socket_close_callback.sig="vpp";function _emscripten_webgl_enable_ANGLE_instanced_arrays(ctx){ctx>>>=0;return webgl_enable_ANGLE_instanced_arrays(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";function _emscripten_webgl_enable_OES_vertex_array_object(ctx){ctx>>>=0;return webgl_enable_OES_vertex_array_object(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";function _emscripten_webgl_enable_WEBGL_draw_buffers(ctx){ctx>>>=0;return webgl_enable_WEBGL_draw_buffers(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";function _emscripten_webgl_enable_WEBGL_multi_draw(ctx){ctx>>>=0;return webgl_enable_WEBGL_multi_draw(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";function _emscripten_webgl_enable_EXT_polygon_offset_clamp(ctx){ctx>>>=0;return webgl_enable_EXT_polygon_offset_clamp(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_EXT_polygon_offset_clamp.sig="ip";function _emscripten_webgl_enable_EXT_clip_control(ctx){ctx>>>=0;return webgl_enable_EXT_clip_control(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_EXT_clip_control.sig="ip";function _emscripten_webgl_enable_WEBGL_polygon_mode(ctx){ctx>>>=0;return webgl_enable_WEBGL_polygon_mode(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_polygon_mode.sig="ip";function _glVertexPointer(size,type,stride,ptr){ptr>>>=0;throw"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";function _glMultiDrawArraysWEBGL(mode,firsts,counts,drawcount){firsts>>>=0;counts>>>=0;GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>>2,HEAP32,counts>>>2,drawcount)}_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;function _glMultiDrawArraysInstancedWEBGL(mode,firsts,counts,instanceCounts,drawcount){firsts>>>=0;counts>>>=0;instanceCounts>>>=0;GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>>2,HEAP32,counts>>>2,HEAP32,instanceCounts>>>2,drawcount)}_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;function _glMultiDrawElementsWEBGL(mode,counts,type,offsets,drawcount){counts>>>=0;offsets>>>=0;GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>>2,type,HEAP32,offsets>>>2,drawcount)}_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;function _glMultiDrawElementsInstancedWEBGL(mode,counts,type,offsets,instanceCounts,drawcount){counts>>>=0;offsets>>>=0;instanceCounts>>>=0;GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>>2,type,HEAP32,offsets>>>2,HEAP32,instanceCounts>>>2,drawcount)}_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL;var _glClearDepth=x0=>GLctx.clearDepth(x0);_glClearDepth.sig="vd";var _glDepthRange=(x0,x1)=>GLctx.depthRange(x0,x1);_glDepthRange.sig="vdd";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_glMultiDrawArrays=_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE;var _emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL;var _emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE;var _emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL;var _emscripten_glMultiDrawElements=_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE;var _emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL;var _emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE;var _emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL;var _emscripten_glClearDepth=_glClearDepth;_emscripten_glClearDepth.sig="vd";var _emscripten_glDepthRange=_glDepthRange;_emscripten_glDepthRange.sig="vdd";function _glGetBufferSubData(target,offset,size,data){offset>>>=0;size>>>=0;data>>>=0;if(!data){GL.recordError(1281);return}size&&GLctx.getBufferSubData(target,offset,HEAPU8.subarray(data>>>0,data+size>>>0))}_glGetBufferSubData.sig="vippp";var _glDrawArraysInstancedBaseInstanceWEBGL=(mode,first,count,instanceCount,baseInstance)=>{GLctx.dibvbi["drawArraysInstancedBaseInstanceWEBGL"](mode,first,count,instanceCount,baseInstance)};_glDrawArraysInstancedBaseInstanceWEBGL.sig="viiiii";var _glDrawArraysInstancedBaseInstance=_glDrawArraysInstancedBaseInstanceWEBGL;_glDrawArraysInstancedBaseInstance.sig="viiiii";var _glDrawArraysInstancedBaseInstanceANGLE=_glDrawArraysInstancedBaseInstanceWEBGL;var _glDrawElementsInstancedBaseVertexBaseInstanceWEBGL=(mode,count,type,offset,instanceCount,baseVertex,baseinstance)=>{GLctx.dibvbi["drawElementsInstancedBaseVertexBaseInstanceWEBGL"](mode,count,type,offset,instanceCount,baseVertex,baseinstance)};_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL.sig="viiiiiii";var _glDrawElementsInstancedBaseVertexBaseInstanceANGLE=_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL;function _emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){ctx>>>=0;return webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance.sig="ip";var _glMultiDrawArraysInstancedBaseInstanceWEBGL=(mode,firsts,counts,instanceCounts,baseInstances,drawCount)=>{GLctx.mdibvbi["multiDrawArraysInstancedBaseInstanceWEBGL"](mode,HEAP32,firsts>>>2,HEAP32,counts>>>2,HEAP32,instanceCounts>>>2,HEAPU32,baseInstances>>>2,drawCount)};_glMultiDrawArraysInstancedBaseInstanceWEBGL.sig="viiiiii";var _glMultiDrawArraysInstancedBaseInstanceANGLE=_glMultiDrawArraysInstancedBaseInstanceWEBGL;var _glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL=(mode,counts,type,offsets,instanceCounts,baseVertices,baseInstances,drawCount)=>{GLctx.mdibvbi["multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL"](mode,HEAP32,counts>>>2,type,HEAP32,offsets>>>2,HEAP32,instanceCounts>>>2,HEAP32,baseVertices>>>2,HEAPU32,baseInstances>>>2,drawCount)};_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL.sig="viiiiiiii";var _glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE=_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL;function _emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){ctx>>>=0;return webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GL.contexts[ctx].GLctx)}_emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance.sig="ip";var _emscripten_glGetBufferSubData=_glGetBufferSubData;_emscripten_glGetBufferSubData.sig="vippp";var _emscripten_glDrawArraysInstancedBaseInstanceWEBGL=_glDrawArraysInstancedBaseInstanceWEBGL;var _emscripten_glDrawArraysInstancedBaseInstance=_glDrawArraysInstancedBaseInstance;_emscripten_glDrawArraysInstancedBaseInstance.sig="viiiii";var _emscripten_glDrawArraysInstancedBaseInstanceANGLE=_glDrawArraysInstancedBaseInstanceANGLE;var _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL=_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL;var _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceANGLE=_glDrawElementsInstancedBaseVertexBaseInstanceANGLE;var _emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL=_glMultiDrawArraysInstancedBaseInstanceWEBGL;var _emscripten_glMultiDrawArraysInstancedBaseInstanceANGLE=_glMultiDrawArraysInstancedBaseInstanceANGLE;var _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL=_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL;var _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE=_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var allocate=(slab,allocator)=>{var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(!slab.subarray&&!slab.slice){slab=new Uint8Array(slab)}HEAPU8.set(slab,ret>>>0);return ret};var writeStringToMemory=(string,buffer,dontAddNull)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end>>>0]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end>>>0]=lastChar};var writeAsciiToMemory=(str,buffer,dontAddNull)=>{for(var i=0;i>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>>0]=0};var allocateUTF8=stringToNewUTF8;var allocateUTF8OnStack=stringToUTF8OnStack;var demangle=func=>{demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;return withStackSave(()=>{try{var s=func;if(s.startsWith("__Z"))s=s.slice(1);var buf=stringToUTF8OnStack(s);var status=stackAlloc(4);var ret=___cxa_demangle(buf,0,0,status);if(HEAP32[status>>>2>>>0]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})};var stackTrace=()=>{var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return js};var print=out;var printErr=err;var jstoi_s=Number;var _emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER;var webSockets=new HandleAllocator;var WS={socketEvent:null,getSocket(socketId){if(!webSockets.has(socketId)){return 0}return webSockets.get(socketId)},getSocketEvent(socketId){this.socketEvent||=_malloc(520);HEAPU32[this.socketEvent>>>2>>>0]=socketId;return this.socketEvent}};function _emscripten_websocket_get_ready_state(socketId,readyState){readyState>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}HEAP16[readyState>>>1>>>0]=socket.readyState;return 0}_emscripten_websocket_get_ready_state.sig="iip";function _emscripten_websocket_get_buffered_amount(socketId,bufferedAmount){bufferedAmount>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}HEAPU32[bufferedAmount>>>2>>>0]=socket.bufferedAmount;return 0}_emscripten_websocket_get_buffered_amount.sig="iip";function _emscripten_websocket_get_extensions(socketId,extensions,extensionsLength){extensions>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!extensions)return-5;stringToUTF8(socket.extensions,extensions,extensionsLength);return 0}_emscripten_websocket_get_extensions.sig="iipi";function _emscripten_websocket_get_extensions_length(socketId,extensionsLength){extensionsLength>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!extensionsLength)return-5;HEAP32[extensionsLength>>>2>>>0]=lengthBytesUTF8(socket.extensions)+1;return 0}_emscripten_websocket_get_extensions_length.sig="iip";function _emscripten_websocket_get_protocol(socketId,protocol,protocolLength){protocol>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!protocol)return-5;stringToUTF8(socket.protocol,protocol,protocolLength);return 0}_emscripten_websocket_get_protocol.sig="iipi";function _emscripten_websocket_get_protocol_length(socketId,protocolLength){protocolLength>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!protocolLength)return-5;HEAP32[protocolLength>>>2>>>0]=lengthBytesUTF8(socket.protocol)+1;return 0}_emscripten_websocket_get_protocol_length.sig="iip";function _emscripten_websocket_get_url(socketId,url,urlLength){url>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!url)return-5;stringToUTF8(socket.url,url,urlLength);return 0}_emscripten_websocket_get_url.sig="iipi";function _emscripten_websocket_get_url_length(socketId,urlLength){urlLength>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}if(!urlLength)return-5;HEAP32[urlLength>>>2>>>0]=lengthBytesUTF8(socket.url)+1;return 0}_emscripten_websocket_get_url_length.sig="iip";function _emscripten_websocket_set_onopen_callback_on_thread(socketId,userData,callbackFunc,thread){userData>>>=0;callbackFunc>>>=0;thread>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onopen=function(e){var eventPtr=WS.getSocketEvent(socketId);getWasmTableEntry(callbackFunc)(0,eventPtr,userData)};return 0}_emscripten_websocket_set_onopen_callback_on_thread.sig="iippp";function _emscripten_websocket_set_onerror_callback_on_thread(socketId,userData,callbackFunc,thread){userData>>>=0;callbackFunc>>>=0;thread>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onerror=function(e){var eventPtr=WS.getSocketEvent(socketId);getWasmTableEntry(callbackFunc)(0,eventPtr,userData)};return 0}_emscripten_websocket_set_onerror_callback_on_thread.sig="iippp";function _emscripten_websocket_set_onclose_callback_on_thread(socketId,userData,callbackFunc,thread){userData>>>=0;callbackFunc>>>=0;thread>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onclose=function(e){var eventPtr=WS.getSocketEvent(socketId);HEAP8[eventPtr+4>>>0]=e.wasClean,HEAP16[eventPtr+6>>>1>>>0]=e.code,stringToUTF8(e.reason,eventPtr+8,512);getWasmTableEntry(callbackFunc)(0,eventPtr,userData)};return 0}_emscripten_websocket_set_onclose_callback_on_thread.sig="iippp";function _emscripten_websocket_set_onmessage_callback_on_thread(socketId,userData,callbackFunc,thread){userData>>>=0;callbackFunc>>>=0;thread>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onmessage=function(e){var isText=typeof e.data=="string";if(isText){var buf=stringToNewUTF8(e.data);var len=lengthBytesUTF8(e.data)+1}else{var len=e.data.byteLength;var buf=_malloc(len);HEAP8.set(new Uint8Array(e.data),buf>>>0)}var eventPtr=WS.getSocketEvent(socketId);HEAPU32[eventPtr+4>>>2>>>0]=buf,HEAP32[eventPtr+8>>>2>>>0]=len,HEAP8[eventPtr+12>>>0]=isText,getWasmTableEntry(callbackFunc)(0,eventPtr,userData);_free(buf)};return 0}_emscripten_websocket_set_onmessage_callback_on_thread.sig="iippp";function _emscripten_websocket_new(createAttributes){createAttributes>>>=0;if(typeof WebSocket=="undefined"){return-1}if(!createAttributes){return-5}var url=UTF8ToString(HEAPU32[createAttributes>>>2>>>0]);var protocols=HEAPU32[createAttributes+4>>>2>>>0];var socket=protocols?new WebSocket(url,UTF8ToString(protocols).split(",")):new WebSocket(url);socket.binaryType="arraybuffer";var socketId=webSockets.allocate(socket);return socketId}_emscripten_websocket_new.sig="ip";function _emscripten_websocket_send_utf8_text(socketId,textData){textData>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}var str=UTF8ToString(textData);socket.send(str);return 0}_emscripten_websocket_send_utf8_text.sig="iip";function _emscripten_websocket_send_binary(socketId,binaryData,dataLength){binaryData>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}socket.send(HEAPU8.subarray(binaryData>>>0,binaryData+dataLength>>>0));return 0}_emscripten_websocket_send_binary.sig="iipi";function _emscripten_websocket_close(socketId,code,reason){reason>>>=0;var socket=WS.getSocket(socketId);if(!socket){return-3}var reasonStr=reason?UTF8ToString(reason):undefined;if(reason)socket.close(code||undefined,UTF8ToString(reason));else if(code)socket.close(code);else socket.close();return 0}_emscripten_websocket_close.sig="iiip";var _emscripten_websocket_delete=socketId=>{var socket=WS.getSocket(socketId);if(!socket){return-3}socket.onopen=socket.onerror=socket.onclose=socket.onmessage=null;webSockets.free(socketId);return 0};_emscripten_websocket_delete.sig="ii";var _emscripten_websocket_is_supported=()=>typeof WebSocket!="undefined";_emscripten_websocket_is_supported.sig="i";var _emscripten_websocket_deinitialize=()=>{for(var i in WS.sockets){var socket=WS.sockets[i];if(socket){socket.close();_emscripten_websocket_delete(i)}}WS.sockets=[]};_emscripten_websocket_deinitialize.sig="v";var writeGLArray=(arr,dst,dstLength,heapType)=>{var len=arr.length;var writeLength=dstLength>>2;for(var i=0;i>>0]=arr[i]}return len};var webglPowerPreferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){target>>>=0;attributes>>>=0;var attr32=attributes>>>2;var powerPreference=HEAP32[attr32+(8>>2)>>>0];var contextAttributes={alpha:!!HEAP8[attributes+0>>>0],depth:!!HEAP8[attributes+1>>>0],stencil:!!HEAP8[attributes+2>>>0],antialias:!!HEAP8[attributes+3>>>0],premultipliedAlpha:!!HEAP8[attributes+4>>>0],preserveDrawingBuffer:!!HEAP8[attributes+5>>>0],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12>>>0],majorVersion:HEAP32[attr32+(16>>2)>>>0],minorVersion:HEAP32[attr32+(20>>2)>>>0],enableExtensionsByDefault:HEAP8[attributes+24>>>0],explicitSwapControl:HEAP8[attributes+25>>>0],proxyContextToMainThread:HEAP32[attr32+(28>>2)>>>0],renderViaOffscreenBackBuffer:HEAP8[attributes+32>>>0]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}_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=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 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(contextHandle){contextHandle>>>=0;var success=GL.makeContextCurrent(contextHandle);return success?0:-5}_emscripten_webgl_make_context_current.sig="ip";function _emscripten_webgl_get_drawing_buffer_size(contextHandle,width,height){contextHandle>>>=0;width>>>=0;height>>>=0;var GLContext=GL.getContext(contextHandle);if(!GLContext||!GLContext.GLctx||!width||!height){return-5}HEAP32[width>>>2>>>0]=GLContext.GLctx.drawingBufferWidth;HEAP32[height>>>2>>>0]=GLContext.GLctx.drawingBufferHeight;return 0}_emscripten_webgl_get_drawing_buffer_size.sig="ippp";function _emscripten_webgl_get_context_attributes(c,a){c>>>=0;a>>>=0;if(!a)return-5;c=GL.contexts[c];if(!c)return-3;var t=c.GLctx;if(!t)return-3;t=t.getContextAttributes();HEAP8[a>>>0]=t.alpha;HEAP8[a+1>>>0]=t.depth;HEAP8[a+2>>>0]=t.stencil;HEAP8[a+3>>>0]=t.antialias;HEAP8[a+4>>>0]=t.premultipliedAlpha;HEAP8[a+5>>>0]=t.preserveDrawingBuffer;var power=t["powerPreference"]&&webglPowerPreferences.indexOf(t["powerPreference"]);HEAP32[a+8>>>2>>>0]=power;HEAP8[a+12>>>0]=t.failIfMajorPerformanceCaveat;HEAP32[a+16>>>2>>>0]=c.version;HEAP32[a+20>>>2>>>0]=0;HEAP8[a+24>>>0]=c.attributes.enableExtensionsByDefault;return 0}_emscripten_webgl_get_context_attributes.sig="ipp";function _emscripten_webgl_destroy_context(contextHandle){contextHandle>>>=0;if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)}_emscripten_webgl_destroy_context.sig="ip";function _emscripten_webgl_enable_extension(contextHandle,extension){contextHandle>>>=0;extension>>>=0;var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.slice(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);if(extString=="EXT_polygon_offset_clamp")webgl_enable_EXT_polygon_offset_clamp(GLctx);if(extString=="EXT_clip_control")webgl_enable_EXT_clip_control(GLctx);if(extString=="WEBGL_polygon_mode")webgl_enable_WEBGL_polygon_mode(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext}_emscripten_webgl_enable_extension.sig="ipp";var _emscripten_supports_offscreencanvas=()=>0;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var webGlEventHandlerFunc=(e=event)=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:webGlEventHandlerFunc,useCapture};JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_webglcontextlost_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;registerWebGlEventCallback(target,userData,useCapture,callbackfunc,31,"webglcontextlost",targetThread);return 0}_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";function _emscripten_set_webglcontextrestored_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;registerWebGlEventCallback(target,userData,useCapture,callbackfunc,32,"webglcontextrestored",targetThread);return 0}_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";function _emscripten_is_webgl_context_lost(contextHandle){contextHandle>>>=0;return!GL.contexts[contextHandle]||GL.contexts[contextHandle].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=(program,param)=>GLctx.getProgramParameter(GL.programs[program],param);_emscripten_webgl_get_program_parameter_d.sig="dii";function _emscripten_webgl_get_program_info_log_utf8(program){return stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[program]))}_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(shader,param)=>GLctx.getShaderParameter(GL.shaders[shader],param);_emscripten_webgl_get_shader_parameter_d.sig="dii";function _emscripten_webgl_get_shader_info_log_utf8(shader){return stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[shader]))}_emscripten_webgl_get_shader_info_log_utf8.sig="pi";function _emscripten_webgl_get_shader_source_utf8(shader){return stringToNewUTF8(GLctx.getShaderSource(GL.shaders[shader]))}_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(index,param)=>GLctx.getVertexAttrib(index,param);_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(index,param)=>{var obj=GLctx.getVertexAttrib(index,param);return obj?.name};_emscripten_webgl_get_vertex_attrib_o.sig="iii";function _emscripten_webgl_get_vertex_attrib_v(index,param,dst,dstLength,dstType){dst>>>=0;return writeGLArray(GLctx.getVertexAttrib(index,param),dst,dstLength,dstType)}_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(program,location)=>GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location));_emscripten_webgl_get_uniform_d.sig="dii";function _emscripten_webgl_get_uniform_v(program,location,dst,dstLength,dstType){dst>>>=0;return writeGLArray(GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location)),dst,dstLength,dstType)}_emscripten_webgl_get_uniform_v.sig="iiipii";function _emscripten_webgl_get_parameter_v(param,dst,dstLength,dstType){dst>>>=0;return writeGLArray(GLctx.getParameter(param),dst,dstLength,dstType)}_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=param=>GLctx.getParameter(param);_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=param=>{var obj=GLctx.getParameter(param);return obj?.name};_emscripten_webgl_get_parameter_o.sig="ii";function _emscripten_webgl_get_parameter_utf8(param){return stringToNewUTF8(GLctx.getParameter(param))}_emscripten_webgl_get_parameter_utf8.sig="pi";function _emscripten_webgl_get_parameter_i64v(param,dst){dst>>>=0;return writeI53ToI64(dst,GLctx.getParameter(param))}_emscripten_webgl_get_parameter_i64v.sig="vip";var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode(code){EGL.errorCode=code},chooseConfig(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(attribList){for(;;){var param=HEAP32[attribList>>>2>>>0];if(param==12321){var alphaSize=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>>2>>>0]=1}if(config&&config_size>0){HEAPU32[config>>>2>>>0]=62002}EGL.setErrorCode(12288);return 1}};function _eglGetDisplay(nativeDisplayType){nativeDisplayType>>>=0;EGL.setErrorCode(12288);if(nativeDisplayType!=0&&nativeDisplayType!=1){return 0}return 62e3}_eglGetDisplay.sig="pp";function _eglInitialize(display,majorVersion,minorVersion){display>>>=0;majorVersion>>>=0;minorVersion>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>>2>>>0]=1}if(minorVersion){HEAP32[minorVersion>>>2>>>0]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}_eglInitialize.sig="ippp";function _eglTerminate(display){display>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}_eglTerminate.sig="ip";function _eglGetConfigs(display,configs,config_size,numConfigs){display>>>=0;configs>>>=0;numConfigs>>>=0;return EGL.chooseConfig(display,0,configs,config_size,numConfigs)}_eglGetConfigs.sig="ippip";function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){display>>>=0;attrib_list>>>=0;configs>>>=0;numConfigs>>>=0;return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}_eglChooseConfig.sig="ipppip";function _eglGetConfigAttrib(display,config,attribute,value){display>>>=0;config>>>=0;value>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>>2>>>0]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>>2>>>0]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>>2>>>0]=8;return 1;case 12323:HEAP32[value>>>2>>>0]=8;return 1;case 12324:HEAP32[value>>>2>>>0]=8;return 1;case 12325:HEAP32[value>>>2>>>0]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>>2>>>0]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>>2>>>0]=12344;return 1;case 12328:HEAP32[value>>>2>>>0]=62002;return 1;case 12329:HEAP32[value>>>2>>>0]=0;return 1;case 12330:HEAP32[value>>>2>>>0]=4096;return 1;case 12331:HEAP32[value>>>2>>>0]=16777216;return 1;case 12332:HEAP32[value>>>2>>>0]=4096;return 1;case 12333:HEAP32[value>>>2>>>0]=0;return 1;case 12334:HEAP32[value>>>2>>>0]=0;return 1;case 12335:HEAP32[value>>>2>>>0]=12344;return 1;case 12337:HEAP32[value>>>2>>>0]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>>2>>>0]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>>2>>>0]=4;return 1;case 12340:HEAP32[value>>>2>>>0]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>>2>>>0]=-1;return 1;case 12345:case 12346:HEAP32[value>>>2>>>0]=0;return 1;case 12347:HEAP32[value>>>2>>>0]=0;return 1;case 12348:HEAP32[value>>>2>>>0]=1;return 1;case 12349:case 12350:HEAP32[value>>>2>>>0]=0;return 1;case 12351:HEAP32[value>>>2>>>0]=12430;return 1;case 12352:HEAP32[value>>>2>>>0]=4;return 1;case 12354:HEAP32[value>>>2>>>0]=0;return 1;default:EGL.setErrorCode(12292);return 0}}_eglGetConfigAttrib.sig="ippip";function _eglCreateWindowSurface(display,config,win,attrib_list){display>>>=0;config>>>=0;attrib_list>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}_eglCreateWindowSurface.sig="pppip";function _eglDestroySurface(display,surface){display>>>=0;surface>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}_eglDestroySurface.sig="ipp";function _eglCreateContext(display,config,hmm,contextAttribs){display>>>=0;config>>>=0;hmm>>>=0;contextAttribs>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>>2>>>0];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>>2>>>0]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Browser.getCanvas(),EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Browser.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}_eglCreateContext.sig="ppppp";function _eglDestroyContext(display,context){display>>>=0;context>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}_eglDestroyContext.sig="ipp";function _eglQuerySurface(display,surface,attribute,value){display>>>=0;surface>>>=0;value>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>>2>>>0]=62002;return 1;case 12376:return 1;case 12375:HEAP32[value>>>2>>>0]=Browser.getCanvas().width;return 1;case 12374:HEAP32[value>>>2>>>0]=Browser.getCanvas().height;return 1;case 12432:HEAP32[value>>>2>>>0]=-1;return 1;case 12433:HEAP32[value>>>2>>>0]=-1;return 1;case 12434:HEAP32[value>>>2>>>0]=-1;return 1;case 12422:HEAP32[value>>>2>>>0]=12420;return 1;case 12441:HEAP32[value>>>2>>>0]=12442;return 1;case 12435:HEAP32[value>>>2>>>0]=12437;return 1;case 12416:case 12417:case 12418:case 12419:return 1;default:EGL.setErrorCode(12292);return 0}}_eglQuerySurface.sig="ippip";function _eglQueryContext(display,context,attribute,value){display>>>=0;context>>>=0;value>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>>2>>>0]=62002;return 1;case 12439:HEAP32[value>>>2>>>0]=12448;return 1;case 12440:HEAP32[value>>>2>>>0]=EGL.contextAttributes.majorVersion+1;return 1;case 12422:HEAP32[value>>>2>>>0]=12420;return 1;default:EGL.setErrorCode(12292);return 0}}_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;_eglGetError.sig="i";function _eglQueryString(display,name){display>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}_eglQueryString.sig="ppi";var _eglBindAPI=api=>{if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0};_eglBindAPI.sig="ii";var _eglQueryAPI=()=>{EGL.setErrorCode(12288);return 12448};_eglQueryAPI.sig="i";var _eglWaitClient=()=>{EGL.setErrorCode(12288);return 1};_eglWaitClient.sig="i";var _eglWaitNative=nativeEngineId=>{EGL.setErrorCode(12288);return 1};_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;_eglWaitGL.sig="i";function _eglSwapInterval(display,interval){display>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}_eglSwapInterval.sig="ipi";function _eglMakeCurrent(display,draw,read,context){display>>>=0;draw>>>=0;read>>>=0;context>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}_eglMakeCurrent.sig="ipppp";function _eglGetCurrentContext(){return EGL.currentContext}_eglGetCurrentContext.sig="p";function _eglGetCurrentSurface(readdraw){if(readdraw==12378){return EGL.currentReadSurface}else if(readdraw==12377){return EGL.currentDrawSurface}else{EGL.setErrorCode(12300);return 0}}_eglGetCurrentSurface.sig="pi";function _eglGetCurrentDisplay(){return EGL.currentContext?62e3:0}_eglGetCurrentDisplay.sig="p";function _eglSwapBuffers(dpy,surface){dpy>>>=0;surface>>>=0;if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!GLctx){EGL.setErrorCode(12290)}else if(GLctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}_eglSwapBuffers.sig="ipp";var _eglReleaseThread=()=>{EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.setErrorCode(12288);return 1};_eglReleaseThread.sig="i";var _SDL_GetTicks=()=>Date.now()-SDL.startTime|0;_SDL_GetTicks.sig="i";function _SDL_LockSurface(surf){surf>>>=0;var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAPU32[surf+20>>>2>>>0]=surfData.buffer}HEAPU32[surf+20>>>2>>>0]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i>>0)}}return 0}_SDL_LockSurface.sig="ip";var SDL={defaults:{width:320,height:200,copyOnLock:true,discardOnLock:false,opaqueFrontBuffer:true},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:false,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:false,isRequestingFullscreen:false,textInput:false,unicode:false,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(rect){return{x:HEAP32[rect>>>2>>>0],y:HEAP32[rect+4>>>2>>>0],w:HEAP32[rect+8>>>2>>>0],h:HEAP32[rect+12>>>2>>>0]}},updateRect(rect,r){HEAP32[rect>>>2>>>0]=r.x;HEAP32[rect+4>>>2>>>0]=r.y;HEAP32[rect+8>>>2>>>0]=r.w;HEAP32[rect+12>>>2>>>0]=r.h},intersectionOfRects(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}},checkPixelFormat(fmt){},loadColorToCSSRGB(color){var rgba=HEAP32[color>>>2>>>0];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"},loadColorToCSSRGBA(color){var rgba=HEAP32[color>>>2>>>0];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"},translateColorToCSSRGBA:rgba=>"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")",translateRGBAToCSSRGBA:(r,g,b,a)=>"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")",translateRGBAToColor:(r,g,b,a)=>r|g<<8|b<<16|a<<24,makeSurface(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){var is_SDL_HWSURFACE=flags&134217729;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>>2>>>0]=flags;HEAPU32[surf+4>>>2>>>0]=pixelFormat;HEAP32[surf+8>>>2>>>0]=width;HEAP32[surf+12>>>2>>>0]=height;HEAP32[surf+16>>>2>>>0]=width*bpp;HEAPU32[surf+20>>>2>>>0]=buffer;var canvas=Browser.getCanvas();HEAP32[surf+36>>>2>>>0]=0;HEAP32[surf+40>>>2>>>0]=0;HEAP32[surf+44>>>2>>>0]=canvas.width;HEAP32[surf+48>>>2>>>0]=canvas.height;HEAP32[surf+56>>>2>>>0]=1;HEAP32[pixelFormat>>>2>>>0]=-2042224636;HEAP32[pixelFormat+4>>>2>>>0]=0;HEAP8[pixelFormat+8>>>0]=bpp*8;HEAP8[pixelFormat+9>>>0]=bpp;HEAP32[pixelFormat+12>>>2>>>0]=rmask||255;HEAP32[pixelFormat+16>>>2>>>0]=gmask||65280;HEAP32[pixelFormat+20>>>2>>>0]=bmask||16711680;HEAP32[pixelFormat+24>>>2>>>0]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width,height,canvas,ctx,surf,buffer,pixelFormat,alpha:255,flags,locked:0,usePageCanvas,source,isFlagSet:flag=>flags&flag};return surf},copyIndexedColorData(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var canvas=Browser.getCanvas();var fullWidth=canvas.width;var fullHeight=canvas.height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y>>0]]}}},freeSurface(surf){var refcountPointer=surf+56;var refcount=HEAP32[refcountPointer>>>2>>>0];if(refcount>1){HEAP32[refcountPointer>>>2>>>0]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);if(info.buffer)_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}},blitSurface(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0},downFingers:{},savedKeydown:null,receiveEvent(event){function unpressAllPressedKeys(){for(var keyCode of Object.values(SDL.keyboardMap)){SDL.events.push({type:"keyup",keyCode})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var touch of event.touches){if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var touch of touches){SDL.events.push({type:event.type,touch})}break}case"touchend":{event.preventDefault();for(var touch of event.changedTouches){if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var touch of event.changedTouches){SDL.events.push({type:"touchend",touch})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=(delta>0?4:5)-1;SDL.events.push({type:"mousedown",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||(event.key=="Backspace"||event.key=="Tab")){event.preventDefault()}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](true,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(MainLoop.runner){SDL.events.push(event);MainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){err("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return},lookupKeyCodeForEvent(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[code]||(code<128?code:0);if(event.location===2&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code},handleEvent(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break}case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);if(!code)return;HEAP8[SDL.keyboardState+code>>>0]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248>>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>>0]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break}case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}return SDL.events.length>0},makeCEvent(event,ptr){if(typeof event=="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);if(!key)return false;var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8>>>0]=down?1:0;HEAP8[ptr+9>>>0]=0;HEAP32[ptr+12>>>2>>>0]=scan;HEAP32[ptr+16>>>2>>>0]=key;HEAP16[ptr+20>>>1>>>0]=SDL.modState;HEAP32[ptr+24>>>2>>>0]=event.keypressCharCode||key;break}case"keypress":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];var cStr=intArrayFromString(String.fromCharCode(event.charCode));for(var i=0;i>>0]=cStr[i]}break}case"mousedown":case"mouseup":case"mousemove":{if(event.type!="mousemove"){var down=event.type==="mousedown";HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP32[ptr+8>>>2>>>0]=0;HEAP32[ptr+12>>>2>>>0]=0;HEAP8[ptr+16>>>0]=event.button+1;HEAP8[ptr+17>>>0]=down?1:0;HEAP32[ptr+20>>>2>>>0]=Browser.mouseX;HEAP32[ptr+24>>>2>>>0]=Browser.mouseY}else{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP32[ptr+8>>>2>>>0]=0;HEAP32[ptr+12>>>2>>>0]=0;HEAP32[ptr+16>>>2>>>0]=SDL.buttonState;HEAP32[ptr+20>>>2>>>0]=Browser.mouseX;HEAP32[ptr+24>>>2>>>0]=Browser.mouseY;HEAP32[ptr+28>>>2>>>0]=Browser.mouseMovementX;HEAP32[ptr+32>>>2>>>0]=Browser.mouseMovementY}break}case"wheel":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>>2>>>0]=event.deltaX;HEAP32[ptr+20>>>2>>>0]=event.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var canvas=Browser.getCanvas();var x=Browser.touches[touch.identifier].x/canvas.width;var y=Browser.touches[touch.identifier].y/canvas.height;var lx=Browser.lastTouches[touch.identifier].x/canvas.width;var ly=Browser.lastTouches[touch.identifier].y/canvas.height;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=_SDL_GetTicks();HEAP64[ptr+8>>>3>>>0]=BigInt(touch.deviceID);HEAP64[ptr+16>>>3>>>0]=BigInt(touch.identifier);HEAPF32[ptr+24>>>2>>>0]=x;HEAPF32[ptr+28>>>2>>>0]=y;HEAPF32[ptr+32>>>2>>>0]=dx;HEAPF32[ptr+36>>>2>>>0]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>>2>>>0]=touch.force}else{HEAPF32[ptr+40>>>2>>>0]=event.type=="touchend"?0:1}break}case"unload":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];break}case"resize":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=event.w;HEAP32[ptr+8>>>2>>>0]=event.h;break}case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>>0]=event.index;HEAP8[ptr+5>>>0]=event.button;HEAP8[ptr+6>>>0]=state;break}case"joystick_axis_motion":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>>0]=event.index;HEAP8[ptr+5>>>0]=event.axis;HEAP32[ptr+8>>>2>>>0]=SDL.joystickAxisValueConversion(event.value);break}case"focus":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP8[ptr+8>>>0]=12;break}case"blur":{HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP8[ptr+8>>>0]=13;break}case"visibilitychange":{var visibilityEventID=event.visible?1:2;HEAP32[ptr>>>2>>>0]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>>2>>>0]=0;HEAP8[ptr+8>>>0]=visibilityEventID;break}default:throw"Unhandled SDL event: "+event.type}},makeFontString(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"},estimateTextWidth(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;return ret},allocateChannels(num){if(SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i{if(!audio.paused)SDL.playWebAudio(audio)});return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=audio["onended"];audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){err(`playWebAudio failed: ${e}`)}},pauseWebAudio(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){err(`pauseWebAudio failed: ${e}`)}}audio.paused=true},openAudioContext(){if(!SDL.audioContext){if(typeof AudioContext!="undefined"){SDL.audioContext=new AudioContext}else if(typeof webkitAudioContext!="undefined"){SDL.audioContext=new webkitAudioContext}}},webAudioAvailable:()=>!!SDL.audioContext,fillWebAudioBufferFromHeap(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var audio=SDL.audio;var numChannels=audio.channels;for(var c=0;c>>1>>>0]/32768}}else if(audio.format==8){for(var j=0;j>>0];channelData[j]=(v>=0?v-128:v+128)/128}}else if(audio.format==33056){for(var j=0;j>>2>>>0]}}else{throw"Invalid SDL audio format "+audio.format+"!"}}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState(joystick,state){var buttons=[];for(var button of state.buttons){buttons.push(SDL.getJoystickButtonState(button))}SDL.lastJoystickState[joystick]={buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}},getJoystickButtonState(button){if(typeof button=="object"){return button["pressed"]}return button>0},queryJoysticks(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state=="undefined")return;if(state===null)return;if(typeof state.timestamp!="number"||state.timestamp!=prevState.timestamp||!state.timestamp){var i;for(i=0;ideviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null}};function _SDL_Linked_Version(){if(SDL.version===null){SDL.version=_malloc(3);HEAP8[SDL.version>>>0]=1;HEAP8[SDL.version+1>>>0]=3;HEAP8[SDL.version+2>>>0]=0}return SDL.version}_SDL_Linked_Version.sig="p";var _SDL_Init=initFlags=>{SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_calloc(65536,1);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;return 0};_SDL_Init.sig="ii";var _SDL_WasInit=flags=>{if(SDL.startTime===null){_SDL_Init(0)}return 1};_SDL_WasInit.sig="ii";function _SDL_GetVideoInfo(){var ret=_calloc(20,1);var canvas=Browser.getCanvas();HEAP32[ret+12>>>2>>>0]=canvas.width;HEAP32[ret+16>>>2>>>0]=canvas.height;return ret}_SDL_GetVideoInfo.sig="p";function _SDL_ListModes(format,flags){format>>>=0;return-1}_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(width,height,depth,flags)=>depth;_SDL_VideoModeOK.sig="iiiii";function _SDL_VideoDriverName(buf,max_size){buf>>>=0;if(SDL.startTime===null){return 0}var driverName=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114];var index=0;var size=driverName.length;if(max_size<=size){size=max_size-1}while(index>>0]=value;index++}HEAP8[buf+index>>>0]=0;return buf}_SDL_VideoDriverName.sig="ppi";var _SDL_AudioDriverName=_SDL_VideoDriverName;_SDL_AudioDriverName.sig="ppi";var _SDL_SetVideoMode=function(width,height,depth,flags){var canvas=Browser.getCanvas();["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","mousewheel","wheel","mouseout","DOMMouseScroll"].forEach(e=>canvas.addEventListener(e,SDL.receiveEvent,true));if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push((w,h)=>{if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w,h})}})}SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false;if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen};_SDL_SetVideoMode.sig="piiii";function _SDL_GetVideoSurface(){return SDL.screen}_SDL_GetVideoSurface.sig="p";var _SDL_AudioQuit=()=>{for(var i=0;iout("SDL_VideoQuit called (and ignored)");_SDL_VideoQuit.sig="v";var _SDL_QuitSubSystem=flags=>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(surf){surf>>>=0;assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>>0];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src>>>0,src+num>>>0));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i>>0,src+data32.length>>>0))}}}else{var canvas=Browser.getCanvas();var width=canvas.width;var height=canvas.height;var s=surfData.buffer;var data=surfData.image.data;var colors=surfData.colors;for(var y=0;y>>0]*4;var start=base+x*4;data[start]=colors[val];data[start+1]=colors[val+1];data[start+2]=colors[val+2]}s+=width*3}}surfData.ctx.putImageData(surfData.image,0,0)}_SDL_UnlockSurface.sig="vp";function _SDL_Flip(surf){surf>>>=0}_SDL_Flip.sig="ip";function _SDL_UpdateRect(surf,x,y,w,h){surf>>>=0}_SDL_UpdateRect.sig="vpiiii";function _SDL_UpdateRects(surf,numrects,rects){surf>>>=0;rects>>>=0}_SDL_UpdateRects.sig="vpip";var _SDL_Delay=delay=>{if(!ENVIRONMENT_IS_WORKER)abort("SDL_Delay called on the main thread! Potential infinite loop, quitting. (consider building with async support like ASYNCIFY)");var now=Date.now();while(Date.now()-now>>=0;icon>>>=0;if(title){_emscripten_set_window_title(title)}icon&&=UTF8ToString(icon)}_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(delay,interval)=>{};_SDL_EnableKeyRepeat.sig="iii";function _SDL_GetKeyboardState(numKeys){numKeys>>>=0;if(numKeys){HEAP32[numKeys>>>2>>>0]=65536}return SDL.keyboardState}_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0);function _SDL_GetKeyName(key){var name="";if(key>=97&&key<=122||key>=48&&key<=57){name=String.fromCharCode(key)}var size=lengthBytesUTF8(name)+1;SDL.keyName=_realloc(SDL.keyName,size);stringToUTF8(name,SDL.keyName,size);return SDL.keyName}_SDL_GetKeyName.sig="pi";var _SDL_GetModState=()=>SDL.modState;_SDL_GetModState.sig="i";function _SDL_GetMouseState(x,y){x>>>=0;y>>>=0;if(x)HEAP32[x>>>2>>>0]=Browser.mouseX;if(y)HEAP32[y>>>2>>>0]=Browser.mouseY;return SDL.buttonState}_SDL_GetMouseState.sig="ipp";var _SDL_WarpMouse=(x,y)=>{};_SDL_WarpMouse.sig="vii";var _SDL_ShowCursor=toggle=>{switch(toggle){case 0:if(Browser.isFullscreen){Browser.getCanvas().requestPointerLock();return 0}return 1;case 1:Browser.getCanvas().exitPointerLock();return 1;case-1:return!Browser.pointerLock;default:err(`SDL_ShowCursor called with unknown toggle parameter value: ${toggle}`);break}};_SDL_ShowCursor.sig="ii";function _SDL_GetError(){SDL.errorMessage||=stringToNewUTF8("unknown SDL-emscripten error");return SDL.errorMessage}_SDL_GetError.sig="p";function _SDL_SetError(fmt,varargs){fmt>>>=0;varargs>>>=0}_SDL_SetError.sig="vpp";function _SDL_CreateRGBSurface(flags,width,height,depth,rmask,gmask,bmask,amask){return SDL.makeSurface(width,height,flags,false,"CreateRGBSurface",rmask,gmask,bmask,amask)}_SDL_CreateRGBSurface.sig="piiiiiiii";function _SDL_CreateRGBSurfaceFrom(pixels,width,height,depth,pitch,rmask,gmask,bmask,amask){pixels>>>=0;var surf=SDL.makeSurface(width,height,0,false,"CreateRGBSurfaceFrom",rmask,gmask,bmask,amask);if(depth!==32){err("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!");return surf}var data=SDL.surfaces[surf];var image=data.ctx.createImageData(width,height);var pitchOfDst=width*4;for(var row=0;row>>0]}}data.ctx.putImageData(image,0,0);return surf}_SDL_CreateRGBSurfaceFrom.sig="ppiiiiiiii";function _SDL_ConvertSurface(surf,format,flags){surf>>>=0;format>>>=0;if(format){SDL.checkPixelFormat(format)}var oldData=SDL.surfaces[surf];var ret=SDL.makeSurface(oldData.width,oldData.height,oldData.flags,false,"copy:"+oldData.source);var newData=SDL.surfaces[ret];newData.ctx.globalCompositeOperation="copy";newData.ctx.drawImage(oldData.canvas,0,0);newData.ctx.globalCompositeOperation=oldData.ctx.globalCompositeOperation;return ret}_SDL_ConvertSurface.sig="pppi";function _SDL_DisplayFormat(surf){surf>>>=0;return _SDL_ConvertSurface(surf,0,0)}_SDL_DisplayFormat.sig="pp";function _SDL_DisplayFormatAlpha(surf){surf>>>=0;return _SDL_ConvertSurface(surf,0,0)}_SDL_DisplayFormatAlpha.sig="pp";function _SDL_FreeSurface(surf){surf>>>=0;if(surf)SDL.freeSurface(surf)}_SDL_FreeSurface.sig="vp";function _SDL_UpperBlit(src,srcrect,dst,dstrect){src>>>=0;srcrect>>>=0;dst>>>=0;dstrect>>>=0;return SDL.blitSurface(src,srcrect,dst,dstrect,false)}_SDL_UpperBlit.sig="ipppp";function _SDL_UpperBlitScaled(src,srcrect,dst,dstrect){src>>>=0;srcrect>>>=0;dst>>>=0;dstrect>>>=0;return SDL.blitSurface(src,srcrect,dst,dstrect,true)}_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(surf,rect){surf>>>=0;rect>>>=0;assert(rect);var surfData=SDL.surfaces[surf];var r=surfData.clipRect||{x:0,y:0,w:surfData.width,h:surfData.height};SDL.updateRect(rect,r)}_SDL_GetClipRect.sig="vpp";function _SDL_SetClipRect(surf,rect){surf>>>=0;rect>>>=0;var surfData=SDL.surfaces[surf];if(rect){surfData.clipRect=SDL.intersectionOfRects({x:0,y:0,w:surfData.width,h:surfData.height},SDL.loadRect(rect))}else{delete surfData.clipRect}}_SDL_SetClipRect.sig="ipp";function _SDL_FillRect(surf,rect,color){surf>>>=0;rect>>>=0;var surfData=SDL.surfaces[surf];assert(!surfData.locked);if(surfData.isFlagSet(2097152)){color=surfData.colors32[color]}var r=rect?SDL.loadRect(rect):{x:0,y:0,w:surfData.width,h:surfData.height};if(surfData.clipRect){r=SDL.intersectionOfRects(surfData.clipRect,r);if(rect){SDL.updateRect(rect,r)}}surfData.ctx.save();surfData.ctx.fillStyle=SDL.translateColorToCSSRGBA(color);surfData.ctx.fillRect(r.x,r.y,r.w,r.h);surfData.ctx.restore();return 0}_SDL_FillRect.sig="ippi";function _zoomSurface(src,x,y,smooth){src>>>=0;var srcData=SDL.surfaces[src];var w=srcData.width*x;var h=srcData.height*y;var ret=SDL.makeSurface(Math.abs(w),Math.abs(h),srcData.flags,false,"zoomSurface");var dstData=SDL.surfaces[ret];if(x>=0&&y>=0){dstData.ctx.drawImage(srcData.canvas,0,0,w,h)}else{dstData.ctx.save();dstData.ctx.scale(x<0?-1:1,y<0?-1:1);dstData.ctx.drawImage(srcData.canvas,w<0?w:0,h<0?h:0,Math.abs(w),Math.abs(h));dstData.ctx.restore()}return ret}_zoomSurface.sig="ppddi";function _rotozoomSurface(src,angle,zoom,smooth){src>>>=0;if(angle%360===0){return _zoomSurface(src,zoom,zoom,smooth)}var srcData=SDL.surfaces[src];var w=srcData.width*zoom;var h=srcData.height*zoom;var diagonal=Math.ceil(Math.sqrt(Math.pow(w,2)+Math.pow(h,2)));var ret=SDL.makeSurface(diagonal,diagonal,srcData.flags,false,"rotozoomSurface");var dstData=SDL.surfaces[ret];dstData.ctx.translate(diagonal/2,diagonal/2);dstData.ctx.rotate(-angle*Math.PI/180);dstData.ctx.drawImage(srcData.canvas,-w/2,-h/2,w,h);return ret}_rotozoomSurface.sig="ppddi";function _SDL_SetAlpha(surf,flag,alpha){surf>>>=0;var surfData=SDL.surfaces[surf];surfData.alpha=alpha;if(!(flag&65536)){surfData.alpha=255}}_SDL_SetAlpha.sig="ipii";function _SDL_SetColorKey(surf,flag,key){surf>>>=0;warnOnce("SDL_SetColorKey is a no-op for performance reasons");return 0}_SDL_SetColorKey.sig="ipii";function _SDL_PollEvent(ptr){ptr>>>=0;return SDL.pollEvent(ptr)}_SDL_PollEvent.sig="ip";function _SDL_PushEvent(ptr){ptr>>>=0;var copy=_malloc(28);_memcpy(copy,ptr,28);SDL.events.push(copy);return 0}_SDL_PushEvent.sig="ip";function _SDL_PeepEvents(events,requestedEventCount,action,from,to){events>>>=0;switch(action){case 2:{assert(requestedEventCount==1);var index=0;var retrievedEventCount=0;while(indexSDL.events.forEach(SDL.handleEvent);_SDL_PumpEvents.sig="v";function _emscripten_SDL_SetEventHandler(handler,userdata){handler>>>=0;userdata>>>=0;SDL.eventHandler=handler;SDL.eventHandlerContext=userdata;SDL.eventHandlerTemp||=_malloc(28)}_emscripten_SDL_SetEventHandler.sig="vpp";function _SDL_SetColors(surf,colors,firstColor,nColors){surf>>>=0;colors>>>=0;var surfData=SDL.surfaces[surf];if(!surfData.colors){var buffer=new ArrayBuffer(256*4);surfData.colors=new Uint8Array(buffer);surfData.colors32=new Uint32Array(buffer)}for(var i=0;i>>0];surfData.colors[index+1]=HEAPU8[colors+(i*4+1)>>>0];surfData.colors[index+2]=HEAPU8[colors+(i*4+2)>>>0];surfData.colors[index+3]=255}return 1}_SDL_SetColors.sig="ippii";function _SDL_SetPalette(surf,flags,colors,firstColor,nColors){surf>>>=0;colors>>>=0;return _SDL_SetColors(surf,colors,firstColor,nColors)}_SDL_SetPalette.sig="ipipii";function _SDL_MapRGB(fmt,r,g,b){fmt>>>=0;SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|4278190080}_SDL_MapRGB.sig="ipiii";function _SDL_MapRGBA(fmt,r,g,b,a){fmt>>>=0;SDL.checkPixelFormat(fmt);return r&255|(g&255)<<8|(b&255)<<16|(a&255)<<24}_SDL_MapRGBA.sig="ipiiii";function _SDL_GetRGB(pixel,fmt,r,g,b){fmt>>>=0;r>>>=0;g>>>=0;b>>>=0;SDL.checkPixelFormat(fmt);if(r){HEAP8[r>>>0]=pixel&255}if(g){HEAP8[g>>>0]=pixel>>8&255}if(b){HEAP8[b>>>0]=pixel>>16&255}}_SDL_GetRGB.sig="vipppp";function _SDL_GetRGBA(pixel,fmt,r,g,b,a){fmt>>>=0;r>>>=0;g>>>=0;b>>>=0;a>>>=0;SDL.checkPixelFormat(fmt);if(r){HEAP8[r>>>0]=pixel&255}if(g){HEAP8[g>>>0]=pixel>>8&255}if(b){HEAP8[b>>>0]=pixel>>16&255}if(a){HEAP8[a>>>0]=pixel>>24&255}}_SDL_GetRGBA.sig="vippppp";var _SDL_GetAppState=()=>{var state=0;if(Browser.pointerLock){state|=1}if(document.hasFocus()){state|=2}state|=4;return state};_SDL_GetAppState.sig="i";var _SDL_WM_GrabInput=()=>{};_SDL_WM_GrabInput.sig="ii";function _SDL_WM_ToggleFullScreen(surf){surf>>>=0;if(Browser.exitFullscreen()){return 1}if(!SDL.canRequestFullscreen){return 0}SDL.isRequestingFullscreen=true;return 1}_SDL_WM_ToggleFullScreen.sig="ip";var _IMG_Init=flags=>flags;_IMG_Init.sig="ii";function _SDL_FreeRW(rwopsID){rwopsID>>>=0;SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}}_SDL_FreeRW.sig="vp";var _IMG_Load_RW=function(rwopsID,freeSrc){rwopsID>>>=0;var sp=stackSave();try{var cleanup=()=>{stackRestore(sp);if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)};var addCleanup=func=>{var old=cleanup;cleanup=()=>{old();func()}};var callStbImage=(func,params)=>{var x=stackAlloc(4);var y=stackAlloc(4);var comp=stackAlloc(4);var data=Module["_"+func](...params,x,y,comp,0);if(!data)return null;addCleanup(()=>Module["_stbi_image_free"](data));return{rawData:true,data,width:HEAP32[x>>>2>>>0],height:HEAP32[y>>>2>>>0],size:HEAP32[x>>>2>>>0]*HEAP32[y>>>2>>>0]*HEAP32[comp>>>2>>>0],bpp:HEAP32[comp>>>2>>>0]}};var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var raw;var filename=rwops.filename;if(filename===undefined){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");return 0}if(!raw){filename=PATH_FS.resolve(filename);raw=Browser.preloadedImages[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");warnOnce("Cannot find preloaded image "+filename);warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Browser.preloadedImages[filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data>>>0,raw.data+raw.size>>>0))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i>>0];data[destPtr++]=HEAPU8[sourcePtr++>>>0];data[destPtr++]=HEAPU8[sourcePtr++>>>0];data[destPtr++]=255}}else if(raw.bpp==2){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i>>0];var alpha=HEAPU8[sourcePtr++>>>0];data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=alpha}}else if(raw.bpp==1){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i>>0];data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=255}}else{err(`cannot handle bpp ${raw.bpp}`);return 0}surfData.ctx.putImageData(imageData,0,0)}surfData.ctx.globalCompositeOperation="source-over";_SDL_LockSurface(surf);surfData.locked--;if(SDL.GL){surfData.canvas=surfData.ctx=null}return surf}finally{cleanup()}};_IMG_Load_RW.sig="ppi";var _SDL_LoadBMP_RW=_IMG_Load_RW;_SDL_LoadBMP_RW.sig="ppi";function _SDL_RWFromFile(_name,mode){_name>>>=0;mode>>>=0;var id=SDL.rwops.length;var filename=UTF8ToString(_name);SDL.rwops.push({filename,mimetype:Browser.getMimetype(filename)});return id}_SDL_RWFromFile.sig="ppp";function _IMG_Load(filename){filename>>>=0;var rwops=_SDL_RWFromFile(filename,0);var result=_IMG_Load_RW(rwops,1);return result}_IMG_Load.sig="pp";var _IMG_Quit=()=>out("IMG_Quit called (and ignored)");_IMG_Quit.sig="v";function _SDL_OpenAudio(desired,obtained){desired>>>=0;obtained>>>=0;try{SDL.audio={freq:HEAPU32[desired>>>2>>>0],format:HEAPU16[desired+4>>>1>>>0],channels:HEAPU8[desired+6>>>0],samples:HEAPU16[desired+8>>>1>>>0],callback:HEAPU32[desired+16>>>2>>>0],userdata:HEAPU32[desired+20>>>2>>>0],paused:true,timer:null};if(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+"!"}else 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 ${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: ${SDL.audio.channels}!`}else if(SDL.audio.channels!=1&&SDL.audio.channels!=2){out(`Warning: Using untested number of audio channels ${SDL.audio.channels}`)}if(SDL.audio.samples<128||SDL.audio.samples>524288){throw`Unsupported audio callback buffer size ${SDL.audio.samples}!`}else if((SDL.audio.samples&SDL.audio.samples-1)!=0){throw`Audio callback buffer size ${SDL.audio.samples} must be a power-of-two!`}var totalSamples=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 ${SDL.audio.format}!`}SDL.audio.bufferSize=totalSamples*SDL.audio.bytesPerSample;SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq;SDL.audio.bufferingDelay=50/1e3;SDL.audio.buffer=_malloc(SDL.audio.bufferSize);SDL.audio.numSimultaneouslyQueuedBuffers=Module["SDL_numSimultaneouslyQueuedBuffers"]||5;SDL.audio.queueNewAudioData=()=>{if(!SDL.audio)return;for(var i=0;i=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)return;--SDL.audio.numAudioTimersPending;SDL.audio.queueNewAudioData();var secsUntilNextPlayStart=SDL.audio.nextPlayTime-SDL.audioContext["currentTime"];var preemptBufferFeedSecs=SDL.audio.bufferDurationSecs/2;if(SDL.audio.numAudioTimersPending{try{if(SDL.audio.paused)return;var sizeSamples=sizeBytes/SDL.audio.bytesPerSample;var sizeSamplesPerChannel=sizeSamples/SDL.audio.channels;if(sizeSamplesPerChannel!=SDL.audio.samples){throw"Received mismatching audio buffer size!"}var source=SDL.audioContext["createBufferSource"]();var soundBuffer=SDL.audioContext["createBuffer"](SDL.audio.channels,sizeSamplesPerChannel,SDL.audio.freq);source["connect"](SDL.audioContext["destination"]);SDL.fillWebAudioBufferFromHeap(ptr,sizeSamplesPerChannel,soundBuffer);source["buffer"]=soundBuffer;var curtime=SDL.audioContext["currentTime"];var playtime=Math.max(curtime+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);if(typeof source["start"]!="undefined"){source["start"](playtime)}else if(typeof source["noteOn"]!="undefined"){source["noteOn"](playtime)}SDL.audio.nextPlayTime=playtime+SDL.audio.bufferDurationSecs}catch(e){err(`Web Audio API error playing back audio: ${e.toString()}`)}};if(obtained){HEAP32[obtained>>>2>>>0]=SDL.audio.freq;HEAP16[obtained+4>>>1>>>0]=SDL.audio.format;HEAP8[obtained+6>>>0]=SDL.audio.channels;HEAP8[obtained+7>>>0]=SDL.audio.silence;HEAP16[obtained+8>>>1>>>0]=SDL.audio.samples;HEAPU32[obtained+16>>>2>>>0]=SDL.audio.callback;HEAPU32[obtained+20>>>2>>>0]=SDL.audio.userdata}SDL.allocateChannels(32)}catch(e){err(`Initializing SDL audio threw an exception: "${e.toString()}"! Continuing without audio`);SDL.audio=null;SDL.allocateChannels(0);if(obtained){HEAP32[obtained>>>2>>>0]=0;HEAP16[obtained+4>>>1>>>0]=0;HEAP8[obtained+6>>>0]=0;HEAP8[obtained+7>>>0]=0;HEAP16[obtained+8>>>1>>>0]=0;HEAPU32[obtained+16>>>2>>>0]=0;HEAPU32[obtained+20>>>2>>>0]=0}}if(!SDL.audio){return-1}return 0}_SDL_OpenAudio.sig="ipp";var _SDL_PauseAudio=pauseOn=>{if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn};_SDL_PauseAudio.sig="vi";var _SDL_CloseAudio=()=>{if(SDL.audio){if(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(mutex){mutex>>>=0;return 0}_SDL_mutexP.sig="ip";function _SDL_mutexV(mutex){mutex>>>=0;return 0}_SDL_mutexV.sig="ip";function _SDL_DestroyMutex(mutex){mutex>>>=0}_SDL_DestroyMutex.sig="vp";function _SDL_CreateCond(){return 0}_SDL_CreateCond.sig="p";function _SDL_CondSignal(cond){cond>>>=0}_SDL_CondSignal.sig="ip";function _SDL_CondWait(cond,mutex){cond>>>=0;mutex>>>=0}_SDL_CondWait.sig="ipp";function _SDL_DestroyCond(cond){cond>>>=0}_SDL_DestroyCond.sig="vp";var _SDL_StartTextInput=()=>{SDL.textInput=true};_SDL_StartTextInput.sig="v";var _SDL_StopTextInput=()=>{SDL.textInput=false};_SDL_StopTextInput.sig="v";var _Mix_Init=flags=>{if(!flags)return 0;return 8};_Mix_Init.sig="ii";var _Mix_Quit=()=>{};_Mix_Quit.sig="v";var _Mix_OpenAudio=(frequency,format,channels,chunksize)=>{SDL.openAudioContext();autoResumeAudioContext(SDL.audioContext);SDL.allocateChannels(32);SDL.mixerFrequency=frequency;SDL.mixerFormat=format;SDL.mixerNumChannels=channels;SDL.mixerChunkSize=chunksize;return 0};_Mix_OpenAudio.sig="iiiii";var _Mix_CloseAudio=_SDL_CloseAudio;_Mix_CloseAudio.sig="v";var _Mix_AllocateChannels=num=>{SDL.allocateChannels(num);return num};_Mix_AllocateChannels.sig="ii";function _Mix_ChannelFinished(func){func>>>=0;SDL.channelFinished=func}_Mix_ChannelFinished.sig="vp";var _Mix_Volume=(channel,volume)=>{if(channel==-1){for(var i=0;i{left/=255;right/=255;SDL.setPannerPosition(SDL.channels[channel],right-left,0,.1);return 1};_Mix_SetPanning.sig="iiii";function _Mix_LoadWAV_RW(rwopsID,freesrc){rwopsID>>>=0;var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH_FS.resolve(rwops.filename);var raw=Browser.preloadedAudios[filename];if(!raw){if(raw===null)err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module["noAudioDecoding"])warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){err(`Couldn't find file for: ${filename}`);return 0}}if(Module["freePreloadedMediaOnUse"]){Browser.preloadedAudios[filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable()){bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count)}else{bytes=HEAPU8.subarray(rwops.bytes>>>0,rwops.bytes+rwops.count>>>0)}}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={onDecodeComplete:[]};SDL.audioContext["decodeAudioData"](arrayBuffer,data=>{webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach(e=>e());delete webAudio.onDecodeComplete})}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio,webAudio});return id}_Mix_LoadWAV_RW.sig="ppi";function _Mix_LoadWAV(filename){filename>>>=0;var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadWAV_RW(rwops,0);_SDL_FreeRW(rwops);return result}_Mix_LoadWAV.sig="pp";function _Mix_QuickLoad_RAW(mem,len){mem>>>=0;var audio;var webAudio;var numSamples=len>>1;var buffer=new Float32Array(numSamples);for(var i=0;i>>1>>>0]/32768}if(SDL.webAudioAvailable()){webAudio={decodedBuffer:buffer}}else{audio=new Audio;audio.mozAudioChannelType="content";audio.numChannels=SDL.mixerNumChannels;audio.frequency=SDL.mixerFrequency}var id=SDL.audios.length;SDL.audios.push({source:"",audio,webAudio,buffer});return id}_Mix_QuickLoad_RAW.sig="ppi";function _Mix_FreeChunk(id){id>>>=0;SDL.audios[id]=null}_Mix_FreeChunk.sig="vp";var _Mix_ReserveChannels=num=>{SDL.channelMinimumNumber=num};_Mix_ReserveChannels.sig="ii";var _Mix_HaltChannel=channel=>{function halt(channel){var info=SDL.channels[channel];if(info.audio){info.audio.pause();info.audio=null}if(SDL.channelFinished){getWasmTableEntry(SDL.channelFinished)(channel)}}if(channel!=-1){halt(channel)}else{for(var i=0;i>>=0;assert(ticks==-1);var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i0;_Mix_FadingChannel.sig="ii";var _Mix_HaltMusic=()=>{var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){getWasmTableEntry(SDL.hookMusicFinished)()}return 0};_Mix_HaltMusic.sig="i";function _Mix_HookMusicFinished(func){func>>>=0;SDL.hookMusicFinished=func;if(SDL.music.audio){SDL.music.audio["onended"]=_Mix_HaltMusic}}_Mix_HookMusicFinished.sig="vp";var _Mix_VolumeMusic=volume=>SDL.setGetVolume(SDL.music,volume);_Mix_VolumeMusic.sig="ii";function _Mix_LoadMUS_RW(filename){filename>>>=0;return _Mix_LoadWAV_RW(filename,0)}_Mix_LoadMUS_RW.sig="pp";function _Mix_LoadMUS(filename){filename>>>=0;var rwops=_SDL_RWFromFile(filename,0);var result=_Mix_LoadMUS_RW(rwops);_SDL_FreeRW(rwops);return result}_Mix_LoadMUS.sig="pp";var _Mix_FreeMusic=_Mix_FreeChunk;_Mix_FreeMusic.sig="vp";function _Mix_PlayMusic(id,loops){id>>>=0;if(SDL.music.audio){if(!SDL.music.audio.paused)err(`Music is already playing. ${SDL.music.source}`);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={resource:info,paused:false,currentPosition:0,play(){SDL.playWebAudio(this)},pause(){SDL.pauseWebAudio(this)}}}else if(info.audio){audio=info.audio}audio["onended"]=function(){if(SDL.music.audio===this||SDL.music.audio?.webAudioNode===this){_Mix_HaltMusic()}};audio.loop=loops!=0&&loops!=1;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0}_Mix_PlayMusic.sig="ipi";var _Mix_PauseMusic=()=>{var audio=SDL.music.audio;audio?.pause()};_Mix_PauseMusic.sig="v";var _Mix_ResumeMusic=()=>{var audio=SDL.music.audio;audio?.play()};_Mix_ResumeMusic.sig="v";var _Mix_FadeInMusicPos=_Mix_PlayMusic;_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=_Mix_HaltMusic;_Mix_FadeOutMusic.sig="ii";var _Mix_PlayingMusic=()=>SDL.music.audio&&!SDL.music.audio.paused;_Mix_PlayingMusic.sig="i";var _Mix_Playing=channel=>{if(channel===-1){var count=0;for(var i=0;i{if(channel===-1){for(var i=0;i{if(channel===-1){var pausedCount=0;for(var i=0;iSDL.music.audio?.paused?1:0;_Mix_PausedMusic.sig="i";var _Mix_Resume=channel=>{if(channel===-1){for(var i=0;i{try{var offscreenCanvas=new OffscreenCanvas(0,0);SDL.ttfContext=offscreenCanvas.getContext("2d");if(typeof SDL.ttfContext.measureText!="function"){throw"bad context"}}catch(ex){var canvas=document.createElement("canvas");SDL.ttfContext=canvas.getContext("2d")}return 0};_TTF_Init.sig="i";function _TTF_OpenFont(name,size){name>>>=0;name=PATH.normalize(UTF8ToString(name));var id=SDL.fonts.length;SDL.fonts.push({name,size});return id}_TTF_OpenFont.sig="ppi";function _TTF_CloseFont(font){font>>>=0;SDL.fonts[font]=null}_TTF_CloseFont.sig="vp";function _TTF_RenderText_Solid(font,text,color){font>>>=0;text>>>=0;color>>>=0;text=UTF8ToString(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;color=SDL.loadColorToCSSRGB(color);var fontString=SDL.makeFontString(h,fontData.name);var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="bottom";surfData.ctx.fillText(text,0,h|0);surfData.ctx.restore();return surf}_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(font,text,w,h){font>>>=0;text>>>=0;w>>>=0;h>>>=0;var fontData=SDL.fonts[font];if(w){HEAP32[w>>>2>>>0]=SDL.estimateTextWidth(fontData,UTF8ToString(text))}if(h){HEAP32[h>>>2>>>0]=fontData.size}return 0}_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";function _TTF_GlyphMetrics(font,ch,minx,maxx,miny,maxy,advance){font>>>=0;minx>>>=0;maxx>>>=0;miny>>>=0;maxy>>>=0;advance>>>=0;var fontData=SDL.fonts[font];var width=SDL.estimateTextWidth(fontData,String.fromCharCode(ch));if(advance){HEAP32[advance>>>2>>>0]=width}if(minx){HEAP32[minx>>>2>>>0]=0}if(maxx){HEAP32[maxx>>>2>>>0]=width}if(miny){HEAP32[miny>>>2>>>0]=0}if(maxy){HEAP32[maxy>>>2>>>0]=fontData.size}}_TTF_GlyphMetrics.sig="ipippppp";function _TTF_FontAscent(font){font>>>=0;var fontData=SDL.fonts[font];return fontData.size*.98|0}_TTF_FontAscent.sig="ip";function _TTF_FontDescent(font){font>>>=0;var fontData=SDL.fonts[font];return fontData.size*.02|0}_TTF_FontDescent.sig="ip";function _TTF_FontHeight(font){font>>>=0;var fontData=SDL.fonts[font];return fontData.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:(surf,x1,y1,x2,y2,action,cssColor)=>{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);var x=x1{x1=x1<<16>>16;y1=y1<<16>>16;x2=x2<<16>>16;y2=y2<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.strokeStyle=cssColor;surfData.ctx.beginPath();surfData.ctx.moveTo(x1,y1);surfData.ctx.lineTo(x2,y2);surfData.ctx.stroke();surfData.ctx.restore()},drawEllipse:(surf,x,y,rx,ry,action,cssColor)=>{x=x<<16>>16;y=y<<16>>16;rx=rx<<16>>16;ry=ry<<16>>16;var surfData=SDL.surfaces[surf];assert(!surfData.locked);surfData.ctx.save();surfData.ctx.beginPath();surfData.ctx.translate(x,y);surfData.ctx.scale(rx,ry);surfData.ctx.arc(0,0,1,0,2*Math.PI);surfData.ctx.restore();surfData.ctx.save();surfData.ctx[action+"Style"]=cssColor;surfData.ctx[action]();surfData.ctx.restore()},translateColorToCSSRGBA:rgba=>`rgba(${rgba>>>24},${rgba>>16&255},${rgba>>8&255},${rgba&255})`};function _boxColor(surf,x1,y1,x2,y2,color){surf>>>=0;return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL_gfx.translateColorToCSSRGBA(color))}_boxColor.sig="ipiiiii";function _boxRGBA(surf,x1,y1,x2,y2,r,g,b,a){surf>>>=0;return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a))}_boxRGBA.sig="ipiiiiiiii";function _rectangleColor(surf,x1,y1,x2,y2,color){surf>>>=0;return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL_gfx.translateColorToCSSRGBA(color))}_rectangleColor.sig="ipiiiii";function _rectangleRGBA(surf,x1,y1,x2,y2,r,g,b,a){surf>>>=0;return SDL_gfx.drawRectangle(surf,x1,y1,x2,y2,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a))}_rectangleRGBA.sig="ipiiiiiiii";function _ellipseColor(surf,x,y,rx,ry,color){surf>>>=0;return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL_gfx.translateColorToCSSRGBA(color))}_ellipseColor.sig="ipiiiii";function _ellipseRGBA(surf,x,y,rx,ry,r,g,b,a){surf>>>=0;return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"stroke",SDL.translateRGBAToCSSRGBA(r,g,b,a))}_ellipseRGBA.sig="ipiiiiiiii";function _filledEllipseColor(surf,x,y,rx,ry,color){surf>>>=0;return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL_gfx.translateColorToCSSRGBA(color))}_filledEllipseColor.sig="ipiiiii";function _filledEllipseRGBA(surf,x,y,rx,ry,r,g,b,a){surf>>>=0;return SDL_gfx.drawEllipse(surf,x,y,rx,ry,"fill",SDL.translateRGBAToCSSRGBA(r,g,b,a))}_filledEllipseRGBA.sig="ipiiiiiiii";function _lineColor(surf,x1,y1,x2,y2,color){surf>>>=0;return SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL_gfx.translateColorToCSSRGBA(color))}_lineColor.sig="ipiiiii";function _lineRGBA(surf,x1,y1,x2,y2,r,g,b,a){surf>>>=0;return SDL_gfx.drawLine(surf,x1,y1,x2,y2,SDL.translateRGBAToCSSRGBA(r,g,b,a))}_lineRGBA.sig="ipiiiiiiii";function _pixelRGBA(surf,x1,y1,r,g,b,a){surf>>>=0;return _boxRGBA(surf,x1,y1,x1,y1,r,g,b,a)}_pixelRGBA.sig="ipiiiiii";var _SDL_GL_SetAttribute=(attr,value)=>{if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}SDL.glAttributes[attr]=value};_SDL_GL_SetAttribute.sig="iii";function _SDL_GL_GetAttribute(attr,value){value>>>=0;if(!(attr in SDL.glAttributes)){abort("Unknown SDL GL attribute ("+attr+"). Please check if your SDL version is supported.")}if(value)HEAP32[value>>>2>>>0]=SDL.glAttributes[attr];return 0}_SDL_GL_GetAttribute.sig="iip";var _SDL_GL_SwapBuffers=()=>Browser.doSwapBuffers?.();_SDL_GL_SwapBuffers.sig="v";function _SDL_GL_ExtensionSupported(extension){extension>>>=0;return GLctx?.getExtension(UTF8ToString(extension))?1:0}_SDL_GL_ExtensionSupported.sig="ip";function _SDL_DestroyWindow(window){window>>>=0}_SDL_DestroyWindow.sig="vp";function _SDL_DestroyRenderer(renderer){renderer>>>=0}_SDL_DestroyRenderer.sig="vp";function _SDL_GetWindowFlags(window){window>>>=0;if(Browser.isFullscreen){return 1}return 0}_SDL_GetWindowFlags.sig="ip";function _SDL_GL_SwapWindow(window){window>>>=0}_SDL_GL_SwapWindow.sig="vp";function _SDL_GL_MakeCurrent(window,context){window>>>=0;context>>>=0}_SDL_GL_MakeCurrent.sig="ipp";function _SDL_GL_DeleteContext(context){context>>>=0}_SDL_GL_DeleteContext.sig="vp";var _SDL_GL_GetSwapInterval=()=>{if(MainLoop.timingMode==1){return MainLoop.timingValue}else{return 0}};_SDL_GL_GetSwapInterval.sig="i";var _SDL_GL_SetSwapInterval=state=>_emscripten_set_main_loop_timing(1,state);_SDL_GL_SetSwapInterval.sig="ii";function _SDL_SetWindowTitle(window,title){window>>>=0;title>>>=0;if(title)document.title=UTF8ToString(title)}_SDL_SetWindowTitle.sig="vpp";function _SDL_GetWindowSize(window,width,height){window>>>=0;width>>>=0;height>>>=0;var canvas=Browser.getCanvas();if(width)HEAP32[width>>>2>>>0]=canvas.width;if(height)HEAP32[height>>>2>>>0]=canvas.height}_SDL_GetWindowSize.sig="vppp";function _SDL_LogSetOutputFunction(callback,userdata){callback>>>=0;userdata>>>=0}_SDL_LogSetOutputFunction.sig="vpp";function _SDL_SetWindowFullscreen(window,fullscreen){window>>>=0;if(Browser.isFullscreen){Browser.getCanvas().exitFullscreen();return 1}return 0}_SDL_SetWindowFullscreen.sig="ipi";var _SDL_ClearError=()=>{};_SDL_ClearError.sig="v";var _SDL_SetGamma=(r,g,b)=>-1;_SDL_SetGamma.sig="ifff";function _SDL_SetGammaRamp(redTable,greenTable,blueTable){redTable>>>=0;greenTable>>>=0;blueTable>>>=0;return-1}_SDL_SetGammaRamp.sig="ippp";var _SDL_NumJoysticks=()=>{var count=0;var gamepads=SDL.getGamepads();for(var gamepad of gamepads){if(gamepad!==undefined)count++}return count};_SDL_NumJoysticks.sig="i";function _SDL_JoystickName(deviceIndex){var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var name=gamepad.id;if(SDL.joystickNamePool.hasOwnProperty(name)){return SDL.joystickNamePool[name]}return SDL.joystickNamePool[name]=stringToNewUTF8(name)}return 0}_SDL_JoystickName.sig="pi";function _SDL_JoystickOpen(deviceIndex){var gamepad=SDL.getGamepad(deviceIndex);if(gamepad){var joystick=deviceIndex+1;SDL.recordJoystickState(joystick,gamepad);return joystick}return 0}_SDL_JoystickOpen.sig="pi";var _SDL_JoystickOpened=deviceIndex=>SDL.lastJoystickState.hasOwnProperty(deviceIndex+1)?1:0;_SDL_JoystickOpened.sig="ii";function _SDL_JoystickIndex(joystick){joystick>>>=0;return joystick-1}_SDL_JoystickIndex.sig="ip";function _SDL_JoystickNumAxes(joystick){joystick>>>=0;var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.axes.length}return 0}_SDL_JoystickNumAxes.sig="ip";function _SDL_JoystickNumBalls(joystick){joystick>>>=0;return 0}_SDL_JoystickNumBalls.sig="ip";function _SDL_JoystickNumHats(joystick){joystick>>>=0;return 0}_SDL_JoystickNumHats.sig="ip";function _SDL_JoystickNumButtons(joystick){joystick>>>=0;var gamepad=SDL.getGamepad(joystick-1);if(gamepad){return gamepad.buttons.length}return 0}_SDL_JoystickNumButtons.sig="ip";var _SDL_JoystickUpdate=()=>SDL.queryJoysticks();_SDL_JoystickUpdate.sig="v";var _SDL_JoystickEventState=state=>{if(state<0){return SDL.joystickEventState}return SDL.joystickEventState=state};_SDL_JoystickEventState.sig="ii";function _SDL_JoystickGetAxis(joystick,axis){joystick>>>=0;var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.axes.length>axis){return SDL.joystickAxisValueConversion(gamepad.axes[axis])}return 0}_SDL_JoystickGetAxis.sig="ipi";function _SDL_JoystickGetHat(joystick,hat){joystick>>>=0;return 0}_SDL_JoystickGetHat.sig="ipi";function _SDL_JoystickGetBall(joystick,ball,dxptr,dyptr){joystick>>>=0;dxptr>>>=0;dyptr>>>=0;return-1}_SDL_JoystickGetBall.sig="ipipp";function _SDL_JoystickGetButton(joystick,button){joystick>>>=0;var gamepad=SDL.getGamepad(joystick-1);if(gamepad?.buttons.length>button){return SDL.getJoystickButtonState(gamepad.buttons[button])?1:0}return 0}_SDL_JoystickGetButton.sig="ipi";function _SDL_JoystickClose(joystick){joystick>>>=0;delete SDL.lastJoystickState[joystick]}_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=flags=>0;_SDL_InitSubSystem.sig="ii";function _SDL_RWFromConstMem(mem,size){mem>>>=0;var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id}_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=key=>SDL.scanCodes[key];_SDL_GetScancodeFromKey.sig="ii";function _SDL_GetAudioDriver(index){return _SDL_GetCurrentAudioDriver()}_SDL_GetAudioDriver.sig="pi";var _SDL_EnableUNICODE=on=>{var ret=SDL.unicode||0;SDL.unicode=on;return ret};_SDL_EnableUNICODE.sig="ii";var _SDL_AddTimer=function(interval,callback,param){callback>>>=0;param>>>=0;return safeSetTimeout(()=>getWasmTableEntry(callback)(interval,param),interval)};_SDL_AddTimer.sig="iipp";var _SDL_RemoveTimer=id=>{clearTimeout(id);return true};_SDL_RemoveTimer.sig="ii";function _SDL_CreateThread(fs,data,pfnBeginThread,pfnEndThread){fs>>>=0;data>>>=0;throw"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(thread,status){thread>>>=0;status>>>=0;throw"SDL_WaitThread"}_SDL_WaitThread.sig="vpp";function _SDL_GetThreadID(thread){thread>>>=0;throw"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(cond){cond>>>=0;throw"SDL_CondBroadcast: TODO"}_SDL_CondBroadcast.sig="ip";function _SDL_CondWaitTimeout(cond,mutex,ms){cond>>>=0;mutex>>>=0;throw"SDL_CondWaitTimeout: TODO"}_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>{throw"SDL_WM_IconifyWindow TODO"};_SDL_WM_IconifyWindow.sig="i";function _Mix_SetPostMix(func,arg){func>>>=0;arg>>>=0;return warnOnce("Mix_SetPostMix: TODO")}_Mix_SetPostMix.sig="vpp";function _Mix_VolumeChunk(chunk,volume){chunk>>>=0;throw"Mix_VolumeChunk: TODO"}_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(channel,angle,distance)=>{throw"Mix_SetPosition: TODO"};_Mix_SetPosition.sig="iiii";function _Mix_QuerySpec(frequency,format,channels){frequency>>>=0;format>>>=0;channels>>>=0;throw"Mix_QuerySpec: TODO"}_Mix_QuerySpec.sig="ippp";function _Mix_FadeInChannelTimed(channel,chunk,loop,ms,ticks){chunk>>>=0;throw"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(surface,dst,freedst){surface>>>=0;dst>>>=0;throw"SDL_SaveBMP_RW: TODO"}_SDL_SaveBMP_RW.sig="ippi";function _SDL_WM_SetIcon(icon,mask){icon>>>=0;mask>>>=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";registerWasmPlugin();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();for(var base64ReverseLookup=new Uint8Array(123),i=25;i>=0;--i){base64ReverseLookup[48+i]=52+i;base64ReverseLookup[65+i]=i;base64ReverseLookup[97+i]=26+i}base64ReverseLookup[43]=62;base64ReverseLookup[47]=63;MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";if(ENVIRONMENT_IS_NODE){NODEFS.staticInit()}for(let i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}Module["requestAnimationFrame"]=MainLoop.requestAnimationFrame;Module["pauseMainLoop"]=MainLoop.pause;Module["resumeMainLoop"]=MainLoop.resume;MainLoop.init();if(typeof setImmediate!="undefined"){emSetImmediate=setImmediateWrapped;emClearImmediate=clearImmediateWrapped}else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0;var __setImmediate_queue=[];var __setImmediate_message_id="_si";var __setImmediate_cb=e=>{if(e.data===__setImmediate_message_id){e.stopPropagation();__setImmediate_queue.shift()();++__setImmediate_id_counter}};addEventListener("message",__setImmediate_cb,true);emSetImmediate=func=>{postMessage(__setImmediate_message_id,"*");return __setImmediate_id_counter+__setImmediate_queue.push(func)-1};emClearImmediate=id=>{var index=id-__setImmediate_id_counter;if(index>=0&&index<__setImmediate_queue.length)__setImmediate_queue[index]=()=>{}}}registerPostMainLoop(()=>SDL.audio?.queueNewAudioData?.());{initMemory();if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["dynamicLibraries"])dynamicLibraries=Module["dynamicLibraries"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["ERRNO_CODES"]=ERRNO_CODES;Module["wasmTable"]=wasmTable;Module["FS_createPreloadedFile"]=FS_createPreloadedFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDevice"]=FS_createDevice;Module["FS_createDataFile"]=FS_createDataFile;Module["FS_createLazyFile"]=FS_createLazyFile;Module["LZ4"]=LZ4;Module["ExitStatus"]=ExitStatus;Module["GOTHandler"]=GOTHandler;Module["GOT"]=GOT;Module["currentModuleWeakSymbols"]=currentModuleWeakSymbols;Module["addOnPostRun"]=addOnPostRun;Module["onPostRuns"]=onPostRuns;Module["callRuntimeCallbacks"]=callRuntimeCallbacks;Module["addOnPreRun"]=addOnPreRun;Module["onPreRuns"]=onPreRuns;Module["getDylinkMetadata"]=getDylinkMetadata;Module["UTF8ArrayToString"]=UTF8ArrayToString;Module["UTF8Decoder"]=UTF8Decoder;Module["getValue"]=getValue;Module["loadDylibs"]=loadDylibs;Module["loadDynamicLibrary"]=loadDynamicLibrary;Module["LDSO"]=LDSO;Module["newDSO"]=newDSO;Module["loadWebAssemblyModule"]=loadWebAssemblyModule;Module["getMemory"]=getMemory;Module["___heap_base"]=___heap_base;Module["alignMemory"]=alignMemory;Module["relocateExports"]=relocateExports;Module["updateGOT"]=updateGOT;Module["isInternalSym"]=isInternalSym;Module["addFunction"]=addFunction;Module["convertJsFunctionToWasm"]=convertJsFunctionToWasm;Module["uleb128Encode"]=uleb128Encode;Module["sigToWasmTypes"]=sigToWasmTypes;Module["generateFuncType"]=generateFuncType;Module["getFunctionAddress"]=getFunctionAddress;Module["updateTableMap"]=updateTableMap;Module["getWasmTableEntry"]=getWasmTableEntry;Module["wasmTableMirror"]=wasmTableMirror;Module["wasmTable"]=wasmTable;Module["functionsInTableMap"]=functionsInTableMap;Module["getEmptyTableSlot"]=getEmptyTableSlot;Module["freeTableIndexes"]=freeTableIndexes;Module["setWasmTableEntry"]=setWasmTableEntry;Module["resolveGlobalSymbol"]=resolveGlobalSymbol;Module["isSymbolDefined"]=isSymbolDefined;Module["addOnPostCtor"]=addOnPostCtor;Module["onPostCtors"]=onPostCtors;Module["UTF8ToString"]=UTF8ToString;Module["mergeLibSymbols"]=mergeLibSymbols;Module["asyncLoad"]=asyncLoad;Module["preloadedWasm"]=preloadedWasm;Module["registerWasmPlugin"]=registerWasmPlugin;Module["preloadPlugins"]=preloadPlugins;Module["findLibraryFS"]=findLibraryFS;Module["replaceORIGIN"]=replaceORIGIN;Module["PATH"]=PATH;Module["withStackSave"]=withStackSave;Module["stackSave"]=stackSave;Module["stackRestore"]=stackRestore;Module["stackAlloc"]=stackAlloc;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["stringToUTF8OnStack"]=stringToUTF8OnStack;Module["stringToUTF8"]=stringToUTF8;Module["stringToUTF8Array"]=stringToUTF8Array;Module["FS"]=FS;Module["randomFill"]=randomFill;Module["initRandomFill"]=initRandomFill;Module["base64Decode"]=base64Decode;Module["PATH_FS"]=PATH_FS;Module["TTY"]=TTY;Module["FS_stdin_getChar"]=FS_stdin_getChar;Module["FS_stdin_getChar_buffer"]=FS_stdin_getChar_buffer;Module["intArrayFromString"]=intArrayFromString;Module["MEMFS"]=MEMFS;Module["mmapAlloc"]=mmapAlloc;Module["zeroMemory"]=zeroMemory;Module["FS_createPreloadedFile"]=FS_createPreloadedFile;Module["FS_createDataFile"]=FS_createDataFile;Module["FS_handledByPreloadPlugin"]=FS_handledByPreloadPlugin;Module["FS_modeStringToFlags"]=FS_modeStringToFlags;Module["FS_getMode"]=FS_getMode;Module["IDBFS"]=IDBFS;Module["NODEFS"]=NODEFS;Module["ERRNO_CODES"]=ERRNO_CODES;Module["WORKERFS"]=WORKERFS;Module["PROXYFS"]=PROXYFS;Module["LZ4"]=LZ4;Module["reportUndefinedSymbols"]=reportUndefinedSymbols;Module["noExitRuntime"]=noExitRuntime;Module["setValue"]=setValue;Module["___assert_fail"]=___assert_fail;Module["bigintToI53Checked"]=bigintToI53Checked;Module["INT53_MAX"]=INT53_MAX;Module["INT53_MIN"]=INT53_MIN;Module["___c_longjmp"]=___c_longjmp;Module["___call_sighandler"]=___call_sighandler;Module["___cpp_exception"]=___cpp_exception;Module["___memory_base"]=___memory_base;Module["___stack_high"]=___stack_high;Module["___stack_low"]=___stack_low;Module["___stack_pointer"]=___stack_pointer;Module["___syscall__newselect"]=___syscall__newselect;Module["SYSCALLS"]=SYSCALLS;Module["___syscall_accept4"]=___syscall_accept4;Module["getSocketFromFD"]=getSocketFromFD;Module["SOCKFS"]=SOCKFS;Module["writeSockaddr"]=writeSockaddr;Module["inetPton4"]=inetPton4;Module["inetPton6"]=inetPton6;Module["DNS"]=DNS;Module["___syscall_bind"]=___syscall_bind;Module["getSocketAddress"]=getSocketAddress;Module["readSockaddr"]=readSockaddr;Module["inetNtop4"]=inetNtop4;Module["inetNtop6"]=inetNtop6;Module["___syscall_chdir"]=___syscall_chdir;Module["___syscall_chmod"]=___syscall_chmod;Module["___syscall_connect"]=___syscall_connect;Module["___syscall_dup"]=___syscall_dup;Module["___syscall_dup3"]=___syscall_dup3;Module["___syscall_faccessat"]=___syscall_faccessat;Module["___syscall_fadvise64"]=___syscall_fadvise64;Module["___syscall_fallocate"]=___syscall_fallocate;Module["___syscall_fchdir"]=___syscall_fchdir;Module["___syscall_fchmod"]=___syscall_fchmod;Module["___syscall_fchmodat2"]=___syscall_fchmodat2;Module["___syscall_fchown32"]=___syscall_fchown32;Module["___syscall_fchownat"]=___syscall_fchownat;Module["___syscall_fcntl64"]=___syscall_fcntl64;Module["syscallGetVarargP"]=syscallGetVarargP;Module["syscallGetVarargI"]=syscallGetVarargI;Module["___syscall_fdatasync"]=___syscall_fdatasync;Module["___syscall_fstat64"]=___syscall_fstat64;Module["___syscall_fstatfs64"]=___syscall_fstatfs64;Module["___syscall_ftruncate64"]=___syscall_ftruncate64;Module["___syscall_getcwd"]=___syscall_getcwd;Module["___syscall_getdents64"]=___syscall_getdents64;Module["___syscall_getpeername"]=___syscall_getpeername;Module["___syscall_getsockname"]=___syscall_getsockname;Module["___syscall_getsockopt"]=___syscall_getsockopt;Module["___syscall_ioctl"]=___syscall_ioctl;Module["___syscall_listen"]=___syscall_listen;Module["___syscall_lstat64"]=___syscall_lstat64;Module["___syscall_mkdirat"]=___syscall_mkdirat;Module["___syscall_mknodat"]=___syscall_mknodat;Module["___syscall_newfstatat"]=___syscall_newfstatat;Module["___syscall_openat"]=___syscall_openat;Module["___syscall_pipe"]=___syscall_pipe;Module["PIPEFS"]=PIPEFS;Module["___syscall_poll"]=___syscall_poll;Module["___syscall_readlinkat"]=___syscall_readlinkat;Module["___syscall_recvfrom"]=___syscall_recvfrom;Module["___syscall_recvmsg"]=___syscall_recvmsg;Module["___syscall_renameat"]=___syscall_renameat;Module["___syscall_rmdir"]=___syscall_rmdir;Module["___syscall_sendmsg"]=___syscall_sendmsg;Module["___syscall_sendto"]=___syscall_sendto;Module["___syscall_socket"]=___syscall_socket;Module["___syscall_stat64"]=___syscall_stat64;Module["___syscall_statfs64"]=___syscall_statfs64;Module["___syscall_symlinkat"]=___syscall_symlinkat;Module["___syscall_truncate64"]=___syscall_truncate64;Module["___syscall_unlinkat"]=___syscall_unlinkat;Module["___syscall_utimensat"]=___syscall_utimensat;Module["readI53FromI64"]=readI53FromI64;Module["___table_base"]=___table_base;Module["__abort_js"]=__abort_js;Module["__dlopen_js"]=__dlopen_js;Module["dlopenInternal"]=dlopenInternal;Module["dlSetError"]=dlSetError;Module["__dlsym_js"]=__dlsym_js;Module["__emscripten_dlopen_js"]=__emscripten_dlopen_js;Module["callUserCallback"]=callUserCallback;Module["handleException"]=handleException;Module["maybeExit"]=maybeExit;Module["_exit"]=_exit;Module["exitJS"]=exitJS;Module["_proc_exit"]=_proc_exit;Module["keepRuntimeAlive"]=keepRuntimeAlive;Module["runtimeKeepaliveCounter"]=runtimeKeepaliveCounter;Module["runtimeKeepalivePush"]=runtimeKeepalivePush;Module["runtimeKeepalivePop"]=runtimeKeepalivePop;Module["__emscripten_get_progname"]=__emscripten_get_progname;Module["getExecutableName"]=getExecutableName;Module["__emscripten_lookup_name"]=__emscripten_lookup_name;Module["__emscripten_runtime_keepalive_clear"]=__emscripten_runtime_keepalive_clear;Module["__emscripten_system"]=__emscripten_system;Module["__gmtime_js"]=__gmtime_js;Module["__localtime_js"]=__localtime_js;Module["ydayFromDate"]=ydayFromDate;Module["isLeapYear"]=isLeapYear;Module["MONTH_DAYS_LEAP_CUMULATIVE"]=MONTH_DAYS_LEAP_CUMULATIVE;Module["MONTH_DAYS_REGULAR_CUMULATIVE"]=MONTH_DAYS_REGULAR_CUMULATIVE;Module["__mktime_js"]=__mktime_js;Module["__mmap_js"]=__mmap_js;Module["__msync_js"]=__msync_js;Module["__munmap_js"]=__munmap_js;Module["__setitimer_js"]=__setitimer_js;Module["timers"]=timers;Module["_emscripten_get_now"]=_emscripten_get_now;Module["__timegm_js"]=__timegm_js;Module["__tzset_js"]=__tzset_js;Module["_clock_res_get"]=_clock_res_get;Module["_emscripten_get_now_res"]=_emscripten_get_now_res;Module["nowIsMonotonic"]=nowIsMonotonic;Module["checkWasiClock"]=checkWasiClock;Module["_clock_time_get"]=_clock_time_get;Module["_emscripten_date_now"]=_emscripten_date_now;Module["_create_sentinel"]=_create_sentinel;Module["_emscripten_asm_const_int"]=_emscripten_asm_const_int;Module["runEmAsmFunction"]=runEmAsmFunction;Module["readEmAsmArgs"]=readEmAsmArgs;Module["readEmAsmArgsArray"]=readEmAsmArgsArray;Module["_emscripten_console_error"]=_emscripten_console_error;Module["_emscripten_console_log"]=_emscripten_console_log;Module["_emscripten_console_trace"]=_emscripten_console_trace;Module["_emscripten_console_warn"]=_emscripten_console_warn;Module["_emscripten_err"]=_emscripten_err;Module["_emscripten_get_heap_max"]=_emscripten_get_heap_max;Module["getHeapMax"]=getHeapMax;Module["_emscripten_glActiveTexture"]=_emscripten_glActiveTexture;Module["_glActiveTexture"]=_glActiveTexture;Module["GL"]=GL;Module["GLctx"]=GLctx;Module["webgl_enable_ANGLE_instanced_arrays"]=webgl_enable_ANGLE_instanced_arrays;Module["webgl_enable_OES_vertex_array_object"]=webgl_enable_OES_vertex_array_object;Module["webgl_enable_WEBGL_draw_buffers"]=webgl_enable_WEBGL_draw_buffers;Module["webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance"]=webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance;Module["webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance"]=webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance;Module["webgl_enable_EXT_polygon_offset_clamp"]=webgl_enable_EXT_polygon_offset_clamp;Module["webgl_enable_EXT_clip_control"]=webgl_enable_EXT_clip_control;Module["webgl_enable_WEBGL_polygon_mode"]=webgl_enable_WEBGL_polygon_mode;Module["webgl_enable_WEBGL_multi_draw"]=webgl_enable_WEBGL_multi_draw;Module["getEmscriptenSupportedExtensions"]=getEmscriptenSupportedExtensions;Module["_emscripten_glAttachShader"]=_emscripten_glAttachShader;Module["_glAttachShader"]=_glAttachShader;Module["_emscripten_glBeginQuery"]=_emscripten_glBeginQuery;Module["_glBeginQuery"]=_glBeginQuery;Module["_emscripten_glBeginQueryEXT"]=_emscripten_glBeginQueryEXT;Module["_glBeginQueryEXT"]=_glBeginQueryEXT;Module["_emscripten_glBeginTransformFeedback"]=_emscripten_glBeginTransformFeedback;Module["_glBeginTransformFeedback"]=_glBeginTransformFeedback;Module["_emscripten_glBindAttribLocation"]=_emscripten_glBindAttribLocation;Module["_glBindAttribLocation"]=_glBindAttribLocation;Module["_emscripten_glBindBuffer"]=_emscripten_glBindBuffer;Module["_glBindBuffer"]=_glBindBuffer;Module["_emscripten_glBindBufferBase"]=_emscripten_glBindBufferBase;Module["_glBindBufferBase"]=_glBindBufferBase;Module["_emscripten_glBindBufferRange"]=_emscripten_glBindBufferRange;Module["_glBindBufferRange"]=_glBindBufferRange;Module["_emscripten_glBindFramebuffer"]=_emscripten_glBindFramebuffer;Module["_glBindFramebuffer"]=_glBindFramebuffer;Module["_emscripten_glBindRenderbuffer"]=_emscripten_glBindRenderbuffer;Module["_glBindRenderbuffer"]=_glBindRenderbuffer;Module["_emscripten_glBindSampler"]=_emscripten_glBindSampler;Module["_glBindSampler"]=_glBindSampler;Module["_emscripten_glBindTexture"]=_emscripten_glBindTexture;Module["_glBindTexture"]=_glBindTexture;Module["_emscripten_glBindTransformFeedback"]=_emscripten_glBindTransformFeedback;Module["_glBindTransformFeedback"]=_glBindTransformFeedback;Module["_emscripten_glBindVertexArray"]=_emscripten_glBindVertexArray;Module["_glBindVertexArray"]=_glBindVertexArray;Module["_emscripten_glBindVertexArrayOES"]=_emscripten_glBindVertexArrayOES;Module["_glBindVertexArrayOES"]=_glBindVertexArrayOES;Module["_emscripten_glBlendColor"]=_emscripten_glBlendColor;Module["_glBlendColor"]=_glBlendColor;Module["_emscripten_glBlendEquation"]=_emscripten_glBlendEquation;Module["_glBlendEquation"]=_glBlendEquation;Module["_emscripten_glBlendEquationSeparate"]=_emscripten_glBlendEquationSeparate;Module["_glBlendEquationSeparate"]=_glBlendEquationSeparate;Module["_emscripten_glBlendFunc"]=_emscripten_glBlendFunc;Module["_glBlendFunc"]=_glBlendFunc;Module["_emscripten_glBlendFuncSeparate"]=_emscripten_glBlendFuncSeparate;Module["_glBlendFuncSeparate"]=_glBlendFuncSeparate;Module["_emscripten_glBlitFramebuffer"]=_emscripten_glBlitFramebuffer;Module["_glBlitFramebuffer"]=_glBlitFramebuffer;Module["_emscripten_glBufferData"]=_emscripten_glBufferData;Module["_glBufferData"]=_glBufferData;Module["_emscripten_glBufferSubData"]=_emscripten_glBufferSubData;Module["_glBufferSubData"]=_glBufferSubData;Module["_emscripten_glCheckFramebufferStatus"]=_emscripten_glCheckFramebufferStatus;Module["_glCheckFramebufferStatus"]=_glCheckFramebufferStatus;Module["_emscripten_glClear"]=_emscripten_glClear;Module["_glClear"]=_glClear;Module["_emscripten_glClearBufferfi"]=_emscripten_glClearBufferfi;Module["_glClearBufferfi"]=_glClearBufferfi;Module["_emscripten_glClearBufferfv"]=_emscripten_glClearBufferfv;Module["_glClearBufferfv"]=_glClearBufferfv;Module["_emscripten_glClearBufferiv"]=_emscripten_glClearBufferiv;Module["_glClearBufferiv"]=_glClearBufferiv;Module["_emscripten_glClearBufferuiv"]=_emscripten_glClearBufferuiv;Module["_glClearBufferuiv"]=_glClearBufferuiv;Module["_emscripten_glClearColor"]=_emscripten_glClearColor;Module["_glClearColor"]=_glClearColor;Module["_emscripten_glClearDepthf"]=_emscripten_glClearDepthf;Module["_glClearDepthf"]=_glClearDepthf;Module["_emscripten_glClearStencil"]=_emscripten_glClearStencil;Module["_glClearStencil"]=_glClearStencil;Module["_emscripten_glClientWaitSync"]=_emscripten_glClientWaitSync;Module["_glClientWaitSync"]=_glClientWaitSync;Module["_emscripten_glClipControlEXT"]=_emscripten_glClipControlEXT;Module["_glClipControlEXT"]=_glClipControlEXT;Module["_emscripten_glColorMask"]=_emscripten_glColorMask;Module["_glColorMask"]=_glColorMask;Module["_emscripten_glCompileShader"]=_emscripten_glCompileShader;Module["_glCompileShader"]=_glCompileShader;Module["_emscripten_glCompressedTexImage2D"]=_emscripten_glCompressedTexImage2D;Module["_glCompressedTexImage2D"]=_glCompressedTexImage2D;Module["_emscripten_glCompressedTexImage3D"]=_emscripten_glCompressedTexImage3D;Module["_glCompressedTexImage3D"]=_glCompressedTexImage3D;Module["_emscripten_glCompressedTexSubImage2D"]=_emscripten_glCompressedTexSubImage2D;Module["_glCompressedTexSubImage2D"]=_glCompressedTexSubImage2D;Module["_emscripten_glCompressedTexSubImage3D"]=_emscripten_glCompressedTexSubImage3D;Module["_glCompressedTexSubImage3D"]=_glCompressedTexSubImage3D;Module["_emscripten_glCopyBufferSubData"]=_emscripten_glCopyBufferSubData;Module["_glCopyBufferSubData"]=_glCopyBufferSubData;Module["_emscripten_glCopyTexImage2D"]=_emscripten_glCopyTexImage2D;Module["_glCopyTexImage2D"]=_glCopyTexImage2D;Module["_emscripten_glCopyTexSubImage2D"]=_emscripten_glCopyTexSubImage2D;Module["_glCopyTexSubImage2D"]=_glCopyTexSubImage2D;Module["_emscripten_glCopyTexSubImage3D"]=_emscripten_glCopyTexSubImage3D;Module["_glCopyTexSubImage3D"]=_glCopyTexSubImage3D;Module["_emscripten_glCreateProgram"]=_emscripten_glCreateProgram;Module["_glCreateProgram"]=_glCreateProgram;Module["_emscripten_glCreateShader"]=_emscripten_glCreateShader;Module["_glCreateShader"]=_glCreateShader;Module["_emscripten_glCullFace"]=_emscripten_glCullFace;Module["_glCullFace"]=_glCullFace;Module["_emscripten_glDeleteBuffers"]=_emscripten_glDeleteBuffers;Module["_glDeleteBuffers"]=_glDeleteBuffers;Module["_emscripten_glDeleteFramebuffers"]=_emscripten_glDeleteFramebuffers;Module["_glDeleteFramebuffers"]=_glDeleteFramebuffers;Module["_emscripten_glDeleteProgram"]=_emscripten_glDeleteProgram;Module["_glDeleteProgram"]=_glDeleteProgram;Module["_emscripten_glDeleteQueries"]=_emscripten_glDeleteQueries;Module["_glDeleteQueries"]=_glDeleteQueries;Module["_emscripten_glDeleteQueriesEXT"]=_emscripten_glDeleteQueriesEXT;Module["_glDeleteQueriesEXT"]=_glDeleteQueriesEXT;Module["_emscripten_glDeleteRenderbuffers"]=_emscripten_glDeleteRenderbuffers;Module["_glDeleteRenderbuffers"]=_glDeleteRenderbuffers;Module["_emscripten_glDeleteSamplers"]=_emscripten_glDeleteSamplers;Module["_glDeleteSamplers"]=_glDeleteSamplers;Module["_emscripten_glDeleteShader"]=_emscripten_glDeleteShader;Module["_glDeleteShader"]=_glDeleteShader;Module["_emscripten_glDeleteSync"]=_emscripten_glDeleteSync;Module["_glDeleteSync"]=_glDeleteSync;Module["_emscripten_glDeleteTextures"]=_emscripten_glDeleteTextures;Module["_glDeleteTextures"]=_glDeleteTextures;Module["_emscripten_glDeleteTransformFeedbacks"]=_emscripten_glDeleteTransformFeedbacks;Module["_glDeleteTransformFeedbacks"]=_glDeleteTransformFeedbacks;Module["_emscripten_glDeleteVertexArrays"]=_emscripten_glDeleteVertexArrays;Module["_glDeleteVertexArrays"]=_glDeleteVertexArrays;Module["_emscripten_glDeleteVertexArraysOES"]=_emscripten_glDeleteVertexArraysOES;Module["_glDeleteVertexArraysOES"]=_glDeleteVertexArraysOES;Module["_emscripten_glDepthFunc"]=_emscripten_glDepthFunc;Module["_glDepthFunc"]=_glDepthFunc;Module["_emscripten_glDepthMask"]=_emscripten_glDepthMask;Module["_glDepthMask"]=_glDepthMask;Module["_emscripten_glDepthRangef"]=_emscripten_glDepthRangef;Module["_glDepthRangef"]=_glDepthRangef;Module["_emscripten_glDetachShader"]=_emscripten_glDetachShader;Module["_glDetachShader"]=_glDetachShader;Module["_emscripten_glDisable"]=_emscripten_glDisable;Module["_glDisable"]=_glDisable;Module["_emscripten_glDisableVertexAttribArray"]=_emscripten_glDisableVertexAttribArray;Module["_glDisableVertexAttribArray"]=_glDisableVertexAttribArray;Module["_emscripten_glDrawArrays"]=_emscripten_glDrawArrays;Module["_glDrawArrays"]=_glDrawArrays;Module["_emscripten_glDrawArraysInstanced"]=_emscripten_glDrawArraysInstanced;Module["_glDrawArraysInstanced"]=_glDrawArraysInstanced;Module["_emscripten_glDrawArraysInstancedANGLE"]=_emscripten_glDrawArraysInstancedANGLE;Module["_glDrawArraysInstancedANGLE"]=_glDrawArraysInstancedANGLE;Module["_emscripten_glDrawArraysInstancedARB"]=_emscripten_glDrawArraysInstancedARB;Module["_glDrawArraysInstancedARB"]=_glDrawArraysInstancedARB;Module["_emscripten_glDrawArraysInstancedEXT"]=_emscripten_glDrawArraysInstancedEXT;Module["_glDrawArraysInstancedEXT"]=_glDrawArraysInstancedEXT;Module["_emscripten_glDrawArraysInstancedNV"]=_emscripten_glDrawArraysInstancedNV;Module["_glDrawArraysInstancedNV"]=_glDrawArraysInstancedNV;Module["_emscripten_glDrawBuffers"]=_emscripten_glDrawBuffers;Module["_glDrawBuffers"]=_glDrawBuffers;Module["tempFixedLengthArray"]=tempFixedLengthArray;Module["_emscripten_glDrawBuffersEXT"]=_emscripten_glDrawBuffersEXT;Module["_glDrawBuffersEXT"]=_glDrawBuffersEXT;Module["_emscripten_glDrawBuffersWEBGL"]=_emscripten_glDrawBuffersWEBGL;Module["_glDrawBuffersWEBGL"]=_glDrawBuffersWEBGL;Module["_emscripten_glDrawElements"]=_emscripten_glDrawElements;Module["_glDrawElements"]=_glDrawElements;Module["_emscripten_glDrawElementsInstanced"]=_emscripten_glDrawElementsInstanced;Module["_glDrawElementsInstanced"]=_glDrawElementsInstanced;Module["_emscripten_glDrawElementsInstancedANGLE"]=_emscripten_glDrawElementsInstancedANGLE;Module["_glDrawElementsInstancedANGLE"]=_glDrawElementsInstancedANGLE;Module["_emscripten_glDrawElementsInstancedARB"]=_emscripten_glDrawElementsInstancedARB;Module["_glDrawElementsInstancedARB"]=_glDrawElementsInstancedARB;Module["_emscripten_glDrawElementsInstancedEXT"]=_emscripten_glDrawElementsInstancedEXT;Module["_glDrawElementsInstancedEXT"]=_glDrawElementsInstancedEXT;Module["_emscripten_glDrawElementsInstancedNV"]=_emscripten_glDrawElementsInstancedNV;Module["_glDrawElementsInstancedNV"]=_glDrawElementsInstancedNV;Module["_emscripten_glDrawRangeElements"]=_emscripten_glDrawRangeElements;Module["_glDrawRangeElements"]=_glDrawRangeElements;Module["_emscripten_glEnable"]=_emscripten_glEnable;Module["_glEnable"]=_glEnable;Module["_emscripten_glEnableVertexAttribArray"]=_emscripten_glEnableVertexAttribArray;Module["_glEnableVertexAttribArray"]=_glEnableVertexAttribArray;Module["_emscripten_glEndQuery"]=_emscripten_glEndQuery;Module["_glEndQuery"]=_glEndQuery;Module["_emscripten_glEndQueryEXT"]=_emscripten_glEndQueryEXT;Module["_glEndQueryEXT"]=_glEndQueryEXT;Module["_emscripten_glEndTransformFeedback"]=_emscripten_glEndTransformFeedback;Module["_glEndTransformFeedback"]=_glEndTransformFeedback;Module["_emscripten_glFenceSync"]=_emscripten_glFenceSync;Module["_glFenceSync"]=_glFenceSync;Module["_emscripten_glFinish"]=_emscripten_glFinish;Module["_glFinish"]=_glFinish;Module["_emscripten_glFlush"]=_emscripten_glFlush;Module["_glFlush"]=_glFlush;Module["_emscripten_glFramebufferRenderbuffer"]=_emscripten_glFramebufferRenderbuffer;Module["_glFramebufferRenderbuffer"]=_glFramebufferRenderbuffer;Module["_emscripten_glFramebufferTexture2D"]=_emscripten_glFramebufferTexture2D;Module["_glFramebufferTexture2D"]=_glFramebufferTexture2D;Module["_emscripten_glFramebufferTextureLayer"]=_emscripten_glFramebufferTextureLayer;Module["_glFramebufferTextureLayer"]=_glFramebufferTextureLayer;Module["_emscripten_glFrontFace"]=_emscripten_glFrontFace;Module["_glFrontFace"]=_glFrontFace;Module["_emscripten_glGenBuffers"]=_emscripten_glGenBuffers;Module["_glGenBuffers"]=_glGenBuffers;Module["_emscripten_glGenFramebuffers"]=_emscripten_glGenFramebuffers;Module["_glGenFramebuffers"]=_glGenFramebuffers;Module["_emscripten_glGenQueries"]=_emscripten_glGenQueries;Module["_glGenQueries"]=_glGenQueries;Module["_emscripten_glGenQueriesEXT"]=_emscripten_glGenQueriesEXT;Module["_glGenQueriesEXT"]=_glGenQueriesEXT;Module["_emscripten_glGenRenderbuffers"]=_emscripten_glGenRenderbuffers;Module["_glGenRenderbuffers"]=_glGenRenderbuffers;Module["_emscripten_glGenSamplers"]=_emscripten_glGenSamplers;Module["_glGenSamplers"]=_glGenSamplers;Module["_emscripten_glGenTextures"]=_emscripten_glGenTextures;Module["_glGenTextures"]=_glGenTextures;Module["_emscripten_glGenTransformFeedbacks"]=_emscripten_glGenTransformFeedbacks;Module["_glGenTransformFeedbacks"]=_glGenTransformFeedbacks;Module["_emscripten_glGenVertexArrays"]=_emscripten_glGenVertexArrays;Module["_glGenVertexArrays"]=_glGenVertexArrays;Module["_emscripten_glGenVertexArraysOES"]=_emscripten_glGenVertexArraysOES;Module["_glGenVertexArraysOES"]=_glGenVertexArraysOES;Module["_emscripten_glGenerateMipmap"]=_emscripten_glGenerateMipmap;Module["_glGenerateMipmap"]=_glGenerateMipmap;Module["_emscripten_glGetActiveAttrib"]=_emscripten_glGetActiveAttrib;Module["_glGetActiveAttrib"]=_glGetActiveAttrib;Module["__glGetActiveAttribOrUniform"]=__glGetActiveAttribOrUniform;Module["_emscripten_glGetActiveUniform"]=_emscripten_glGetActiveUniform;Module["_glGetActiveUniform"]=_glGetActiveUniform;Module["_emscripten_glGetActiveUniformBlockName"]=_emscripten_glGetActiveUniformBlockName;Module["_glGetActiveUniformBlockName"]=_glGetActiveUniformBlockName;Module["_emscripten_glGetActiveUniformBlockiv"]=_emscripten_glGetActiveUniformBlockiv;Module["_glGetActiveUniformBlockiv"]=_glGetActiveUniformBlockiv;Module["_emscripten_glGetActiveUniformsiv"]=_emscripten_glGetActiveUniformsiv;Module["_glGetActiveUniformsiv"]=_glGetActiveUniformsiv;Module["_emscripten_glGetAttachedShaders"]=_emscripten_glGetAttachedShaders;Module["_glGetAttachedShaders"]=_glGetAttachedShaders;Module["_emscripten_glGetAttribLocation"]=_emscripten_glGetAttribLocation;Module["_glGetAttribLocation"]=_glGetAttribLocation;Module["_emscripten_glGetBooleanv"]=_emscripten_glGetBooleanv;Module["_glGetBooleanv"]=_glGetBooleanv;Module["emscriptenWebGLGet"]=emscriptenWebGLGet;Module["writeI53ToI64"]=writeI53ToI64;Module["webglGetExtensions"]=webglGetExtensions;Module["_emscripten_glGetBufferParameteri64v"]=_emscripten_glGetBufferParameteri64v;Module["_glGetBufferParameteri64v"]=_glGetBufferParameteri64v;Module["_emscripten_glGetBufferParameteriv"]=_emscripten_glGetBufferParameteriv;Module["_glGetBufferParameteriv"]=_glGetBufferParameteriv;Module["_emscripten_glGetError"]=_emscripten_glGetError;Module["_glGetError"]=_glGetError;Module["_emscripten_glGetFloatv"]=_emscripten_glGetFloatv;Module["_glGetFloatv"]=_glGetFloatv;Module["_emscripten_glGetFragDataLocation"]=_emscripten_glGetFragDataLocation;Module["_glGetFragDataLocation"]=_glGetFragDataLocation;Module["_emscripten_glGetFramebufferAttachmentParameteriv"]=_emscripten_glGetFramebufferAttachmentParameteriv;Module["_glGetFramebufferAttachmentParameteriv"]=_glGetFramebufferAttachmentParameteriv;Module["_emscripten_glGetInteger64i_v"]=_emscripten_glGetInteger64i_v;Module["_glGetInteger64i_v"]=_glGetInteger64i_v;Module["emscriptenWebGLGetIndexed"]=emscriptenWebGLGetIndexed;Module["_emscripten_glGetInteger64v"]=_emscripten_glGetInteger64v;Module["_glGetInteger64v"]=_glGetInteger64v;Module["_emscripten_glGetIntegeri_v"]=_emscripten_glGetIntegeri_v;Module["_glGetIntegeri_v"]=_glGetIntegeri_v;Module["_emscripten_glGetIntegerv"]=_emscripten_glGetIntegerv;Module["_glGetIntegerv"]=_glGetIntegerv;Module["_emscripten_glGetInternalformativ"]=_emscripten_glGetInternalformativ;Module["_glGetInternalformativ"]=_glGetInternalformativ;Module["_emscripten_glGetProgramBinary"]=_emscripten_glGetProgramBinary;Module["_glGetProgramBinary"]=_glGetProgramBinary;Module["_emscripten_glGetProgramInfoLog"]=_emscripten_glGetProgramInfoLog;Module["_glGetProgramInfoLog"]=_glGetProgramInfoLog;Module["_emscripten_glGetProgramiv"]=_emscripten_glGetProgramiv;Module["_glGetProgramiv"]=_glGetProgramiv;Module["_emscripten_glGetQueryObjecti64vEXT"]=_emscripten_glGetQueryObjecti64vEXT;Module["_glGetQueryObjecti64vEXT"]=_glGetQueryObjecti64vEXT;Module["_emscripten_glGetQueryObjectivEXT"]=_emscripten_glGetQueryObjectivEXT;Module["_glGetQueryObjectivEXT"]=_glGetQueryObjectivEXT;Module["_emscripten_glGetQueryObjectui64vEXT"]=_emscripten_glGetQueryObjectui64vEXT;Module["_glGetQueryObjectui64vEXT"]=_glGetQueryObjectui64vEXT;Module["_emscripten_glGetQueryObjectuiv"]=_emscripten_glGetQueryObjectuiv;Module["_glGetQueryObjectuiv"]=_glGetQueryObjectuiv;Module["_emscripten_glGetQueryObjectuivEXT"]=_emscripten_glGetQueryObjectuivEXT;Module["_glGetQueryObjectuivEXT"]=_glGetQueryObjectuivEXT;Module["_emscripten_glGetQueryiv"]=_emscripten_glGetQueryiv;Module["_glGetQueryiv"]=_glGetQueryiv;Module["_emscripten_glGetQueryivEXT"]=_emscripten_glGetQueryivEXT;Module["_glGetQueryivEXT"]=_glGetQueryivEXT;Module["_emscripten_glGetRenderbufferParameteriv"]=_emscripten_glGetRenderbufferParameteriv;Module["_glGetRenderbufferParameteriv"]=_glGetRenderbufferParameteriv;Module["_emscripten_glGetSamplerParameterfv"]=_emscripten_glGetSamplerParameterfv;Module["_glGetSamplerParameterfv"]=_glGetSamplerParameterfv;Module["_emscripten_glGetSamplerParameteriv"]=_emscripten_glGetSamplerParameteriv;Module["_glGetSamplerParameteriv"]=_glGetSamplerParameteriv;Module["_emscripten_glGetShaderInfoLog"]=_emscripten_glGetShaderInfoLog;Module["_glGetShaderInfoLog"]=_glGetShaderInfoLog;Module["_emscripten_glGetShaderPrecisionFormat"]=_emscripten_glGetShaderPrecisionFormat;Module["_glGetShaderPrecisionFormat"]=_glGetShaderPrecisionFormat;Module["_emscripten_glGetShaderSource"]=_emscripten_glGetShaderSource;Module["_glGetShaderSource"]=_glGetShaderSource;Module["_emscripten_glGetShaderiv"]=_emscripten_glGetShaderiv;Module["_glGetShaderiv"]=_glGetShaderiv;Module["_emscripten_glGetString"]=_emscripten_glGetString;Module["_glGetString"]=_glGetString;Module["stringToNewUTF8"]=stringToNewUTF8;Module["_emscripten_glGetStringi"]=_emscripten_glGetStringi;Module["_glGetStringi"]=_glGetStringi;Module["_emscripten_glGetSynciv"]=_emscripten_glGetSynciv;Module["_glGetSynciv"]=_glGetSynciv;Module["_emscripten_glGetTexParameterfv"]=_emscripten_glGetTexParameterfv;Module["_glGetTexParameterfv"]=_glGetTexParameterfv;Module["_emscripten_glGetTexParameteriv"]=_emscripten_glGetTexParameteriv;Module["_glGetTexParameteriv"]=_glGetTexParameteriv;Module["_emscripten_glGetTransformFeedbackVarying"]=_emscripten_glGetTransformFeedbackVarying;Module["_glGetTransformFeedbackVarying"]=_glGetTransformFeedbackVarying;Module["_emscripten_glGetUniformBlockIndex"]=_emscripten_glGetUniformBlockIndex;Module["_glGetUniformBlockIndex"]=_glGetUniformBlockIndex;Module["_emscripten_glGetUniformIndices"]=_emscripten_glGetUniformIndices;Module["_glGetUniformIndices"]=_glGetUniformIndices;Module["_emscripten_glGetUniformLocation"]=_emscripten_glGetUniformLocation;Module["_glGetUniformLocation"]=_glGetUniformLocation;Module["jstoi_q"]=jstoi_q;Module["webglPrepareUniformLocationsBeforeFirstUse"]=webglPrepareUniformLocationsBeforeFirstUse;Module["webglGetLeftBracePos"]=webglGetLeftBracePos;Module["_emscripten_glGetUniformfv"]=_emscripten_glGetUniformfv;Module["_glGetUniformfv"]=_glGetUniformfv;Module["emscriptenWebGLGetUniform"]=emscriptenWebGLGetUniform;Module["webglGetUniformLocation"]=webglGetUniformLocation;Module["_emscripten_glGetUniformiv"]=_emscripten_glGetUniformiv;Module["_glGetUniformiv"]=_glGetUniformiv;Module["_emscripten_glGetUniformuiv"]=_emscripten_glGetUniformuiv;Module["_glGetUniformuiv"]=_glGetUniformuiv;Module["_emscripten_glGetVertexAttribIiv"]=_emscripten_glGetVertexAttribIiv;Module["_glGetVertexAttribIiv"]=_glGetVertexAttribIiv;Module["emscriptenWebGLGetVertexAttrib"]=emscriptenWebGLGetVertexAttrib;Module["_emscripten_glGetVertexAttribIuiv"]=_emscripten_glGetVertexAttribIuiv;Module["_glGetVertexAttribIuiv"]=_glGetVertexAttribIuiv;Module["_emscripten_glGetVertexAttribPointerv"]=_emscripten_glGetVertexAttribPointerv;Module["_glGetVertexAttribPointerv"]=_glGetVertexAttribPointerv;Module["_emscripten_glGetVertexAttribfv"]=_emscripten_glGetVertexAttribfv;Module["_glGetVertexAttribfv"]=_glGetVertexAttribfv;Module["_emscripten_glGetVertexAttribiv"]=_emscripten_glGetVertexAttribiv;Module["_glGetVertexAttribiv"]=_glGetVertexAttribiv;Module["_emscripten_glHint"]=_emscripten_glHint;Module["_glHint"]=_glHint;Module["_emscripten_glInvalidateFramebuffer"]=_emscripten_glInvalidateFramebuffer;Module["_glInvalidateFramebuffer"]=_glInvalidateFramebuffer;Module["_emscripten_glInvalidateSubFramebuffer"]=_emscripten_glInvalidateSubFramebuffer;Module["_glInvalidateSubFramebuffer"]=_glInvalidateSubFramebuffer;Module["_emscripten_glIsBuffer"]=_emscripten_glIsBuffer;Module["_glIsBuffer"]=_glIsBuffer;Module["_emscripten_glIsEnabled"]=_emscripten_glIsEnabled;Module["_glIsEnabled"]=_glIsEnabled;Module["_emscripten_glIsFramebuffer"]=_emscripten_glIsFramebuffer;Module["_glIsFramebuffer"]=_glIsFramebuffer;Module["_emscripten_glIsProgram"]=_emscripten_glIsProgram;Module["_glIsProgram"]=_glIsProgram;Module["_emscripten_glIsQuery"]=_emscripten_glIsQuery;Module["_glIsQuery"]=_glIsQuery;Module["_emscripten_glIsQueryEXT"]=_emscripten_glIsQueryEXT;Module["_glIsQueryEXT"]=_glIsQueryEXT;Module["_emscripten_glIsRenderbuffer"]=_emscripten_glIsRenderbuffer;Module["_glIsRenderbuffer"]=_glIsRenderbuffer;Module["_emscripten_glIsSampler"]=_emscripten_glIsSampler;Module["_glIsSampler"]=_glIsSampler;Module["_emscripten_glIsShader"]=_emscripten_glIsShader;Module["_glIsShader"]=_glIsShader;Module["_emscripten_glIsSync"]=_emscripten_glIsSync;Module["_glIsSync"]=_glIsSync;Module["_emscripten_glIsTexture"]=_emscripten_glIsTexture;Module["_glIsTexture"]=_glIsTexture;Module["_emscripten_glIsTransformFeedback"]=_emscripten_glIsTransformFeedback;Module["_glIsTransformFeedback"]=_glIsTransformFeedback;Module["_emscripten_glIsVertexArray"]=_emscripten_glIsVertexArray;Module["_glIsVertexArray"]=_glIsVertexArray;Module["_emscripten_glIsVertexArrayOES"]=_emscripten_glIsVertexArrayOES;Module["_glIsVertexArrayOES"]=_glIsVertexArrayOES;Module["_emscripten_glLineWidth"]=_emscripten_glLineWidth;Module["_glLineWidth"]=_glLineWidth;Module["_emscripten_glLinkProgram"]=_emscripten_glLinkProgram;Module["_glLinkProgram"]=_glLinkProgram;Module["_emscripten_glPauseTransformFeedback"]=_emscripten_glPauseTransformFeedback;Module["_glPauseTransformFeedback"]=_glPauseTransformFeedback;Module["_emscripten_glPixelStorei"]=_emscripten_glPixelStorei;Module["_glPixelStorei"]=_glPixelStorei;Module["_emscripten_glPolygonModeWEBGL"]=_emscripten_glPolygonModeWEBGL;Module["_glPolygonModeWEBGL"]=_glPolygonModeWEBGL;Module["_emscripten_glPolygonOffset"]=_emscripten_glPolygonOffset;Module["_glPolygonOffset"]=_glPolygonOffset;Module["_emscripten_glPolygonOffsetClampEXT"]=_emscripten_glPolygonOffsetClampEXT;Module["_glPolygonOffsetClampEXT"]=_glPolygonOffsetClampEXT;Module["_emscripten_glProgramBinary"]=_emscripten_glProgramBinary;Module["_glProgramBinary"]=_glProgramBinary;Module["_emscripten_glProgramParameteri"]=_emscripten_glProgramParameteri;Module["_glProgramParameteri"]=_glProgramParameteri;Module["_emscripten_glQueryCounterEXT"]=_emscripten_glQueryCounterEXT;Module["_glQueryCounterEXT"]=_glQueryCounterEXT;Module["_emscripten_glReadBuffer"]=_emscripten_glReadBuffer;Module["_glReadBuffer"]=_glReadBuffer;Module["_emscripten_glReadPixels"]=_emscripten_glReadPixels;Module["_glReadPixels"]=_glReadPixels;Module["emscriptenWebGLGetTexPixelData"]=emscriptenWebGLGetTexPixelData;Module["computeUnpackAlignedImageSize"]=computeUnpackAlignedImageSize;Module["colorChannelsInGlTextureFormat"]=colorChannelsInGlTextureFormat;Module["heapObjectForWebGLType"]=heapObjectForWebGLType;Module["toTypedArrayIndex"]=toTypedArrayIndex;Module["_emscripten_glReleaseShaderCompiler"]=_emscripten_glReleaseShaderCompiler;Module["_glReleaseShaderCompiler"]=_glReleaseShaderCompiler;Module["_emscripten_glRenderbufferStorage"]=_emscripten_glRenderbufferStorage;Module["_glRenderbufferStorage"]=_glRenderbufferStorage;Module["_emscripten_glRenderbufferStorageMultisample"]=_emscripten_glRenderbufferStorageMultisample;Module["_glRenderbufferStorageMultisample"]=_glRenderbufferStorageMultisample;Module["_emscripten_glResumeTransformFeedback"]=_emscripten_glResumeTransformFeedback;Module["_glResumeTransformFeedback"]=_glResumeTransformFeedback;Module["_emscripten_glSampleCoverage"]=_emscripten_glSampleCoverage;Module["_glSampleCoverage"]=_glSampleCoverage;Module["_emscripten_glSamplerParameterf"]=_emscripten_glSamplerParameterf;Module["_glSamplerParameterf"]=_glSamplerParameterf;Module["_emscripten_glSamplerParameterfv"]=_emscripten_glSamplerParameterfv;Module["_glSamplerParameterfv"]=_glSamplerParameterfv;Module["_emscripten_glSamplerParameteri"]=_emscripten_glSamplerParameteri;Module["_glSamplerParameteri"]=_glSamplerParameteri;Module["_emscripten_glSamplerParameteriv"]=_emscripten_glSamplerParameteriv;Module["_glSamplerParameteriv"]=_glSamplerParameteriv;Module["_emscripten_glScissor"]=_emscripten_glScissor;Module["_glScissor"]=_glScissor;Module["_emscripten_glShaderBinary"]=_emscripten_glShaderBinary;Module["_glShaderBinary"]=_glShaderBinary;Module["_emscripten_glShaderSource"]=_emscripten_glShaderSource;Module["_glShaderSource"]=_glShaderSource;Module["_emscripten_glStencilFunc"]=_emscripten_glStencilFunc;Module["_glStencilFunc"]=_glStencilFunc;Module["_emscripten_glStencilFuncSeparate"]=_emscripten_glStencilFuncSeparate;Module["_glStencilFuncSeparate"]=_glStencilFuncSeparate;Module["_emscripten_glStencilMask"]=_emscripten_glStencilMask;Module["_glStencilMask"]=_glStencilMask;Module["_emscripten_glStencilMaskSeparate"]=_emscripten_glStencilMaskSeparate;Module["_glStencilMaskSeparate"]=_glStencilMaskSeparate;Module["_emscripten_glStencilOp"]=_emscripten_glStencilOp;Module["_glStencilOp"]=_glStencilOp;Module["_emscripten_glStencilOpSeparate"]=_emscripten_glStencilOpSeparate;Module["_glStencilOpSeparate"]=_glStencilOpSeparate;Module["_emscripten_glTexImage2D"]=_emscripten_glTexImage2D;Module["_glTexImage2D"]=_glTexImage2D;Module["_emscripten_glTexImage3D"]=_emscripten_glTexImage3D;Module["_glTexImage3D"]=_glTexImage3D;Module["_emscripten_glTexParameterf"]=_emscripten_glTexParameterf;Module["_glTexParameterf"]=_glTexParameterf;Module["_emscripten_glTexParameterfv"]=_emscripten_glTexParameterfv;Module["_glTexParameterfv"]=_glTexParameterfv;Module["_emscripten_glTexParameteri"]=_emscripten_glTexParameteri;Module["_glTexParameteri"]=_glTexParameteri;Module["_emscripten_glTexParameteriv"]=_emscripten_glTexParameteriv;Module["_glTexParameteriv"]=_glTexParameteriv;Module["_emscripten_glTexStorage2D"]=_emscripten_glTexStorage2D;Module["_glTexStorage2D"]=_glTexStorage2D;Module["_emscripten_glTexStorage3D"]=_emscripten_glTexStorage3D;Module["_glTexStorage3D"]=_glTexStorage3D;Module["_emscripten_glTexSubImage2D"]=_emscripten_glTexSubImage2D;Module["_glTexSubImage2D"]=_glTexSubImage2D;Module["_emscripten_glTexSubImage3D"]=_emscripten_glTexSubImage3D;Module["_glTexSubImage3D"]=_glTexSubImage3D;Module["_emscripten_glTransformFeedbackVaryings"]=_emscripten_glTransformFeedbackVaryings;Module["_glTransformFeedbackVaryings"]=_glTransformFeedbackVaryings;Module["_emscripten_glUniform1f"]=_emscripten_glUniform1f;Module["_glUniform1f"]=_glUniform1f;Module["_emscripten_glUniform1fv"]=_emscripten_glUniform1fv;Module["_glUniform1fv"]=_glUniform1fv;Module["miniTempWebGLFloatBuffers"]=miniTempWebGLFloatBuffers;Module["_emscripten_glUniform1i"]=_emscripten_glUniform1i;Module["_glUniform1i"]=_glUniform1i;Module["_emscripten_glUniform1iv"]=_emscripten_glUniform1iv;Module["_glUniform1iv"]=_glUniform1iv;Module["miniTempWebGLIntBuffers"]=miniTempWebGLIntBuffers;Module["_emscripten_glUniform1ui"]=_emscripten_glUniform1ui;Module["_glUniform1ui"]=_glUniform1ui;Module["_emscripten_glUniform1uiv"]=_emscripten_glUniform1uiv;Module["_glUniform1uiv"]=_glUniform1uiv;Module["_emscripten_glUniform2f"]=_emscripten_glUniform2f;Module["_glUniform2f"]=_glUniform2f;Module["_emscripten_glUniform2fv"]=_emscripten_glUniform2fv;Module["_glUniform2fv"]=_glUniform2fv;Module["_emscripten_glUniform2i"]=_emscripten_glUniform2i;Module["_glUniform2i"]=_glUniform2i;Module["_emscripten_glUniform2iv"]=_emscripten_glUniform2iv;Module["_glUniform2iv"]=_glUniform2iv;Module["_emscripten_glUniform2ui"]=_emscripten_glUniform2ui;Module["_glUniform2ui"]=_glUniform2ui;Module["_emscripten_glUniform2uiv"]=_emscripten_glUniform2uiv;Module["_glUniform2uiv"]=_glUniform2uiv;Module["_emscripten_glUniform3f"]=_emscripten_glUniform3f;Module["_glUniform3f"]=_glUniform3f;Module["_emscripten_glUniform3fv"]=_emscripten_glUniform3fv;Module["_glUniform3fv"]=_glUniform3fv;Module["_emscripten_glUniform3i"]=_emscripten_glUniform3i;Module["_glUniform3i"]=_glUniform3i;Module["_emscripten_glUniform3iv"]=_emscripten_glUniform3iv;Module["_glUniform3iv"]=_glUniform3iv;Module["_emscripten_glUniform3ui"]=_emscripten_glUniform3ui;Module["_glUniform3ui"]=_glUniform3ui;Module["_emscripten_glUniform3uiv"]=_emscripten_glUniform3uiv;Module["_glUniform3uiv"]=_glUniform3uiv;Module["_emscripten_glUniform4f"]=_emscripten_glUniform4f;Module["_glUniform4f"]=_glUniform4f;Module["_emscripten_glUniform4fv"]=_emscripten_glUniform4fv;Module["_glUniform4fv"]=_glUniform4fv;Module["_emscripten_glUniform4i"]=_emscripten_glUniform4i;Module["_glUniform4i"]=_glUniform4i;Module["_emscripten_glUniform4iv"]=_emscripten_glUniform4iv;Module["_glUniform4iv"]=_glUniform4iv;Module["_emscripten_glUniform4ui"]=_emscripten_glUniform4ui;Module["_glUniform4ui"]=_glUniform4ui;Module["_emscripten_glUniform4uiv"]=_emscripten_glUniform4uiv;Module["_glUniform4uiv"]=_glUniform4uiv;Module["_emscripten_glUniformBlockBinding"]=_emscripten_glUniformBlockBinding;Module["_glUniformBlockBinding"]=_glUniformBlockBinding;Module["_emscripten_glUniformMatrix2fv"]=_emscripten_glUniformMatrix2fv;Module["_glUniformMatrix2fv"]=_glUniformMatrix2fv;Module["_emscripten_glUniformMatrix2x3fv"]=_emscripten_glUniformMatrix2x3fv;Module["_glUniformMatrix2x3fv"]=_glUniformMatrix2x3fv;Module["_emscripten_glUniformMatrix2x4fv"]=_emscripten_glUniformMatrix2x4fv;Module["_glUniformMatrix2x4fv"]=_glUniformMatrix2x4fv;Module["_emscripten_glUniformMatrix3fv"]=_emscripten_glUniformMatrix3fv;Module["_glUniformMatrix3fv"]=_glUniformMatrix3fv;Module["_emscripten_glUniformMatrix3x2fv"]=_emscripten_glUniformMatrix3x2fv;Module["_glUniformMatrix3x2fv"]=_glUniformMatrix3x2fv;Module["_emscripten_glUniformMatrix3x4fv"]=_emscripten_glUniformMatrix3x4fv;Module["_glUniformMatrix3x4fv"]=_glUniformMatrix3x4fv;Module["_emscripten_glUniformMatrix4fv"]=_emscripten_glUniformMatrix4fv;Module["_glUniformMatrix4fv"]=_glUniformMatrix4fv;Module["_emscripten_glUniformMatrix4x2fv"]=_emscripten_glUniformMatrix4x2fv;Module["_glUniformMatrix4x2fv"]=_glUniformMatrix4x2fv;Module["_emscripten_glUniformMatrix4x3fv"]=_emscripten_glUniformMatrix4x3fv;Module["_glUniformMatrix4x3fv"]=_glUniformMatrix4x3fv;Module["_emscripten_glUseProgram"]=_emscripten_glUseProgram;Module["_glUseProgram"]=_glUseProgram;Module["_emscripten_glValidateProgram"]=_emscripten_glValidateProgram;Module["_glValidateProgram"]=_glValidateProgram;Module["_emscripten_glVertexAttrib1f"]=_emscripten_glVertexAttrib1f;Module["_glVertexAttrib1f"]=_glVertexAttrib1f;Module["_emscripten_glVertexAttrib1fv"]=_emscripten_glVertexAttrib1fv;Module["_glVertexAttrib1fv"]=_glVertexAttrib1fv;Module["_emscripten_glVertexAttrib2f"]=_emscripten_glVertexAttrib2f;Module["_glVertexAttrib2f"]=_glVertexAttrib2f;Module["_emscripten_glVertexAttrib2fv"]=_emscripten_glVertexAttrib2fv;Module["_glVertexAttrib2fv"]=_glVertexAttrib2fv;Module["_emscripten_glVertexAttrib3f"]=_emscripten_glVertexAttrib3f;Module["_glVertexAttrib3f"]=_glVertexAttrib3f;Module["_emscripten_glVertexAttrib3fv"]=_emscripten_glVertexAttrib3fv;Module["_glVertexAttrib3fv"]=_glVertexAttrib3fv;Module["_emscripten_glVertexAttrib4f"]=_emscripten_glVertexAttrib4f;Module["_glVertexAttrib4f"]=_glVertexAttrib4f;Module["_emscripten_glVertexAttrib4fv"]=_emscripten_glVertexAttrib4fv;Module["_glVertexAttrib4fv"]=_glVertexAttrib4fv;Module["_emscripten_glVertexAttribDivisor"]=_emscripten_glVertexAttribDivisor;Module["_glVertexAttribDivisor"]=_glVertexAttribDivisor;Module["_emscripten_glVertexAttribDivisorANGLE"]=_emscripten_glVertexAttribDivisorANGLE;Module["_glVertexAttribDivisorANGLE"]=_glVertexAttribDivisorANGLE;Module["_emscripten_glVertexAttribDivisorARB"]=_emscripten_glVertexAttribDivisorARB;Module["_glVertexAttribDivisorARB"]=_glVertexAttribDivisorARB;Module["_emscripten_glVertexAttribDivisorEXT"]=_emscripten_glVertexAttribDivisorEXT;Module["_glVertexAttribDivisorEXT"]=_glVertexAttribDivisorEXT;Module["_emscripten_glVertexAttribDivisorNV"]=_emscripten_glVertexAttribDivisorNV;Module["_glVertexAttribDivisorNV"]=_glVertexAttribDivisorNV;Module["_emscripten_glVertexAttribI4i"]=_emscripten_glVertexAttribI4i;Module["_glVertexAttribI4i"]=_glVertexAttribI4i;Module["_emscripten_glVertexAttribI4iv"]=_emscripten_glVertexAttribI4iv;Module["_glVertexAttribI4iv"]=_glVertexAttribI4iv;Module["_emscripten_glVertexAttribI4ui"]=_emscripten_glVertexAttribI4ui;Module["_glVertexAttribI4ui"]=_glVertexAttribI4ui;Module["_emscripten_glVertexAttribI4uiv"]=_emscripten_glVertexAttribI4uiv;Module["_glVertexAttribI4uiv"]=_glVertexAttribI4uiv;Module["_emscripten_glVertexAttribIPointer"]=_emscripten_glVertexAttribIPointer;Module["_glVertexAttribIPointer"]=_glVertexAttribIPointer;Module["_emscripten_glVertexAttribPointer"]=_emscripten_glVertexAttribPointer;Module["_glVertexAttribPointer"]=_glVertexAttribPointer;Module["_emscripten_glViewport"]=_emscripten_glViewport;Module["_glViewport"]=_glViewport;Module["_emscripten_glWaitSync"]=_emscripten_glWaitSync;Module["_glWaitSync"]=_glWaitSync;Module["_emscripten_out"]=_emscripten_out;Module["_emscripten_promise_create"]=_emscripten_promise_create;Module["makePromise"]=makePromise;Module["promiseMap"]=promiseMap;Module["HandleAllocator"]=HandleAllocator;Module["_emscripten_promise_destroy"]=_emscripten_promise_destroy;Module["_emscripten_promise_resolve"]=_emscripten_promise_resolve;Module["getPromise"]=getPromise;Module["_emscripten_resize_heap"]=_emscripten_resize_heap;Module["growMemory"]=growMemory;Module["_emscripten_runtime_keepalive_pop"]=_emscripten_runtime_keepalive_pop;Module["_emscripten_runtime_keepalive_push"]=_emscripten_runtime_keepalive_push;Module["_environ_get"]=_environ_get;Module["getEnvStrings"]=getEnvStrings;Module["ENV"]=ENV;Module["_environ_sizes_get"]=_environ_sizes_get;Module["_fd_close"]=_fd_close;Module["_fd_fdstat_get"]=_fd_fdstat_get;Module["_fd_pread"]=_fd_pread;Module["doReadv"]=doReadv;Module["_fd_pwrite"]=_fd_pwrite;Module["doWritev"]=doWritev;Module["_fd_read"]=_fd_read;Module["_fd_seek"]=_fd_seek;Module["_fd_sync"]=_fd_sync;Module["_fd_write"]=_fd_write;Module["_getaddrinfo"]=_getaddrinfo;Module["_getnameinfo"]=_getnameinfo;Module["_getprotobyname"]=_getprotobyname;Module["_setprotoent"]=_setprotoent;Module["Protocols"]=Protocols;Module["stringToAscii"]=stringToAscii;Module["_is_sentinel"]=_is_sentinel;Module["_random_get"]=_random_get;Module["_stackAlloc"]=_stackAlloc;Module["_stackRestore"]=_stackRestore;Module["_stackSave"]=_stackSave;Module["FS_createPath"]=FS_createPath;Module["FS_unlink"]=FS_unlink;Module["FS_createLazyFile"]=FS_createLazyFile;Module["FS_createDevice"]=FS_createDevice;Module["writeI53ToI64Clamped"]=writeI53ToI64Clamped;Module["writeI53ToI64Signaling"]=writeI53ToI64Signaling;Module["writeI53ToU64Clamped"]=writeI53ToU64Clamped;Module["writeI53ToU64Signaling"]=writeI53ToU64Signaling;Module["readI53FromU64"]=readI53FromU64;Module["convertI32PairToI53"]=convertI32PairToI53;Module["convertI32PairToI53Checked"]=convertI32PairToI53Checked;Module["convertU32PairToI53"]=convertU32PairToI53;Module["getTempRet0"]=getTempRet0;Module["setTempRet0"]=setTempRet0;Module["ptrToString"]=ptrToString;Module["_emscripten_notify_memory_growth"]=_emscripten_notify_memory_growth;Module["strError"]=strError;Module["_endprotoent"]=_endprotoent;Module["_getprotoent"]=_getprotoent;Module["_getprotobynumber"]=_getprotobynumber;Module["Sockets"]=Sockets;Module["_emscripten_run_script"]=_emscripten_run_script;Module["_emscripten_run_script_int"]=_emscripten_run_script_int;Module["_emscripten_run_script_string"]=_emscripten_run_script_string;Module["_emscripten_random"]=_emscripten_random;Module["_emscripten_performance_now"]=_emscripten_performance_now;Module["__emscripten_get_now_is_monotonic"]=__emscripten_get_now_is_monotonic;Module["warnOnce"]=warnOnce;Module["emscriptenLog"]=emscriptenLog;Module["getCallstack"]=getCallstack;Module["jsStackTrace"]=jsStackTrace;Module["_emscripten_log"]=_emscripten_log;Module["formatString"]=formatString;Module["reallyNegative"]=reallyNegative;Module["reSign"]=reSign;Module["unSign"]=unSign;Module["strLen"]=strLen;Module["_emscripten_get_compiler_setting"]=_emscripten_get_compiler_setting;Module["_emscripten_has_asyncify"]=_emscripten_has_asyncify;Module["_emscripten_debugger"]=_emscripten_debugger;Module["_emscripten_print_double"]=_emscripten_print_double;Module["_emscripten_asm_const_double"]=_emscripten_asm_const_double;Module["_emscripten_asm_const_ptr"]=_emscripten_asm_const_ptr;Module["runMainThreadEmAsm"]=runMainThreadEmAsm;Module["_emscripten_asm_const_int_sync_on_main_thread"]=_emscripten_asm_const_int_sync_on_main_thread;Module["_emscripten_asm_const_ptr_sync_on_main_thread"]=_emscripten_asm_const_ptr_sync_on_main_thread;Module["_emscripten_asm_const_double_sync_on_main_thread"]=_emscripten_asm_const_double_sync_on_main_thread;Module["_emscripten_asm_const_async_on_main_thread"]=_emscripten_asm_const_async_on_main_thread;Module["__Unwind_Backtrace"]=__Unwind_Backtrace;Module["__Unwind_GetIPInfo"]=__Unwind_GetIPInfo;Module["__Unwind_FindEnclosingFunction"]=__Unwind_FindEnclosingFunction;Module["listenOnce"]=listenOnce;Module["autoResumeAudioContext"]=autoResumeAudioContext;Module["getDynCaller"]=getDynCaller;Module["dynCall"]=dynCall;Module["_emscripten_exit_with_live_runtime"]=_emscripten_exit_with_live_runtime;Module["_emscripten_force_exit"]=_emscripten_force_exit;Module["_emscripten_outn"]=_emscripten_outn;Module["_emscripten_errn"]=_emscripten_errn;Module["_emscripten_throw_number"]=_emscripten_throw_number;Module["_emscripten_throw_string"]=_emscripten_throw_string;Module["_emscripten_runtime_keepalive_check"]=_emscripten_runtime_keepalive_check;Module["asmjsMangle"]=asmjsMangle;Module["___global_base"]=___global_base;Module["__emscripten_fs_load_embedded_files"]=__emscripten_fs_load_embedded_files;Module["getNativeTypeSize"]=getNativeTypeSize;Module["POINTER_SIZE"]=POINTER_SIZE;Module["onInits"]=onInits;Module["addOnInit"]=addOnInit;Module["onMains"]=onMains;Module["addOnPreMain"]=addOnPreMain;Module["onExits"]=onExits;Module["addOnExit"]=addOnExit;Module["STACK_SIZE"]=STACK_SIZE;Module["STACK_ALIGN"]=STACK_ALIGN;Module["ASSERTIONS"]=ASSERTIONS;Module["getCFunc"]=getCFunc;Module["ccall"]=ccall;Module["writeArrayToMemory"]=writeArrayToMemory;Module["cwrap"]=cwrap;Module["removeFunction"]=removeFunction;Module["_emscripten_math_cbrt"]=_emscripten_math_cbrt;Module["_emscripten_math_pow"]=_emscripten_math_pow;Module["_emscripten_math_random"]=_emscripten_math_random;Module["_emscripten_math_sign"]=_emscripten_math_sign;Module["_emscripten_math_sqrt"]=_emscripten_math_sqrt;Module["_emscripten_math_exp"]=_emscripten_math_exp;Module["_emscripten_math_expm1"]=_emscripten_math_expm1;Module["_emscripten_math_fmod"]=_emscripten_math_fmod;Module["_emscripten_math_log"]=_emscripten_math_log;Module["_emscripten_math_log1p"]=_emscripten_math_log1p;Module["_emscripten_math_log10"]=_emscripten_math_log10;Module["_emscripten_math_log2"]=_emscripten_math_log2;Module["_emscripten_math_round"]=_emscripten_math_round;Module["_emscripten_math_acos"]=_emscripten_math_acos;Module["_emscripten_math_acosh"]=_emscripten_math_acosh;Module["_emscripten_math_asin"]=_emscripten_math_asin;Module["_emscripten_math_asinh"]=_emscripten_math_asinh;Module["_emscripten_math_atan"]=_emscripten_math_atan;Module["_emscripten_math_atanh"]=_emscripten_math_atanh;Module["_emscripten_math_atan2"]=_emscripten_math_atan2;Module["_emscripten_math_cos"]=_emscripten_math_cos;Module["_emscripten_math_cosh"]=_emscripten_math_cosh;Module["_emscripten_math_hypot"]=_emscripten_math_hypot;Module["_emscripten_math_sin"]=_emscripten_math_sin;Module["_emscripten_math_sinh"]=_emscripten_math_sinh;Module["_emscripten_math_tan"]=_emscripten_math_tan;Module["_emscripten_math_tanh"]=_emscripten_math_tanh;Module["intArrayToString"]=intArrayToString;Module["AsciiToString"]=AsciiToString;Module["UTF16Decoder"]=UTF16Decoder;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;Module["lengthBytesUTF16"]=lengthBytesUTF16;Module["UTF32ToString"]=UTF32ToString;Module["stringToUTF32"]=stringToUTF32;Module["lengthBytesUTF32"]=lengthBytesUTF32;Module["JSEvents"]=JSEvents;Module["registerKeyEventCallback"]=registerKeyEventCallback;Module["findEventTarget"]=findEventTarget;Module["maybeCStringToJsString"]=maybeCStringToJsString;Module["specialHTMLTargets"]=specialHTMLTargets;Module["findCanvasEventTarget"]=findCanvasEventTarget;Module["_emscripten_set_keypress_callback_on_thread"]=_emscripten_set_keypress_callback_on_thread;Module["_emscripten_set_keydown_callback_on_thread"]=_emscripten_set_keydown_callback_on_thread;Module["_emscripten_set_keyup_callback_on_thread"]=_emscripten_set_keyup_callback_on_thread;Module["getBoundingClientRect"]=getBoundingClientRect;Module["fillMouseEventData"]=fillMouseEventData;Module["registerMouseEventCallback"]=registerMouseEventCallback;Module["_emscripten_set_click_callback_on_thread"]=_emscripten_set_click_callback_on_thread;Module["_emscripten_set_mousedown_callback_on_thread"]=_emscripten_set_mousedown_callback_on_thread;Module["_emscripten_set_mouseup_callback_on_thread"]=_emscripten_set_mouseup_callback_on_thread;Module["_emscripten_set_dblclick_callback_on_thread"]=_emscripten_set_dblclick_callback_on_thread;Module["_emscripten_set_mousemove_callback_on_thread"]=_emscripten_set_mousemove_callback_on_thread;Module["_emscripten_set_mouseenter_callback_on_thread"]=_emscripten_set_mouseenter_callback_on_thread;Module["_emscripten_set_mouseleave_callback_on_thread"]=_emscripten_set_mouseleave_callback_on_thread;Module["_emscripten_set_mouseover_callback_on_thread"]=_emscripten_set_mouseover_callback_on_thread;Module["_emscripten_set_mouseout_callback_on_thread"]=_emscripten_set_mouseout_callback_on_thread;Module["_emscripten_get_mouse_status"]=_emscripten_get_mouse_status;Module["registerWheelEventCallback"]=registerWheelEventCallback;Module["_emscripten_set_wheel_callback_on_thread"]=_emscripten_set_wheel_callback_on_thread;Module["registerUiEventCallback"]=registerUiEventCallback;Module["_emscripten_set_resize_callback_on_thread"]=_emscripten_set_resize_callback_on_thread;Module["_emscripten_set_scroll_callback_on_thread"]=_emscripten_set_scroll_callback_on_thread;Module["registerFocusEventCallback"]=registerFocusEventCallback;Module["_emscripten_set_blur_callback_on_thread"]=_emscripten_set_blur_callback_on_thread;Module["_emscripten_set_focus_callback_on_thread"]=_emscripten_set_focus_callback_on_thread;Module["_emscripten_set_focusin_callback_on_thread"]=_emscripten_set_focusin_callback_on_thread;Module["_emscripten_set_focusout_callback_on_thread"]=_emscripten_set_focusout_callback_on_thread;Module["fillDeviceOrientationEventData"]=fillDeviceOrientationEventData;Module["registerDeviceOrientationEventCallback"]=registerDeviceOrientationEventCallback;Module["_emscripten_set_deviceorientation_callback_on_thread"]=_emscripten_set_deviceorientation_callback_on_thread;Module["_emscripten_get_deviceorientation_status"]=_emscripten_get_deviceorientation_status;Module["fillDeviceMotionEventData"]=fillDeviceMotionEventData;Module["registerDeviceMotionEventCallback"]=registerDeviceMotionEventCallback;Module["_emscripten_set_devicemotion_callback_on_thread"]=_emscripten_set_devicemotion_callback_on_thread;Module["_emscripten_get_devicemotion_status"]=_emscripten_get_devicemotion_status;Module["screenOrientation"]=screenOrientation;Module["fillOrientationChangeEventData"]=fillOrientationChangeEventData;Module["registerOrientationChangeEventCallback"]=registerOrientationChangeEventCallback;Module["_emscripten_set_orientationchange_callback_on_thread"]=_emscripten_set_orientationchange_callback_on_thread;Module["_emscripten_get_orientation_status"]=_emscripten_get_orientation_status;Module["_emscripten_lock_orientation"]=_emscripten_lock_orientation;Module["_emscripten_unlock_orientation"]=_emscripten_unlock_orientation;Module["fillFullscreenChangeEventData"]=fillFullscreenChangeEventData;Module["registerFullscreenChangeEventCallback"]=registerFullscreenChangeEventCallback;Module["_emscripten_set_fullscreenchange_callback_on_thread"]=_emscripten_set_fullscreenchange_callback_on_thread;Module["_emscripten_get_fullscreen_status"]=_emscripten_get_fullscreen_status;Module["JSEvents_requestFullscreen"]=JSEvents_requestFullscreen;Module["JSEvents_resizeCanvasForFullscreen"]=JSEvents_resizeCanvasForFullscreen;Module["registerRestoreOldStyle"]=registerRestoreOldStyle;Module["getCanvasElementSize"]=getCanvasElementSize;Module["_emscripten_get_canvas_element_size"]=_emscripten_get_canvas_element_size;Module["setCanvasElementSize"]=setCanvasElementSize;Module["_emscripten_set_canvas_element_size"]=_emscripten_set_canvas_element_size;Module["currentFullscreenStrategy"]=currentFullscreenStrategy;Module["setLetterbox"]=setLetterbox;Module["hideEverythingExceptGivenElement"]=hideEverythingExceptGivenElement;Module["restoreHiddenElements"]=restoreHiddenElements;Module["restoreOldWindowedStyle"]=restoreOldWindowedStyle;Module["softFullscreenResizeWebGLRenderTarget"]=softFullscreenResizeWebGLRenderTarget;Module["doRequestFullscreen"]=doRequestFullscreen;Module["_emscripten_request_fullscreen"]=_emscripten_request_fullscreen;Module["_emscripten_request_fullscreen_strategy"]=_emscripten_request_fullscreen_strategy;Module["_emscripten_enter_soft_fullscreen"]=_emscripten_enter_soft_fullscreen;Module["_emscripten_exit_soft_fullscreen"]=_emscripten_exit_soft_fullscreen;Module["_emscripten_exit_fullscreen"]=_emscripten_exit_fullscreen;Module["fillPointerlockChangeEventData"]=fillPointerlockChangeEventData;Module["registerPointerlockChangeEventCallback"]=registerPointerlockChangeEventCallback;Module["_emscripten_set_pointerlockchange_callback_on_thread"]=_emscripten_set_pointerlockchange_callback_on_thread;Module["registerPointerlockErrorEventCallback"]=registerPointerlockErrorEventCallback;Module["_emscripten_set_pointerlockerror_callback_on_thread"]=_emscripten_set_pointerlockerror_callback_on_thread;Module["_emscripten_get_pointerlock_status"]=_emscripten_get_pointerlock_status;Module["requestPointerLock"]=requestPointerLock;Module["_emscripten_request_pointerlock"]=_emscripten_request_pointerlock;Module["_emscripten_exit_pointerlock"]=_emscripten_exit_pointerlock;Module["_emscripten_vibrate"]=_emscripten_vibrate;Module["_emscripten_vibrate_pattern"]=_emscripten_vibrate_pattern;Module["fillVisibilityChangeEventData"]=fillVisibilityChangeEventData;Module["registerVisibilityChangeEventCallback"]=registerVisibilityChangeEventCallback;Module["_emscripten_set_visibilitychange_callback_on_thread"]=_emscripten_set_visibilitychange_callback_on_thread;Module["_emscripten_get_visibility_status"]=_emscripten_get_visibility_status;Module["registerTouchEventCallback"]=registerTouchEventCallback;Module["_emscripten_set_touchstart_callback_on_thread"]=_emscripten_set_touchstart_callback_on_thread;Module["_emscripten_set_touchend_callback_on_thread"]=_emscripten_set_touchend_callback_on_thread;Module["_emscripten_set_touchmove_callback_on_thread"]=_emscripten_set_touchmove_callback_on_thread;Module["_emscripten_set_touchcancel_callback_on_thread"]=_emscripten_set_touchcancel_callback_on_thread;Module["fillGamepadEventData"]=fillGamepadEventData;Module["registerGamepadEventCallback"]=registerGamepadEventCallback;Module["_emscripten_set_gamepadconnected_callback_on_thread"]=_emscripten_set_gamepadconnected_callback_on_thread;Module["_emscripten_sample_gamepad_data"]=_emscripten_sample_gamepad_data;Module["_emscripten_set_gamepaddisconnected_callback_on_thread"]=_emscripten_set_gamepaddisconnected_callback_on_thread;Module["_emscripten_get_num_gamepads"]=_emscripten_get_num_gamepads;Module["_emscripten_get_gamepad_status"]=_emscripten_get_gamepad_status;Module["registerBeforeUnloadEventCallback"]=registerBeforeUnloadEventCallback;Module["_emscripten_set_beforeunload_callback_on_thread"]=_emscripten_set_beforeunload_callback_on_thread;Module["fillBatteryEventData"]=fillBatteryEventData;Module["battery"]=battery;Module["registerBatteryEventCallback"]=registerBatteryEventCallback;Module["_emscripten_set_batterychargingchange_callback_on_thread"]=_emscripten_set_batterychargingchange_callback_on_thread;Module["_emscripten_set_batterylevelchange_callback_on_thread"]=_emscripten_set_batterylevelchange_callback_on_thread;Module["_emscripten_get_battery_status"]=_emscripten_get_battery_status;Module["_emscripten_set_element_css_size"]=_emscripten_set_element_css_size;Module["_emscripten_get_element_css_size"]=_emscripten_get_element_css_size;Module["_emscripten_html5_remove_all_event_listeners"]=_emscripten_html5_remove_all_event_listeners;Module["_emscripten_request_animation_frame"]=_emscripten_request_animation_frame;Module["_emscripten_cancel_animation_frame"]=_emscripten_cancel_animation_frame;Module["_emscripten_request_animation_frame_loop"]=_emscripten_request_animation_frame_loop;Module["_emscripten_get_device_pixel_ratio"]=_emscripten_get_device_pixel_ratio;Module["_emscripten_get_callstack"]=_emscripten_get_callstack;Module["convertFrameToPC"]=convertFrameToPC;Module["_emscripten_return_address"]=_emscripten_return_address;Module["UNWIND_CACHE"]=UNWIND_CACHE;Module["_emscripten_stack_snapshot"]=_emscripten_stack_snapshot;Module["saveInUnwindCache"]=saveInUnwindCache;Module["_emscripten_stack_unwind_buffer"]=_emscripten_stack_unwind_buffer;Module["_emscripten_pc_get_function"]=_emscripten_pc_get_function;Module["convertPCtoSourceLocation"]=convertPCtoSourceLocation;Module["_emscripten_pc_get_file"]=_emscripten_pc_get_file;Module["_emscripten_pc_get_line"]=_emscripten_pc_get_line;Module["_emscripten_pc_get_column"]=_emscripten_pc_get_column;Module["wasiRightsToMuslOFlags"]=wasiRightsToMuslOFlags;Module["wasiOFlagsToMuslOFlags"]=wasiOFlagsToMuslOFlags;Module["_emscripten_unwind_to_js_event_loop"]=_emscripten_unwind_to_js_event_loop;Module["safeSetTimeout"]=safeSetTimeout;Module["setImmediateWrapped"]=setImmediateWrapped;Module["safeRequestAnimationFrame"]=safeRequestAnimationFrame;Module["MainLoop"]=MainLoop;Module["setMainLoop"]=setMainLoop;Module["_emscripten_set_main_loop_timing"]=_emscripten_set_main_loop_timing;Module["clearImmediateWrapped"]=clearImmediateWrapped;Module["emSetImmediate"]=emSetImmediate;Module["emClearImmediate"]=emClearImmediate;Module["emClearImmediate_deps"]=emClearImmediate_deps;Module["_emscripten_set_immediate"]=_emscripten_set_immediate;Module["_emscripten_clear_immediate"]=_emscripten_clear_immediate;Module["_emscripten_set_immediate_loop"]=_emscripten_set_immediate_loop;Module["_emscripten_set_timeout"]=_emscripten_set_timeout;Module["_emscripten_clear_timeout"]=_emscripten_clear_timeout;Module["_emscripten_set_timeout_loop"]=_emscripten_set_timeout_loop;Module["_emscripten_set_interval"]=_emscripten_set_interval;Module["_emscripten_clear_interval"]=_emscripten_clear_interval;Module["_emscripten_async_call"]=_emscripten_async_call;Module["registerPostMainLoop"]=registerPostMainLoop;Module["registerPreMainLoop"]=registerPreMainLoop;Module["_emscripten_get_main_loop_timing"]=_emscripten_get_main_loop_timing;Module["_emscripten_set_main_loop"]=_emscripten_set_main_loop;Module["_emscripten_set_main_loop_arg"]=_emscripten_set_main_loop_arg;Module["_emscripten_cancel_main_loop"]=_emscripten_cancel_main_loop;Module["_emscripten_pause_main_loop"]=_emscripten_pause_main_loop;Module["_emscripten_resume_main_loop"]=_emscripten_resume_main_loop;Module["__emscripten_push_main_loop_blocker"]=__emscripten_push_main_loop_blocker;Module["__emscripten_push_uncounted_main_loop_blocker"]=__emscripten_push_uncounted_main_loop_blocker;Module["_emscripten_set_main_loop_expected_blockers"]=_emscripten_set_main_loop_expected_blockers;Module["idsToPromises"]=idsToPromises;Module["makePromiseCallback"]=makePromiseCallback;Module["_emscripten_promise_then"]=_emscripten_promise_then;Module["_emscripten_promise_all"]=_emscripten_promise_all;Module["setPromiseResult"]=setPromiseResult;Module["_emscripten_promise_all_settled"]=_emscripten_promise_all_settled;Module["_emscripten_promise_any"]=_emscripten_promise_any;Module["_emscripten_promise_race"]=_emscripten_promise_race;Module["_emscripten_promise_await"]=_emscripten_promise_await;Module["getExceptionMessageCommon"]=getExceptionMessageCommon;Module["getCppExceptionTag"]=getCppExceptionTag;Module["getCppExceptionThrownObjectFromWebAssemblyException"]=getCppExceptionThrownObjectFromWebAssemblyException;Module["incrementExceptionRefcount"]=incrementExceptionRefcount;Module["decrementExceptionRefcount"]=decrementExceptionRefcount;Module["getExceptionMessage"]=getExceptionMessage;Module["Browser"]=Browser;Module["requestFullscreen"]=requestFullscreen;Module["setCanvasSize"]=setCanvasSize;Module["getUserMedia"]=getUserMedia;Module["createContext"]=createContext;Module["_emscripten_run_preload_plugins"]=_emscripten_run_preload_plugins;Module["Browser_asyncPrepareDataCounter"]=Browser_asyncPrepareDataCounter;Module["_emscripten_run_preload_plugins_data"]=_emscripten_run_preload_plugins_data;Module["_emscripten_async_run_script"]=_emscripten_async_run_script;Module["_emscripten_async_load_script"]=_emscripten_async_load_script;Module["_emscripten_get_window_title"]=_emscripten_get_window_title;Module["_emscripten_set_window_title"]=_emscripten_set_window_title;Module["_emscripten_get_screen_size"]=_emscripten_get_screen_size;Module["_emscripten_hide_mouse"]=_emscripten_hide_mouse;Module["_emscripten_set_canvas_size"]=_emscripten_set_canvas_size;Module["_emscripten_get_canvas_size"]=_emscripten_get_canvas_size;Module["_emscripten_create_worker"]=_emscripten_create_worker;Module["_emscripten_destroy_worker"]=_emscripten_destroy_worker;Module["_emscripten_call_worker"]=_emscripten_call_worker;Module["_emscripten_get_worker_queue_size"]=_emscripten_get_worker_queue_size;Module["_emscripten_get_preloaded_image_data"]=_emscripten_get_preloaded_image_data;Module["getPreloadedImageData"]=getPreloadedImageData;Module["getPreloadedImageData__data"]=getPreloadedImageData__data;Module["_emscripten_get_preloaded_image_data_from_FILE"]=_emscripten_get_preloaded_image_data_from_FILE;Module["wget"]=wget;Module["_emscripten_async_wget"]=_emscripten_async_wget;Module["FS_mkdirTree"]=FS_mkdirTree;Module["_emscripten_async_wget_data"]=_emscripten_async_wget_data;Module["_emscripten_async_wget2"]=_emscripten_async_wget2;Module["_emscripten_async_wget2_data"]=_emscripten_async_wget2_data;Module["_emscripten_async_wget2_abort"]=_emscripten_async_wget2_abort;Module["___asctime_r"]=___asctime_r;Module["MONTH_DAYS_REGULAR"]=MONTH_DAYS_REGULAR;Module["MONTH_DAYS_LEAP"]=MONTH_DAYS_LEAP;Module["arraySum"]=arraySum;Module["addDays"]=addDays;Module["_strptime"]=_strptime;Module["_strptime_l"]=_strptime_l;Module["__dlsym_catchup_js"]=__dlsym_catchup_js;Module["FS_readFile"]=FS_readFile;Module["FS_root"]=FS_root;Module["FS_mounts"]=FS_mounts;Module["FS_devices"]=FS_devices;Module["FS_streams"]=FS_streams;Module["FS_nextInode"]=FS_nextInode;Module["FS_nameTable"]=FS_nameTable;Module["FS_currentPath"]=FS_currentPath;Module["FS_initialized"]=FS_initialized;Module["FS_ignorePermissions"]=FS_ignorePermissions;Module["FS_trackingDelegate"]=FS_trackingDelegate;Module["FS_filesystems"]=FS_filesystems;Module["FS_syncFSRequests"]=FS_syncFSRequests;Module["FS_readFiles"]=FS_readFiles;Module["FS_lookupPath"]=FS_lookupPath;Module["FS_getPath"]=FS_getPath;Module["FS_hashName"]=FS_hashName;Module["FS_hashAddNode"]=FS_hashAddNode;Module["FS_hashRemoveNode"]=FS_hashRemoveNode;Module["FS_lookupNode"]=FS_lookupNode;Module["FS_createNode"]=FS_createNode;Module["FS_destroyNode"]=FS_destroyNode;Module["FS_isRoot"]=FS_isRoot;Module["FS_isMountpoint"]=FS_isMountpoint;Module["FS_isFile"]=FS_isFile;Module["FS_isDir"]=FS_isDir;Module["FS_isLink"]=FS_isLink;Module["FS_isChrdev"]=FS_isChrdev;Module["FS_isBlkdev"]=FS_isBlkdev;Module["FS_isFIFO"]=FS_isFIFO;Module["FS_isSocket"]=FS_isSocket;Module["FS_flagsToPermissionString"]=FS_flagsToPermissionString;Module["FS_nodePermissions"]=FS_nodePermissions;Module["FS_mayLookup"]=FS_mayLookup;Module["FS_mayCreate"]=FS_mayCreate;Module["FS_mayDelete"]=FS_mayDelete;Module["FS_mayOpen"]=FS_mayOpen;Module["FS_checkOpExists"]=FS_checkOpExists;Module["FS_nextfd"]=FS_nextfd;Module["FS_getStreamChecked"]=FS_getStreamChecked;Module["FS_getStream"]=FS_getStream;Module["FS_createStream"]=FS_createStream;Module["FS_closeStream"]=FS_closeStream;Module["FS_dupStream"]=FS_dupStream;Module["FS_doSetAttr"]=FS_doSetAttr;Module["FS_chrdev_stream_ops"]=FS_chrdev_stream_ops;Module["FS_major"]=FS_major;Module["FS_minor"]=FS_minor;Module["FS_makedev"]=FS_makedev;Module["FS_registerDevice"]=FS_registerDevice;Module["FS_getDevice"]=FS_getDevice;Module["FS_getMounts"]=FS_getMounts;Module["FS_syncfs"]=FS_syncfs;Module["FS_mount"]=FS_mount;Module["FS_unmount"]=FS_unmount;Module["FS_lookup"]=FS_lookup;Module["FS_mknod"]=FS_mknod;Module["FS_statfs"]=FS_statfs;Module["FS_statfsStream"]=FS_statfsStream;Module["FS_statfsNode"]=FS_statfsNode;Module["FS_create"]=FS_create;Module["FS_mkdir"]=FS_mkdir;Module["FS_mkdev"]=FS_mkdev;Module["FS_symlink"]=FS_symlink;Module["FS_rename"]=FS_rename;Module["FS_rmdir"]=FS_rmdir;Module["FS_readdir"]=FS_readdir;Module["FS_readlink"]=FS_readlink;Module["FS_stat"]=FS_stat;Module["FS_fstat"]=FS_fstat;Module["FS_lstat"]=FS_lstat;Module["FS_doChmod"]=FS_doChmod;Module["FS_chmod"]=FS_chmod;Module["FS_lchmod"]=FS_lchmod;Module["FS_fchmod"]=FS_fchmod;Module["FS_doChown"]=FS_doChown;Module["FS_chown"]=FS_chown;Module["FS_lchown"]=FS_lchown;Module["FS_fchown"]=FS_fchown;Module["FS_doTruncate"]=FS_doTruncate;Module["FS_truncate"]=FS_truncate;Module["FS_ftruncate"]=FS_ftruncate;Module["FS_utime"]=FS_utime;Module["FS_open"]=FS_open;Module["FS_close"]=FS_close;Module["FS_isClosed"]=FS_isClosed;Module["FS_llseek"]=FS_llseek;Module["FS_read"]=FS_read;Module["FS_write"]=FS_write;Module["FS_mmap"]=FS_mmap;Module["FS_msync"]=FS_msync;Module["FS_ioctl"]=FS_ioctl;Module["FS_writeFile"]=FS_writeFile;Module["FS_cwd"]=FS_cwd;Module["FS_chdir"]=FS_chdir;Module["FS_createDefaultDirectories"]=FS_createDefaultDirectories;Module["FS_createDefaultDevices"]=FS_createDefaultDevices;Module["FS_createSpecialDirectories"]=FS_createSpecialDirectories;Module["FS_createStandardStreams"]=FS_createStandardStreams;Module["FS_staticInit"]=FS_staticInit;Module["FS_init"]=FS_init;Module["FS_quit"]=FS_quit;Module["FS_findObject"]=FS_findObject;Module["FS_analyzePath"]=FS_analyzePath;Module["FS_createFile"]=FS_createFile;Module["FS_forceLoadFile"]=FS_forceLoadFile;Module["_setNetworkCallback"]=_setNetworkCallback;Module["_emscripten_set_socket_error_callback"]=_emscripten_set_socket_error_callback;Module["_emscripten_set_socket_open_callback"]=_emscripten_set_socket_open_callback;Module["_emscripten_set_socket_listen_callback"]=_emscripten_set_socket_listen_callback;Module["_emscripten_set_socket_connection_callback"]=_emscripten_set_socket_connection_callback;Module["_emscripten_set_socket_message_callback"]=_emscripten_set_socket_message_callback;Module["_emscripten_set_socket_close_callback"]=_emscripten_set_socket_close_callback;Module["_emscripten_webgl_enable_ANGLE_instanced_arrays"]=_emscripten_webgl_enable_ANGLE_instanced_arrays;Module["_emscripten_webgl_enable_OES_vertex_array_object"]=_emscripten_webgl_enable_OES_vertex_array_object;Module["_emscripten_webgl_enable_WEBGL_draw_buffers"]=_emscripten_webgl_enable_WEBGL_draw_buffers;Module["_emscripten_webgl_enable_WEBGL_multi_draw"]=_emscripten_webgl_enable_WEBGL_multi_draw;Module["_emscripten_webgl_enable_EXT_polygon_offset_clamp"]=_emscripten_webgl_enable_EXT_polygon_offset_clamp;Module["_emscripten_webgl_enable_EXT_clip_control"]=_emscripten_webgl_enable_EXT_clip_control;Module["_emscripten_webgl_enable_WEBGL_polygon_mode"]=_emscripten_webgl_enable_WEBGL_polygon_mode;Module["_glVertexPointer"]=_glVertexPointer;Module["_glMatrixMode"]=_glMatrixMode;Module["_glBegin"]=_glBegin;Module["_glLoadIdentity"]=_glLoadIdentity;Module["_glMultiDrawArrays"]=_glMultiDrawArrays;Module["_glMultiDrawArraysWEBGL"]=_glMultiDrawArraysWEBGL;Module["_glMultiDrawArraysANGLE"]=_glMultiDrawArraysANGLE;Module["_glMultiDrawArraysInstancedANGLE"]=_glMultiDrawArraysInstancedANGLE;Module["_glMultiDrawArraysInstancedWEBGL"]=_glMultiDrawArraysInstancedWEBGL;Module["_glMultiDrawElements"]=_glMultiDrawElements;Module["_glMultiDrawElementsWEBGL"]=_glMultiDrawElementsWEBGL;Module["_glMultiDrawElementsANGLE"]=_glMultiDrawElementsANGLE;Module["_glMultiDrawElementsInstancedANGLE"]=_glMultiDrawElementsInstancedANGLE;Module["_glMultiDrawElementsInstancedWEBGL"]=_glMultiDrawElementsInstancedWEBGL;Module["_glClearDepth"]=_glClearDepth;Module["_glDepthRange"]=_glDepthRange;Module["_emscripten_glVertexPointer"]=_emscripten_glVertexPointer;Module["_emscripten_glMatrixMode"]=_emscripten_glMatrixMode;Module["_emscripten_glBegin"]=_emscripten_glBegin;Module["_emscripten_glLoadIdentity"]=_emscripten_glLoadIdentity;Module["_emscripten_glMultiDrawArrays"]=_emscripten_glMultiDrawArrays;Module["_emscripten_glMultiDrawArraysANGLE"]=_emscripten_glMultiDrawArraysANGLE;Module["_emscripten_glMultiDrawArraysWEBGL"]=_emscripten_glMultiDrawArraysWEBGL;Module["_emscripten_glMultiDrawArraysInstancedANGLE"]=_emscripten_glMultiDrawArraysInstancedANGLE;Module["_emscripten_glMultiDrawArraysInstancedWEBGL"]=_emscripten_glMultiDrawArraysInstancedWEBGL;Module["_emscripten_glMultiDrawElements"]=_emscripten_glMultiDrawElements;Module["_emscripten_glMultiDrawElementsANGLE"]=_emscripten_glMultiDrawElementsANGLE;Module["_emscripten_glMultiDrawElementsWEBGL"]=_emscripten_glMultiDrawElementsWEBGL;Module["_emscripten_glMultiDrawElementsInstancedANGLE"]=_emscripten_glMultiDrawElementsInstancedANGLE;Module["_emscripten_glMultiDrawElementsInstancedWEBGL"]=_emscripten_glMultiDrawElementsInstancedWEBGL;Module["_emscripten_glClearDepth"]=_emscripten_glClearDepth;Module["_emscripten_glDepthRange"]=_emscripten_glDepthRange;Module["_glGetBufferSubData"]=_glGetBufferSubData;Module["_glDrawArraysInstancedBaseInstanceWEBGL"]=_glDrawArraysInstancedBaseInstanceWEBGL;Module["_glDrawArraysInstancedBaseInstance"]=_glDrawArraysInstancedBaseInstance;Module["_glDrawArraysInstancedBaseInstanceANGLE"]=_glDrawArraysInstancedBaseInstanceANGLE;Module["_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL"]=_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL;Module["_glDrawElementsInstancedBaseVertexBaseInstanceANGLE"]=_glDrawElementsInstancedBaseVertexBaseInstanceANGLE;Module["_emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance"]=_emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance;Module["_glMultiDrawArraysInstancedBaseInstanceWEBGL"]=_glMultiDrawArraysInstancedBaseInstanceWEBGL;Module["_glMultiDrawArraysInstancedBaseInstanceANGLE"]=_glMultiDrawArraysInstancedBaseInstanceANGLE;Module["_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL"]=_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL;Module["_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE"]=_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE;Module["_emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance"]=_emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance;Module["_emscripten_glGetBufferSubData"]=_emscripten_glGetBufferSubData;Module["_emscripten_glDrawArraysInstancedBaseInstanceWEBGL"]=_emscripten_glDrawArraysInstancedBaseInstanceWEBGL;Module["_emscripten_glDrawArraysInstancedBaseInstance"]=_emscripten_glDrawArraysInstancedBaseInstance;Module["_emscripten_glDrawArraysInstancedBaseInstanceANGLE"]=_emscripten_glDrawArraysInstancedBaseInstanceANGLE;Module["_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL"]=_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL;Module["_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceANGLE"]=_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceANGLE;Module["_emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL"]=_emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL;Module["_emscripten_glMultiDrawArraysInstancedBaseInstanceANGLE"]=_emscripten_glMultiDrawArraysInstancedBaseInstanceANGLE;Module["_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL"]=_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL;Module["_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE"]=_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["allocate"]=allocate;Module["writeStringToMemory"]=writeStringToMemory;Module["writeAsciiToMemory"]=writeAsciiToMemory;Module["allocateUTF8"]=allocateUTF8;Module["allocateUTF8OnStack"]=allocateUTF8OnStack;Module["demangle"]=demangle;Module["stackTrace"]=stackTrace;Module["print"]=print;Module["printErr"]=printErr;Module["jstoi_s"]=jstoi_s;Module["_emscripten_is_main_browser_thread"]=_emscripten_is_main_browser_thread;Module["webSockets"]=webSockets;Module["WS"]=WS;Module["_emscripten_websocket_get_ready_state"]=_emscripten_websocket_get_ready_state;Module["_emscripten_websocket_get_buffered_amount"]=_emscripten_websocket_get_buffered_amount;Module["_emscripten_websocket_get_extensions"]=_emscripten_websocket_get_extensions;Module["_emscripten_websocket_get_extensions_length"]=_emscripten_websocket_get_extensions_length;Module["_emscripten_websocket_get_protocol"]=_emscripten_websocket_get_protocol;Module["_emscripten_websocket_get_protocol_length"]=_emscripten_websocket_get_protocol_length;Module["_emscripten_websocket_get_url"]=_emscripten_websocket_get_url;Module["_emscripten_websocket_get_url_length"]=_emscripten_websocket_get_url_length;Module["_emscripten_websocket_set_onopen_callback_on_thread"]=_emscripten_websocket_set_onopen_callback_on_thread;Module["_emscripten_websocket_set_onerror_callback_on_thread"]=_emscripten_websocket_set_onerror_callback_on_thread;Module["_emscripten_websocket_set_onclose_callback_on_thread"]=_emscripten_websocket_set_onclose_callback_on_thread;Module["_emscripten_websocket_set_onmessage_callback_on_thread"]=_emscripten_websocket_set_onmessage_callback_on_thread;Module["_emscripten_websocket_new"]=_emscripten_websocket_new;Module["_emscripten_websocket_send_utf8_text"]=_emscripten_websocket_send_utf8_text;Module["_emscripten_websocket_send_binary"]=_emscripten_websocket_send_binary;Module["_emscripten_websocket_close"]=_emscripten_websocket_close;Module["_emscripten_websocket_delete"]=_emscripten_websocket_delete;Module["_emscripten_websocket_is_supported"]=_emscripten_websocket_is_supported;Module["_emscripten_websocket_deinitialize"]=_emscripten_websocket_deinitialize;Module["writeGLArray"]=writeGLArray;Module["webglPowerPreferences"]=webglPowerPreferences;Module["_emscripten_webgl_create_context"]=_emscripten_webgl_create_context;Module["_emscripten_webgl_do_create_context"]=_emscripten_webgl_do_create_context;Module["_emscripten_webgl_get_current_context"]=_emscripten_webgl_get_current_context;Module["_emscripten_webgl_do_get_current_context"]=_emscripten_webgl_do_get_current_context;Module["_emscripten_webgl_commit_frame"]=_emscripten_webgl_commit_frame;Module["_emscripten_webgl_do_commit_frame"]=_emscripten_webgl_do_commit_frame;Module["_emscripten_webgl_make_context_current"]=_emscripten_webgl_make_context_current;Module["_emscripten_webgl_get_drawing_buffer_size"]=_emscripten_webgl_get_drawing_buffer_size;Module["_emscripten_webgl_get_context_attributes"]=_emscripten_webgl_get_context_attributes;Module["_emscripten_webgl_destroy_context"]=_emscripten_webgl_destroy_context;Module["_emscripten_webgl_enable_extension"]=_emscripten_webgl_enable_extension;Module["_emscripten_supports_offscreencanvas"]=_emscripten_supports_offscreencanvas;Module["registerWebGlEventCallback"]=registerWebGlEventCallback;Module["_emscripten_set_webglcontextlost_callback_on_thread"]=_emscripten_set_webglcontextlost_callback_on_thread;Module["_emscripten_set_webglcontextrestored_callback_on_thread"]=_emscripten_set_webglcontextrestored_callback_on_thread;Module["_emscripten_is_webgl_context_lost"]=_emscripten_is_webgl_context_lost;Module["_emscripten_webgl_get_supported_extensions"]=_emscripten_webgl_get_supported_extensions;Module["_emscripten_webgl_get_program_parameter_d"]=_emscripten_webgl_get_program_parameter_d;Module["_emscripten_webgl_get_program_info_log_utf8"]=_emscripten_webgl_get_program_info_log_utf8;Module["_emscripten_webgl_get_shader_parameter_d"]=_emscripten_webgl_get_shader_parameter_d;Module["_emscripten_webgl_get_shader_info_log_utf8"]=_emscripten_webgl_get_shader_info_log_utf8;Module["_emscripten_webgl_get_shader_source_utf8"]=_emscripten_webgl_get_shader_source_utf8;Module["_emscripten_webgl_get_vertex_attrib_d"]=_emscripten_webgl_get_vertex_attrib_d;Module["_emscripten_webgl_get_vertex_attrib_o"]=_emscripten_webgl_get_vertex_attrib_o;Module["_emscripten_webgl_get_vertex_attrib_v"]=_emscripten_webgl_get_vertex_attrib_v;Module["_emscripten_webgl_get_uniform_d"]=_emscripten_webgl_get_uniform_d;Module["_emscripten_webgl_get_uniform_v"]=_emscripten_webgl_get_uniform_v;Module["_emscripten_webgl_get_parameter_v"]=_emscripten_webgl_get_parameter_v;Module["_emscripten_webgl_get_parameter_d"]=_emscripten_webgl_get_parameter_d;Module["_emscripten_webgl_get_parameter_o"]=_emscripten_webgl_get_parameter_o;Module["_emscripten_webgl_get_parameter_utf8"]=_emscripten_webgl_get_parameter_utf8;Module["_emscripten_webgl_get_parameter_i64v"]=_emscripten_webgl_get_parameter_i64v;Module["EGL"]=EGL;Module["_eglGetDisplay"]=_eglGetDisplay;Module["_eglInitialize"]=_eglInitialize;Module["_eglTerminate"]=_eglTerminate;Module["_eglGetConfigs"]=_eglGetConfigs;Module["_eglChooseConfig"]=_eglChooseConfig;Module["_eglGetConfigAttrib"]=_eglGetConfigAttrib;Module["_eglCreateWindowSurface"]=_eglCreateWindowSurface;Module["_eglDestroySurface"]=_eglDestroySurface;Module["_eglCreateContext"]=_eglCreateContext;Module["_eglDestroyContext"]=_eglDestroyContext;Module["_eglQuerySurface"]=_eglQuerySurface;Module["_eglQueryContext"]=_eglQueryContext;Module["_eglGetError"]=_eglGetError;Module["_eglQueryString"]=_eglQueryString;Module["_eglBindAPI"]=_eglBindAPI;Module["_eglQueryAPI"]=_eglQueryAPI;Module["_eglWaitClient"]=_eglWaitClient;Module["_eglWaitNative"]=_eglWaitNative;Module["_eglWaitGL"]=_eglWaitGL;Module["_eglSwapInterval"]=_eglSwapInterval;Module["_eglMakeCurrent"]=_eglMakeCurrent;Module["_eglGetCurrentContext"]=_eglGetCurrentContext;Module["_eglGetCurrentSurface"]=_eglGetCurrentSurface;Module["_eglGetCurrentDisplay"]=_eglGetCurrentDisplay;Module["_eglSwapBuffers"]=_eglSwapBuffers;Module["_eglReleaseThread"]=_eglReleaseThread;Module["SDL"]=SDL;Module["_SDL_GetTicks"]=_SDL_GetTicks;Module["_SDL_LockSurface"]=_SDL_LockSurface;Module["_SDL_Linked_Version"]=_SDL_Linked_Version;Module["_SDL_Init"]=_SDL_Init;Module["_SDL_WasInit"]=_SDL_WasInit;Module["_SDL_GetVideoInfo"]=_SDL_GetVideoInfo;Module["_SDL_ListModes"]=_SDL_ListModes;Module["_SDL_VideoModeOK"]=_SDL_VideoModeOK;Module["_SDL_AudioDriverName"]=_SDL_AudioDriverName;Module["_SDL_VideoDriverName"]=_SDL_VideoDriverName;Module["_SDL_SetVideoMode"]=_SDL_SetVideoMode;Module["_SDL_GetVideoSurface"]=_SDL_GetVideoSurface;Module["_SDL_AudioQuit"]=_SDL_AudioQuit;Module["_SDL_VideoQuit"]=_SDL_VideoQuit;Module["_SDL_QuitSubSystem"]=_SDL_QuitSubSystem;Module["_SDL_Quit"]=_SDL_Quit;Module["_SDL_UnlockSurface"]=_SDL_UnlockSurface;Module["_SDL_Flip"]=_SDL_Flip;Module["_SDL_UpdateRect"]=_SDL_UpdateRect;Module["_SDL_UpdateRects"]=_SDL_UpdateRects;Module["_SDL_Delay"]=_SDL_Delay;Module["_SDL_WM_SetCaption"]=_SDL_WM_SetCaption;Module["_SDL_EnableKeyRepeat"]=_SDL_EnableKeyRepeat;Module["_SDL_GetKeyboardState"]=_SDL_GetKeyboardState;Module["_SDL_GetKeyState"]=_SDL_GetKeyState;Module["_SDL_GetKeyName"]=_SDL_GetKeyName;Module["_SDL_GetModState"]=_SDL_GetModState;Module["_SDL_GetMouseState"]=_SDL_GetMouseState;Module["_SDL_WarpMouse"]=_SDL_WarpMouse;Module["_SDL_ShowCursor"]=_SDL_ShowCursor;Module["_SDL_GetError"]=_SDL_GetError;Module["_SDL_SetError"]=_SDL_SetError;Module["_SDL_CreateRGBSurface"]=_SDL_CreateRGBSurface;Module["_SDL_CreateRGBSurfaceFrom"]=_SDL_CreateRGBSurfaceFrom;Module["_SDL_ConvertSurface"]=_SDL_ConvertSurface;Module["_SDL_DisplayFormat"]=_SDL_DisplayFormat;Module["_SDL_DisplayFormatAlpha"]=_SDL_DisplayFormatAlpha;Module["_SDL_FreeSurface"]=_SDL_FreeSurface;Module["_SDL_UpperBlit"]=_SDL_UpperBlit;Module["_SDL_UpperBlitScaled"]=_SDL_UpperBlitScaled;Module["_SDL_LowerBlit"]=_SDL_LowerBlit;Module["_SDL_LowerBlitScaled"]=_SDL_LowerBlitScaled;Module["_SDL_GetClipRect"]=_SDL_GetClipRect;Module["_SDL_SetClipRect"]=_SDL_SetClipRect;Module["_SDL_FillRect"]=_SDL_FillRect;Module["_zoomSurface"]=_zoomSurface;Module["_rotozoomSurface"]=_rotozoomSurface;Module["_SDL_SetAlpha"]=_SDL_SetAlpha;Module["_SDL_SetColorKey"]=_SDL_SetColorKey;Module["_SDL_PollEvent"]=_SDL_PollEvent;Module["_SDL_PushEvent"]=_SDL_PushEvent;Module["_SDL_PeepEvents"]=_SDL_PeepEvents;Module["_SDL_PumpEvents"]=_SDL_PumpEvents;Module["_emscripten_SDL_SetEventHandler"]=_emscripten_SDL_SetEventHandler;Module["_SDL_SetColors"]=_SDL_SetColors;Module["_SDL_SetPalette"]=_SDL_SetPalette;Module["_SDL_MapRGB"]=_SDL_MapRGB;Module["_SDL_MapRGBA"]=_SDL_MapRGBA;Module["_SDL_GetRGB"]=_SDL_GetRGB;Module["_SDL_GetRGBA"]=_SDL_GetRGBA;Module["_SDL_GetAppState"]=_SDL_GetAppState;Module["_SDL_WM_GrabInput"]=_SDL_WM_GrabInput;Module["_SDL_WM_ToggleFullScreen"]=_SDL_WM_ToggleFullScreen;Module["_IMG_Init"]=_IMG_Init;Module["_IMG_Load_RW"]=_IMG_Load_RW;Module["_SDL_FreeRW"]=_SDL_FreeRW;Module["_SDL_LoadBMP_RW"]=_SDL_LoadBMP_RW;Module["_IMG_Load"]=_IMG_Load;Module["_SDL_RWFromFile"]=_SDL_RWFromFile;Module["_IMG_Quit"]=_IMG_Quit;Module["_SDL_OpenAudio"]=_SDL_OpenAudio;Module["_SDL_PauseAudio"]=_SDL_PauseAudio;Module["_SDL_CloseAudio"]=_SDL_CloseAudio;Module["_SDL_LockAudio"]=_SDL_LockAudio;Module["_SDL_UnlockAudio"]=_SDL_UnlockAudio;Module["_SDL_CreateMutex"]=_SDL_CreateMutex;Module["_SDL_mutexP"]=_SDL_mutexP;Module["_SDL_mutexV"]=_SDL_mutexV;Module["_SDL_DestroyMutex"]=_SDL_DestroyMutex;Module["_SDL_CreateCond"]=_SDL_CreateCond;Module["_SDL_CondSignal"]=_SDL_CondSignal;Module["_SDL_CondWait"]=_SDL_CondWait;Module["_SDL_DestroyCond"]=_SDL_DestroyCond;Module["_SDL_StartTextInput"]=_SDL_StartTextInput;Module["_SDL_StopTextInput"]=_SDL_StopTextInput;Module["_Mix_Init"]=_Mix_Init;Module["_Mix_Quit"]=_Mix_Quit;Module["_Mix_OpenAudio"]=_Mix_OpenAudio;Module["_Mix_CloseAudio"]=_Mix_CloseAudio;Module["_Mix_AllocateChannels"]=_Mix_AllocateChannels;Module["_Mix_ChannelFinished"]=_Mix_ChannelFinished;Module["_Mix_Volume"]=_Mix_Volume;Module["_Mix_SetPanning"]=_Mix_SetPanning;Module["_Mix_LoadWAV_RW"]=_Mix_LoadWAV_RW;Module["_Mix_LoadWAV"]=_Mix_LoadWAV;Module["_Mix_QuickLoad_RAW"]=_Mix_QuickLoad_RAW;Module["_Mix_FreeChunk"]=_Mix_FreeChunk;Module["_Mix_ReserveChannels"]=_Mix_ReserveChannels;Module["_Mix_PlayChannelTimed"]=_Mix_PlayChannelTimed;Module["_Mix_HaltChannel"]=_Mix_HaltChannel;Module["_Mix_FadingChannel"]=_Mix_FadingChannel;Module["_Mix_HookMusicFinished"]=_Mix_HookMusicFinished;Module["_Mix_HaltMusic"]=_Mix_HaltMusic;Module["_Mix_VolumeMusic"]=_Mix_VolumeMusic;Module["_Mix_LoadMUS_RW"]=_Mix_LoadMUS_RW;Module["_Mix_LoadMUS"]=_Mix_LoadMUS;Module["_Mix_FreeMusic"]=_Mix_FreeMusic;Module["_Mix_PlayMusic"]=_Mix_PlayMusic;Module["_Mix_PauseMusic"]=_Mix_PauseMusic;Module["_Mix_ResumeMusic"]=_Mix_ResumeMusic;Module["_Mix_FadeInMusicPos"]=_Mix_FadeInMusicPos;Module["_Mix_FadeOutMusic"]=_Mix_FadeOutMusic;Module["_Mix_PlayingMusic"]=_Mix_PlayingMusic;Module["_Mix_Playing"]=_Mix_Playing;Module["_Mix_Pause"]=_Mix_Pause;Module["_Mix_Paused"]=_Mix_Paused;Module["_Mix_PausedMusic"]=_Mix_PausedMusic;Module["_Mix_Resume"]=_Mix_Resume;Module["_TTF_Init"]=_TTF_Init;Module["_TTF_OpenFont"]=_TTF_OpenFont;Module["_TTF_CloseFont"]=_TTF_CloseFont;Module["_TTF_RenderText_Solid"]=_TTF_RenderText_Solid;Module["_TTF_RenderText_Blended"]=_TTF_RenderText_Blended;Module["_TTF_RenderText_Shaded"]=_TTF_RenderText_Shaded;Module["_TTF_RenderUTF8_Solid"]=_TTF_RenderUTF8_Solid;Module["_TTF_SizeUTF8"]=_TTF_SizeUTF8;Module["_TTF_SizeText"]=_TTF_SizeText;Module["_TTF_GlyphMetrics"]=_TTF_GlyphMetrics;Module["_TTF_FontAscent"]=_TTF_FontAscent;Module["_TTF_FontDescent"]=_TTF_FontDescent;Module["_TTF_FontHeight"]=_TTF_FontHeight;Module["_TTF_FontLineSkip"]=_TTF_FontLineSkip;Module["_TTF_Quit"]=_TTF_Quit;Module["SDL_gfx"]=SDL_gfx;Module["_boxColor"]=_boxColor;Module["_boxRGBA"]=_boxRGBA;Module["_rectangleColor"]=_rectangleColor;Module["_rectangleRGBA"]=_rectangleRGBA;Module["_ellipseColor"]=_ellipseColor;Module["_ellipseRGBA"]=_ellipseRGBA;Module["_filledEllipseColor"]=_filledEllipseColor;Module["_filledEllipseRGBA"]=_filledEllipseRGBA;Module["_lineColor"]=_lineColor;Module["_lineRGBA"]=_lineRGBA;Module["_pixelRGBA"]=_pixelRGBA;Module["_SDL_GL_SetAttribute"]=_SDL_GL_SetAttribute;Module["_SDL_GL_GetAttribute"]=_SDL_GL_GetAttribute;Module["_SDL_GL_SwapBuffers"]=_SDL_GL_SwapBuffers;Module["_SDL_GL_ExtensionSupported"]=_SDL_GL_ExtensionSupported;Module["_SDL_DestroyWindow"]=_SDL_DestroyWindow;Module["_SDL_DestroyRenderer"]=_SDL_DestroyRenderer;Module["_SDL_GetWindowFlags"]=_SDL_GetWindowFlags;Module["_SDL_GL_SwapWindow"]=_SDL_GL_SwapWindow;Module["_SDL_GL_MakeCurrent"]=_SDL_GL_MakeCurrent;Module["_SDL_GL_DeleteContext"]=_SDL_GL_DeleteContext;Module["_SDL_GL_GetSwapInterval"]=_SDL_GL_GetSwapInterval;Module["_SDL_GL_SetSwapInterval"]=_SDL_GL_SetSwapInterval;Module["_SDL_SetWindowTitle"]=_SDL_SetWindowTitle;Module["_SDL_GetWindowSize"]=_SDL_GetWindowSize;Module["_SDL_LogSetOutputFunction"]=_SDL_LogSetOutputFunction;Module["_SDL_SetWindowFullscreen"]=_SDL_SetWindowFullscreen;Module["_SDL_ClearError"]=_SDL_ClearError;Module["_SDL_SetGamma"]=_SDL_SetGamma;Module["_SDL_SetGammaRamp"]=_SDL_SetGammaRamp;Module["_SDL_NumJoysticks"]=_SDL_NumJoysticks;Module["_SDL_JoystickName"]=_SDL_JoystickName;Module["_SDL_JoystickOpen"]=_SDL_JoystickOpen;Module["_SDL_JoystickOpened"]=_SDL_JoystickOpened;Module["_SDL_JoystickIndex"]=_SDL_JoystickIndex;Module["_SDL_JoystickNumAxes"]=_SDL_JoystickNumAxes;Module["_SDL_JoystickNumBalls"]=_SDL_JoystickNumBalls;Module["_SDL_JoystickNumHats"]=_SDL_JoystickNumHats;Module["_SDL_JoystickNumButtons"]=_SDL_JoystickNumButtons;Module["_SDL_JoystickUpdate"]=_SDL_JoystickUpdate;Module["_SDL_JoystickEventState"]=_SDL_JoystickEventState;Module["_SDL_JoystickGetAxis"]=_SDL_JoystickGetAxis;Module["_SDL_JoystickGetHat"]=_SDL_JoystickGetHat;Module["_SDL_JoystickGetBall"]=_SDL_JoystickGetBall;Module["_SDL_JoystickGetButton"]=_SDL_JoystickGetButton;Module["_SDL_JoystickClose"]=_SDL_JoystickClose;Module["_SDL_InitSubSystem"]=_SDL_InitSubSystem;Module["_SDL_RWFromConstMem"]=_SDL_RWFromConstMem;Module["_SDL_RWFromMem"]=_SDL_RWFromMem;Module["_SDL_GetNumAudioDrivers"]=_SDL_GetNumAudioDrivers;Module["_SDL_GetCurrentAudioDriver"]=_SDL_GetCurrentAudioDriver;Module["_SDL_GetScancodeFromKey"]=_SDL_GetScancodeFromKey;Module["_SDL_GetAudioDriver"]=_SDL_GetAudioDriver;Module["_SDL_EnableUNICODE"]=_SDL_EnableUNICODE;Module["_SDL_AddTimer"]=_SDL_AddTimer;Module["_SDL_RemoveTimer"]=_SDL_RemoveTimer;Module["_SDL_CreateThread"]=_SDL_CreateThread;Module["_SDL_WaitThread"]=_SDL_WaitThread;Module["_SDL_GetThreadID"]=_SDL_GetThreadID;Module["_SDL_ThreadID"]=_SDL_ThreadID;Module["_SDL_AllocRW"]=_SDL_AllocRW;Module["_SDL_CondBroadcast"]=_SDL_CondBroadcast;Module["_SDL_CondWaitTimeout"]=_SDL_CondWaitTimeout;Module["_SDL_WM_IconifyWindow"]=_SDL_WM_IconifyWindow;Module["_Mix_SetPostMix"]=_Mix_SetPostMix;Module["_Mix_VolumeChunk"]=_Mix_VolumeChunk;Module["_Mix_SetPosition"]=_Mix_SetPosition;Module["_Mix_QuerySpec"]=_Mix_QuerySpec;Module["_Mix_FadeInChannelTimed"]=_Mix_FadeInChannelTimed;Module["_Mix_FadeOutChannel"]=_Mix_FadeOutChannel;Module["_Mix_Linked_Version"]=_Mix_Linked_Version;Module["_SDL_SaveBMP_RW"]=_SDL_SaveBMP_RW;Module["_SDL_WM_SetIcon"]=_SDL_WM_SetIcon;Module["_SDL_HasRDTSC"]=_SDL_HasRDTSC;Module["_SDL_HasMMX"]=_SDL_HasMMX;Module["_SDL_HasMMXExt"]=_SDL_HasMMXExt;Module["_SDL_Has3DNow"]=_SDL_Has3DNow;Module["_SDL_Has3DNowExt"]=_SDL_Has3DNowExt;Module["_SDL_HasSSE"]=_SDL_HasSSE;Module["_SDL_HasSSE2"]=_SDL_HasSSE2;Module["_SDL_HasAltiVec"]=_SDL_HasAltiVec;var ASM_CONSTS={3472607:()=>{throw new Error("intentionally triggered fatal error!")},3472664:()=>{wasmImports["open64"]=wasmImports["open"]},3472713:()=>jspiSupported};function console_error(msg){let jsmsg=UTF8ToString(msg);console.error(jsmsg)}function console_error_obj(obj){console.error(obj)}function new_error(type,msg,err){return new API.PythonError(UTF8ToString(type),msg,err)}new_error.sig="eiei";function fail_test(){API.fail_test=true}fail_test.sig="v";function capture_stderr(){API.capture_stderr()}capture_stderr.sig="v";function restore_stderr(){return API.restore_stderr()}restore_stderr.sig="e";function raw_call_js(func){func()}raw_call_js.sig="ve";function hiwire_invalid_ref_js(type,ref){API.fail_test=!!1;if(type===1&&!ref){if(_PyErr_Occurred()){const e=_wrap_exception();console.error("Pyodide internal error: Argument to hiwire_get is falsy. This was "+"probably because the Python error indicator was set when get_value was "+"called. The Python error that caused this was:",e);throw e}else{const msg="Pyodide internal error: Argument to hiwire_get is falsy (but error "+"indicator is not set).";console.error(msg);throw new Error(msg)}}const typestr={[1]:"get",[2]:"incref",[3]:"decref"}[type];const msg=`hiwire_${typestr} on invalid reference ${ref}. This is most likely due `+"to use after free. It may also be due to memory corruption.";console.error(msg);throw new Error(msg)}hiwire_invalid_ref_js.sig="vii";function set_pyodide_module(mod){API._pyodide=mod}set_pyodide_module.sig="ve";function js2python_immutable_js(value){try{let result=Module.js2python_convertImmutable(value);if(result!==undefined){return result}return 0}catch(e){Module.handle_js_error(e);return 0}errNoRet()}js2python_immutable_js.sig="ie";function js2python_js(value){try{let result=Module.js2python_convertImmutable(value);if(result!==undefined){return result}return _JsProxy_create(value)}catch(e){Module.handle_js_error(e);return 0}errNoRet()}js2python_js.sig="ie";function js2python_convert(v,depth,defaultConverter){try{return Module.js2python_convert(v,{depth,defaultConverter})}catch(e){Module.handle_js_error(e);return 0}errNoRet()}js2python_convert.sig="ieie";function isReservedWord(word){if(!Module.pythonReservedWords){Module.pythonReservedWords=new Set(["False","await","else","import","pass","None","break","except","in","raise","True","class","finally","is","return","and","continue","for","lambda","try","as","def","from","nonlocal","while","assert","del","global","not","with","async","elif","if","or","yield"])}return Module.pythonReservedWords.has(word)}function normalizeReservedWords(word){const noTrailing_=word.replace(/_*$/,"");if(!isReservedWord(noTrailing_)){return word}if(noTrailing_!==word){return word.slice(0,-1)}return word}function JsProxy_GetAttr_js(jsobj,ptrkey){try{const jskey=normalizeReservedWords(UTF8ToString(ptrkey));const result=jsobj[jskey];if(result===undefined&&!(jskey in jsobj)){return Module.error}return result}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_GetAttr_js.sig="eei";function JsProxy_SetAttr_js(jsobj,ptrkey,jsval){try{let jskey=normalizeReservedWords(UTF8ToString(ptrkey));jsobj[jskey]=jsval}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_SetAttr_js.sig="ieie";function JsProxy_DelAttr_js(jsobj,ptrkey){try{let jskey=normalizeReservedWords(UTF8ToString(ptrkey));delete jsobj[jskey]}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_DelAttr_js.sig="iei";function JsProxy_GetIter_js(obj){try{return obj[Symbol.iterator]()}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_GetIter_js.sig="ee";function handle_next_result_js(res,done,msg){try{let errmsg;if(typeof res!=="object"){errmsg=`Result should have type "object" not "${typeof res}"`}else if(typeof res.done==="undefined"){if(typeof res.then==="function"){errmsg=`Result was a promise, use anext() / asend() / athrow() instead.`}else{errmsg=`Result has no "done" field.`}}if(errmsg){HEAPU32[(msg>>2)+0>>>0]=stringToNewUTF8(errmsg);HEAPU32[(done>>2)+0>>>0]=-1}HEAPU32[(done>>2)+0>>>0]=res.done;return res.value}catch(e){Module.handle_js_error(e);return-1}return 0}handle_next_result_js.sig="eeii";function JsException_new_helper(name_ptr,message_ptr,stack_ptr){try{let name=UTF8ToString(name_ptr);let message=UTF8ToString(message_ptr);let stack=UTF8ToString(stack_ptr);return API.deserializeError(name,message,stack)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsException_new_helper.sig="eiii";function JsProxy_GetAsyncIter_js(obj){try{return obj[Symbol.asyncIterator]()}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_GetAsyncIter_js.sig="ee";function _agen_handle_result_js(p,msg,set_result,set_exception,closing){try{let errmsg;if(typeof p!=="object"){errmsg=`Result of anext() should be object not ${typeof p}`}else if(typeof p.then!=="function"){if(typeof p.done==="boolean"){errmsg=`Result of anext() was not a promise, use next() instead.`}else{errmsg=`Result of anext() was not a promise.`}}if(errmsg){HEAPU32[(msg>>2)+0>>>0]=stringToNewUTF8(errmsg);return-1}_Py_IncRef(set_result);_Py_IncRef(set_exception);p.then(({done,value})=>{__agen_handle_result_js_c(set_result,set_exception,done,value,closing)},err=>{__agen_handle_result_js_c(set_result,set_exception,-1,err,closing)}).finally(()=>{_Py_DecRef(set_result);_Py_DecRef(set_exception)});return 0}catch(e){Module.handle_js_error(e);return-1}return 0}_agen_handle_result_js.sig="ieiiii";function get_length_helper(val){try{let result;if(typeof val.size==="number"){result=val.size}else if(typeof val.length==="number"){result=val.length}else{return-2}if(result<0){return-3}if(result>2147483647){return-4}return result}catch(e){Module.handle_js_error(e);return-1}return 0}get_length_helper.sig="ie";function get_length_string(val){try{let result;if(typeof val.size==="number"){result=val.size}else if(typeof val.length==="number"){result=val.length}return stringToNewUTF8(" "+result.toString())}catch(e){Module.handle_js_error(e);return 0}errNoRet()}get_length_string.sig="ie";function destroy_jsarray_entries(array){for(let v of array){try{if(typeof v.destroy==="function"){v.destroy()}}catch(e){console.warn("Weird error:",e)}}}destroy_jsarray_entries.sig="ve";function JsArray_repeat_js(o,count){try{return Array.from({length:count},()=>o).flat()}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsArray_repeat_js.sig="eei";function JsArray_inplace_repeat_js(o,count){try{o.splice(0,o.length,...Array.from({length:count},()=>o).flat())}catch(e){Module.handle_js_error(e);return-1}return 0}JsArray_inplace_repeat_js.sig="iei";function JsArray_reversed_iterator(array){return new ReversedIterator(array)}class ReversedIterator{constructor(array){this._array=array;this._i=array.length-1}__length_hint__(){return this._array.length}[Symbol.toStringTag](){return"ReverseIterator"}next(){const i=this._i;const a=this._array;const done=i<0;const value=done?undefined:a[i];this._i--;return{done,value}}}JsArray_reversed_iterator.sig="ee";function JsArray_index_js(o,v,start,stop){try{for(let i=start;i{let c=s.charCodeAt(0);return c<48||c>57}).map(word=>isReservedWord(word.replace(/_*$/,""))?word+"_":word))}while(jsobj=Object.getPrototypeOf(jsobj));return result}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_Dir_js.sig="ee";function JsProxy_Bool_js(val){try{if(!val){return!!0}if(val.size===0){if(/HTML[A-Za-z]*Element/.test(getTypeTag(val))){return!!1}return!!0}if(val.length===0&&JsvArray_Check(val)){return!!0}if(val.byteLength===0){return!!0}return!!1}catch(e){return!!0}}JsProxy_Bool_js.sig="ie";function JsObjMap_GetIter_js(obj){try{return Module.iterObject(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsObjMap_GetIter_js.sig="ee";function JsObjMap_length_js(obj){try{let length=0;for(let _ of Module.iterObject(obj)){length++}return length}catch(e){Module.handle_js_error(e);return-1}return 0}JsObjMap_length_js.sig="ie";function JsObjMap_subscript_js(obj,key){try{if(!Object.prototype.hasOwnProperty.call(obj,key)){return Module.error}return obj[key]}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsObjMap_subscript_js.sig="eee";function JsObjMap_ass_subscript_js(obj,key,value){try{if(value===Module.error){if(!Object.prototype.hasOwnProperty.call(obj,key)){return-1}delete obj[key]}else{obj[key]=value}return 0}catch(e){Module.handle_js_error(e);return-1}return 0}JsObjMap_ass_subscript_js.sig="ieee";function JsObjMap_contains_js(obj,key){try{return Object.prototype.hasOwnProperty.call(obj,key)}catch(e){Module.handle_js_error(e);return-1}return 0}JsObjMap_contains_js.sig="iee";function JsModule_GetAll_js(o){try{return Object.getOwnPropertyNames(o)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsModule_GetAll_js.sig="ee";function JsBuffer_DecodeString_js(buffer,encoding){try{let encoding_js;if(encoding){encoding_js=UTF8ToString(encoding)}const decoder=new TextDecoder(encoding_js,{fatal:!!1,ignoreBOM:!!1});let res;try{res=decoder.decode(buffer)}catch(e){if(e instanceof TypeError){return Module.error}throw e}return res}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsBuffer_DecodeString_js.sig="eei";function JsBuffer_get_info(jsobj,byteLength_ptr,format_ptr,size_ptr,checked_ptr){const[format_utf8,size,checked]=Module.get_buffer_datatype(jsobj);HEAPU32[(byteLength_ptr>>2)+0>>>0]=jsobj.byteLength;HEAPU32[(format_ptr>>2)+0>>>0]=format_utf8;HEAPU32[(size_ptr>>2)+0>>>0]=size;HEAPU8[checked_ptr+0>>>0]=checked}JsBuffer_get_info.sig="veiiii";function JsDoubleProxy_unwrap_js(id){try{return Module.PyProxy_getPtr(id)}catch(e){Module.handle_js_error(e);return 0}errNoRet()}JsDoubleProxy_unwrap_js.sig="ie";function JsProxy_to_weakref_js(pyproxy){try{return new WeakRef(pyproxy)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsProxy_to_weakref_js.sig="ee";function JsProxy_compute_typeflags(obj,is_py_json){try{let type_flags=0;if(API.isPyProxy(obj)&&!pyproxyIsAlive(obj)){return 0}const typeTag=getTypeTag(obj);function safeBool(cb){try{return cb()}catch(e){return!!0}}const isBufferView=safeBool(()=>ArrayBuffer.isView(obj));const isArray=safeBool(()=>Array.isArray(obj));const constructorName=safeBool(()=>obj.constructor.name)||"";if(typeof obj==="function"){type_flags|=1<<9}if(hasMethod(obj,"then")){type_flags|=1<<7}if(hasMethod(obj,Symbol.iterator)){type_flags|=1<<0}if(hasMethod(obj,Symbol.asyncIterator)){type_flags|=1<<15}if(hasMethod(obj,"next")&&(hasMethod(obj,Symbol.iterator)||!hasMethod(obj,Symbol.asyncIterator))){type_flags|=1<<1}if(hasMethod(obj,"next")&&(!hasMethod(obj,Symbol.iterator)||hasMethod(obj,Symbol.asyncIterator))){type_flags|=1<<18}if(hasProperty(obj,"size")||hasProperty(obj,"length")&&typeof obj!=="function"){type_flags|=1<<2}if(hasMethod(obj,"get")){type_flags|=1<<3}if(hasMethod(obj,"set")){type_flags|=1<<4}if(hasMethod(obj,"has")){type_flags|=1<<5}if(hasMethod(obj,"includes")){type_flags|=1<<6}if((isBufferView||typeTag==="[object ArrayBuffer]")&&!(type_flags&1<<9)){type_flags|=1<<8}if(API.isPyProxy(obj)){type_flags|=1<<13}if(isArray){type_flags|=1<<10}if(typeTag==="[object HTMLCollection]"||typeTag==="[object NodeList]"){type_flags|=1<<11}if(isBufferView&&typeTag!=="[object DataView]"){type_flags|=1<<12}if(typeTag==="[object Generator]"){type_flags|=1<<16}if(typeTag==="[object AsyncGenerator]"){type_flags|=1<<17}if(hasProperty(obj,"name")&&hasProperty(obj,"message")&&(hasProperty(obj,"stack")||constructorName==="DOMException")&&!(type_flags&(1<<9|1<<8))){type_flags|=1<<19}if(is_py_json&&type_flags&(1<<10|1<<11|1<<1)){type_flags|=1<<21}if(is_py_json&&!(type_flags&(1<<10|1<<12|1<<11|1<<8|1<<13|1<<1|1<<9|1<<19))){type_flags|=1<<20}return type_flags}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_compute_typeflags.sig="iei";function is_comlink_proxy(obj){try{return!!(API.Comlink&&value[API.Comlink.createEndpoint])}catch(e){return!!0}}is_comlink_proxy.sig="ie";function can_run_sync_js(){return!!validSuspender.value}can_run_sync_js.sig="i";function my_dict_converter(){return Object.fromEntries}my_dict_converter.sig="e";function get_async_js_call_done_callback(proxies){try{return function(result){let msg="This borrowed proxy was automatically destroyed "+"at the end of an asynchronous function call. Try "+"using create_proxy or create_once_callable.";for(let px of proxies){Module.pyproxy_destroy(px,msg,!!0)}if(API.isPyProxy(result)){Module.pyproxy_destroy(result,msg,!!0)}}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}get_async_js_call_done_callback.sig="ee";function wrap_generator(gen,proxies){try{proxies=new Set(proxies);const msg="This borrowed proxy was automatically destroyed "+"when a generator completed execution. Try "+"using create_proxy or create_once_callable.";function cleanup(){proxies.forEach(px=>Module.pyproxy_destroy(px,msg))}function wrap(funcname){return function(val){if(API.isPyProxy(val)){val=val.copy();proxies.add(val)}let res;try{res=gen[funcname](val)}catch(e){cleanup();throw e}if(res.done){proxies.delete(res.value);cleanup()}return res}}return{get[Symbol.toStringTag](){return"Generator"},[Symbol.iterator](){return this},next:wrap("next"),throw:wrap("throw"),return:wrap("return")}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}wrap_generator.sig="eee";function wrap_async_generator(gen,proxies){try{proxies=new Set(proxies);const msg="This borrowed proxy was automatically destroyed "+"when an asynchronous generator completed execution. Try "+"using create_proxy or create_once_callable.";function cleanup(){proxies.forEach(px=>Module.pyproxy_destroy(px,msg))}function wrap(funcname){return async function(val){if(API.isPyProxy(val)){val=val.copy();proxies.add(val)}let res;try{res=await gen[funcname](val)}catch(e){cleanup();throw e}if(res.done){proxies.delete(res.value);cleanup()}return res}}return{get[Symbol.toStringTag](){return"AsyncGenerator"},[Symbol.asyncIterator](){return this},next:wrap("next"),throw:wrap("throw"),return:wrap("return")}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}wrap_async_generator.sig="eee";function throw_no_gil(){throw new API.NoGilError("Attempted to use PyProxy when Python GIL not held")}throw_no_gil.sig="v";function pyproxy_Check(val){return API.isPyProxy(val)}pyproxy_Check.sig="ie";function pyproxy_AsPyObject(val){if(!API.isPyProxy(val)||!pyproxyIsAlive(val)){return 0}return Module.PyProxy_getPtr(val)}pyproxy_AsPyObject.sig="ie";function destroy_proxies(proxies,msg_ptr){let msg=undefined;if(msg_ptr){msg=_JsvString_FromId(msg_ptr)}for(let px of proxies){Module.pyproxy_destroy(px,msg,false)}}destroy_proxies.sig="vei";function gc_register_proxies(proxies){for(let px of proxies){Module.gc_register_proxy(Module.PyProxy_getAttrs(px).shared)}}gc_register_proxies.sig="ve";function destroy_proxy(px,msg_ptr){const{shared,props}=Module.PyProxy_getAttrsQuiet(px);if(!shared.ptr){return}if(props.roundtrip){return}let msg=undefined;if(msg_ptr){msg=_JsvString_FromId(msg_ptr)}Module.pyproxy_destroy(px,msg,false)}destroy_proxy.sig="vei";function proxy_cache_get(proxyCache,descr){const proxy=proxyCache.get(descr);if(!proxy){return Module.error}if(pyproxyIsAlive(proxy)){return proxy}else{proxyCache.delete(descr);return Module.error}}proxy_cache_get.sig="eei";function proxy_cache_set(proxyCache,descr,proxy){proxyCache.set(descr,proxy)}proxy_cache_set.sig="veie";function _pyproxyGen_make_result(done,value){return{done:!!done,value}}_pyproxyGen_make_result.sig="eie";function array_to_js(array,len){return Array.from(HEAP32.subarray(array/4>>>0,array/4+len>>>0))}array_to_js.sig="eii";function _pyproxy_get_buffer_result(start_ptr,smallest_ptr,largest_ptr,readonly,format,itemsize,shape,strides,view,c_contiguous,f_contiguous,sentinel){format=UTF8ToString(format);return{start_ptr,smallest_ptr,largest_ptr,readonly,format,itemsize,shape,strides,view,c_contiguous,f_contiguous}}_pyproxy_get_buffer_result.sig="eiiiiiieeiiii";function pyproxy_new_ex(ptrobj,capture_this,roundtrip,gcRegister,jsonAdaptor){try{return Module.pyproxy_new(ptrobj,{props:{captureThis:!!capture_this,roundtrip:!!roundtrip},gcRegister,jsonAdaptor})}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}pyproxy_new_ex.sig="eiiiii";function pyproxy_new(ptrobj){try{return Module.pyproxy_new(ptrobj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}pyproxy_new.sig="ei";function create_once_callable(obj,may_syncify){try{_Py_IncRef(obj);let alreadyCalled=!!0;function wrapper(...args){if(alreadyCalled){throw new Error("OnceProxy can only be called once")}try{if(may_syncify){return Module.callPyObjectMaybePromising(obj,args)}else{return Module.callPyObject(obj,args)}}finally{wrapper.destroy()}}wrapper.destroy=function(){if(alreadyCalled){throw new Error("OnceProxy has already been destroyed")}alreadyCalled=!!1;Module.finalizationRegistry.unregister(wrapper);_Py_DecRef(obj)};Module.finalizationRegistry.register(wrapper,[obj,undefined],wrapper);return wrapper}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}create_once_callable.sig="eii";function create_promise_handles(handle_result,handle_exception,done_callback,js2py_converter){try{if(handle_result){_Py_IncRef(handle_result)}if(handle_exception){_Py_IncRef(handle_exception)}if(js2py_converter){_Py_IncRef(js2py_converter)}if(!done_callback){done_callback=x=>{}}let used=!!0;function checkUsed(){if(used){throw new Error("One of the promise handles has already been called.")}}function destroy(){checkUsed();used=!!1;if(handle_result){_Py_DecRef(handle_result)}if(handle_exception){_Py_DecRef(handle_exception)}if(js2py_converter){_Py_DecRef(js2py_converter)}}function onFulfilled(res){checkUsed();try{if(handle_result){return _create_promise_handles_result_helper(handle_result,js2py_converter,res)}}finally{done_callback(res);destroy()}}function onRejected(err){checkUsed();try{if(handle_exception){return Module.callPyObjectMaybePromising(handle_exception,[err])}}finally{done_callback(undefined);destroy()}}onFulfilled.destroy=destroy;onRejected.destroy=destroy;return[onFulfilled,onRejected]}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}create_promise_handles.sig="eiiei";function _python2js_buffer_inner(buf,itemsize,ndim,format,shape,strides,suboffsets){try{let converter=Module.get_converter(format,itemsize);return Module._python2js_buffer_recursive(buf,0,{ndim,format,itemsize,shape,strides,suboffsets,converter})}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_python2js_buffer_inner.sig="eiiiiiii";function jslib_init_js(){try{HEAP32[_Jsr_undefined/4>>>0]=_hiwire_intern(undefined);HEAP32[_Jsr_true/4>>>0]=_hiwire_intern(true);HEAP32[_Jsr_false/4>>>0]=_hiwire_intern(false);HEAP32[_Jsr_error/4>>>0]=_hiwire_intern(_Jsv_GetNull());HEAP32[_Jsr_novalue/4>>>0]=_hiwire_intern({noValueMarker:1});Module.novalue=_hiwire_get(HEAP32[_Jsr_novalue/4>>>0]);Module.error=_hiwire_get(HEAP32[_Jsr_error/4>>>0]);Hiwire.num_keys=_hiwire_num_refs;return 0}catch(e){Module.handle_js_error(e);return-1}return 0}jslib_init_js.sig="i";function JsvNoValue_Check(v){return v===Module.novalue}JsvNoValue_Check.sig="ie";function JsvNum_fromInt(x){return x}JsvNum_fromInt.sig="ei";function JsvNum_fromDouble(val){return val}JsvNum_fromDouble.sig="ed";function JsvNum_fromDigits(digits,ndigits){let result=BigInt(0);for(let i=0;i>2)+i>>>0])<>2)+ndigits-1>>>0]&2147483648)<=arr.length){return Module.error}return arr.splice(idx,1)[0]}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvArray_Delete.sig="eei";function JsvArray_Push(arr,obj){return arr.push(obj)}JsvArray_Push.sig="iee";function JsvArray_Extend(arr,vals){arr.push(...vals)}JsvArray_Extend.sig="vee";function JsvArray_Insert(arr,idx,value){try{arr.splice(idx,0,value)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvArray_Insert.sig="ieie";function JsvArray_ShallowCopy(arr){try{return"slice"in arr?arr.slice():Array.from(arr)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvArray_ShallowCopy.sig="ee";function JsvArray_slice(obj,length,start,stop,step){try{let result;if(step===1){result=obj.slice(start,stop)}else{result=Array.from({length},(_,i)=>obj[start+i*step])}return result}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvArray_slice.sig="eeiiii";function JsvArray_slice_assign(obj,slicelength,start,stop,step,values_length,values){try{let jsvalues=[];for(let i=0;i>2)+i>>>0]);if(ref===Module.error){return-1}jsvalues.push(ref)}if(step===1){obj.splice(start,slicelength,...jsvalues)}else{if(values!==0){for(let i=0;i=0;i--){obj.splice(start+i*step,1)}}}}catch(e){Module.handle_js_error(e);return-1}return 0}JsvArray_slice_assign.sig="ieiiiiii";function JsvObject_New(){return{}}JsvObject_New.sig="e";function JsvObject_SetAttr(obj,attr,value){try{obj[attr]=value}catch(e){Module.handle_js_error(e);return-1}return 0}JsvObject_SetAttr.sig="ieee";function JsvObject_Entries(obj){try{return Object.entries(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_Entries.sig="ee";function JsvObject_Keys(obj){try{return Object.keys(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_Keys.sig="ee";function JsvObject_Values(obj){try{return Object.values(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_Values.sig="ee";function JsvObject_toString(obj){try{if(hasMethod(obj,"toString")){return obj.toString()}return Object.prototype.toString.call(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_toString.sig="ee";function JsvObject_CallMethod(obj,meth,args){try{return obj[meth](...args)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_CallMethod.sig="eeee";function JsvObject_CallMethod_NoArgs(obj,meth){try{return obj[meth]()}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_CallMethod_NoArgs.sig="eee";function JsvObject_CallMethod_OneArg(obj,meth,arg){try{return obj[meth](arg)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_CallMethod_OneArg.sig="eeee";function JsvObject_CallMethod_TwoArgs(obj,meth,arg1,arg2){try{return obj[meth](arg1,arg2)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvObject_CallMethod_TwoArgs.sig="eeeee";function JsvFunction_Check(obj){try{return typeof obj==="function"}catch(e){return false}}JsvFunction_Check.sig="ie";function JsvFunction_CallBound(func,this_,args){try{return Function.prototype.apply.apply(func,[this_,args])}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvFunction_CallBound.sig="eeee";function JsvFunction_Call_OneArg(func,arg){try{return func(arg)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvFunction_Call_OneArg.sig="eee";function JsvFunction_Construct(func,args){try{return Reflect.construct(func,args)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvFunction_Construct.sig="eee";function JsvPromise_Check(obj){try{return isPromise(obj)}catch(e){return false}}JsvPromise_Check.sig="ie";function JsvPromise_Resolve(obj){try{return Promise.resolve(obj)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvPromise_Resolve.sig="ee";function jslib_init_buffers_js(){try{const dtypes_str=Array.from("bBhHiIqQfd").join(String.fromCharCode(0));const dtypes_ptr=stringToNewUTF8(dtypes_str);const dtypes_map=Object.fromEntries(Object.entries(dtypes_str).map(([idx,val])=>[val,dtypes_ptr+ +idx]));const buffer_datatype_map=new Map([["Int8Array",[dtypes_map["b"],1,true]],["Uint8Array",[dtypes_map["B"],1,true]],["Uint8ClampedArray",[dtypes_map["B"],1,true]],["Int16Array",[dtypes_map["h"],2,true]],["Uint16Array",[dtypes_map["H"],2,true]],["Int32Array",[dtypes_map["i"],4,true]],["Uint32Array",[dtypes_map["I"],4,true]],["Float32Array",[dtypes_map["f"],4,true]],["Float64Array",[dtypes_map["d"],8,true]],["BigInt64Array",[dtypes_map["q"],8,true]],["BigUint64Array",[dtypes_map["Q"],8,true]],["DataView",[dtypes_map["B"],1,false]],["ArrayBuffer",[dtypes_map["B"],1,false]]]);Module.get_buffer_datatype=function(jsobj){return buffer_datatype_map.get(jsobj.constructor.name)||[0,0,false]}}catch(e){Module.handle_js_error(e);return-1}return 0}jslib_init_buffers_js.sig="i";function JsvBuffer_assignToPtr(buf,ptr){try{Module.HEAPU8.set(bufferAsUint8Array(buf),ptr)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_assignToPtr.sig="iei";function JsvBuffer_assignFromPtr(buf,ptr){try{bufferAsUint8Array(buf).set(Module.HEAPU8.subarray(ptr,ptr+buf.byteLength))}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_assignFromPtr.sig="iei";function JsvBuffer_readFromFile(buf,fd){try{let uint8_buf=bufferAsUint8Array(buf);let stream=Module.FS.streams[fd];Module.FS.read(stream,uint8_buf,0,uint8_buf.byteLength)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_readFromFile.sig="iei";function JsvBuffer_writeToFile(buf,fd){try{let uint8_buf=bufferAsUint8Array(buf);let stream=Module.FS.streams[fd];Module.FS.write(stream,uint8_buf,0,uint8_buf.byteLength)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_writeToFile.sig="iei";function JsvBuffer_intoFile(buf,fd){try{let uint8_buf=bufferAsUint8Array(buf);let stream=Module.FS.streams[fd];Module.FS.write(stream,uint8_buf,0,uint8_buf.byteLength,undefined,true)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_intoFile.sig="iei";function JsvGenerator_Check(obj){try{return getTypeTag(obj)==="[object Generator]"}catch(e){return false}}JsvGenerator_Check.sig="ie";function JsvAsyncGenerator_Check(obj){try{return getTypeTag(obj)==="[object AsyncGenerator]"}catch(e){return false}}JsvAsyncGenerator_Check.sig="ie";function JsvError_Throw(e){throw e}JsvError_Throw.sig="ve";function Jsv_less_than(a,b){try{return!!(ab)}catch(e){return false}}Jsv_greater_than.sig="iee";function Jsv_greater_than_equal(a,b){try{return!!(a>=b)}catch(e){return false}}Jsv_greater_than_equal.sig="iee";function JsvMap_New(){try{return new Map}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvMap_New.sig="e";function JsvLiteralMap_New(){try{return new API.LiteralMap}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvLiteralMap_New.sig="e";function JsvMap_Set(map,key,val){try{map.set(key,val)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvMap_Set.sig="ieee";function JsvSet_New(){try{return new Set}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}JsvSet_New.sig="e";function JsvSet_Add(set,val){try{set.add(val)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvSet_Add.sig="iee";function _python2js_addto_postprocess_list(list,parent,key,value){list.push([parent,key,value])}_python2js_addto_postprocess_list.sig="veeei";function _python2js_handle_postprocess_list(list,cache){for(const[parent,key,ptr]of list){let val=cache.get(ptr);if(parent.constructor.name==="LiteralMap"){parent.set(key,val)}else{parent[key]=val}}}_python2js_handle_postprocess_list.sig="vee";function _python2js_ucs1(ptr,len){try{let jsstr="";for(let i=0;i>>0])}return jsstr}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_python2js_ucs1.sig="eii";function _python2js_ucs2(ptr,len){try{let jsstr="";for(let i=0;i>1)+i>>>0])}return jsstr}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_python2js_ucs2.sig="eii";function _python2js_ucs4(ptr,len){try{let jsstr="";for(let i=0;i>2)+i>>>0])}return jsstr}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_python2js_ucs4.sig="eii";function _python2js_add_to_cache(cache,pyparent,jsparent){try{cache.set(pyparent,jsparent)}catch(e){Module.handle_js_error(e);return-1}return 0}_python2js_add_to_cache.sig="ieie";function _python2js_cache_lookup(cache,pyparent){return cache.get(pyparent)||Module.error}_python2js_cache_lookup.sig="eei";function _JsArray_PushEntry_helper(array,key,value){try{array.push([key,value])}catch(e){Module.handle_js_error(e);return-1}return 0}_JsArray_PushEntry_helper.sig="ieee";function _JsArray_PostProcess_helper(jscontext,array){try{return jscontext.dict_converter(array)}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}_JsArray_PostProcess_helper.sig="eee";function python2js__default_converter_js(jscontext,object){try{let proxy=Module.pyproxy_new(object);try{return jscontext.default_converter(proxy,jscontext.converter,jscontext.cacheConversion)}finally{proxy.destroy()}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}python2js__default_converter_js.sig="eei";function python2js__eager_converter_js(jscontext,object){try{if(jscontext.eager_visited.has(object)){return Module.novalue}jscontext.eager_visited.add(object);const proxy=Module.pyproxy_new(object);try{return jscontext.eager_converter(proxy,jscontext.converter,jscontext.cacheConversion)}finally{proxy.destroy()}}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}python2js__eager_converter_js.sig="eei";function python2js_custom__create_jscontext(context,cache,dict_converter,default_converter,eager_converter){try{const jscontext={};if(dict_converter){jscontext.dict_converter=dict_converter}if(default_converter){jscontext.default_converter=default_converter;jscontext.cacheConversion=function(input,output){if(!API.isPyProxy(input)){throw new TypeError("The first argument to cacheConversion must be a PyProxy.")}const input_ptr=Module.PyProxy_getPtr(input);cache.set(input_ptr,output)}}if(eager_converter){jscontext.eager_converter=eager_converter;jscontext.eager_visited=new Set}if(default_converter||eager_converter){jscontext.converter=function(x){if(!API.isPyProxy(x)){return x}const ptr=Module.PyProxy_getPtr(x);let res;try{res=__python2js(context,ptr)}catch(e){API.fatal_error(e)}if(res===Module.error){_pythonexc2js()}return res}}return jscontext}catch(e){Module.handle_js_error(e);return Module.error}errNoRet()}python2js_custom__create_jscontext.sig="eieeee";function destroy_proxies_js(proxies_id){try{for(const proxy of proxies_id){proxy.destroy()}}catch(e){Module.handle_js_error(e);return-1}return 0}destroy_proxies_js.sig="ie";function pyodide_js_init(){"use strict";(()=>{var Br=Object.create;var Ge=Object.defineProperty;var jr=Object.getOwnPropertyDescriptor;var Hr=Object.getOwnPropertyNames;var Wr=Object.getPrototypeOf,zr=Object.prototype.hasOwnProperty;var a=(t,e)=>Ge(t,"name",{value:e,configurable:!0}),b=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Gr=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Hr(e))!zr.call(t,o)&&o!==r&&Ge(t,o,{get:()=>e[o],enumerable:!(n=jr(e,o))||n.enumerable});return t};var k=(t,e,r)=>(r=t!=null?Br(Wr(t)):{},Gr(e||!t||!t.__esModule?Ge(r,"default",{value:t,enumerable:!0}):r,t));function Kr(t){return!isNaN(parseFloat(t))&&isFinite(t)}a(Kr,"_isNumber");function D(t){return t.charAt(0).toUpperCase()+t.substring(1)}a(D,"_capitalize");function Ke(t){return function(){return this[t]}}a(Ke,"_getter");var $=["isConstructor","isEval","isNative","isToplevel"],C=["columnNumber","lineNumber"],U=["fileName","functionName","source"],Jr=["args"],Vr=["evalOrigin"],se=$.concat(C,U,Jr,Vr);function v(t){if(t)for(var e=0;e-1&&(i=i.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var s=i.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),l=s.match(/ (\(.+\)$)/);s=l?s.replace(l[0],""):s;var c=this.extractLocation(l?l[1]:s),u=l&&s||void 0,y=["eval",""].indexOf(c[0])>-1?void 0:c[0];return new le({functionName:u,fileName:y,lineNumber:c[1],columnNumber:c[2],source:i})},this)},"ErrorStackParser$$parseV8OrIE"),parseFFOrSafari:a(function(n){var o=n.stack.split(`\n`).filter(function(i){return!i.match(e)},this);return o.map(function(i){if(i.indexOf(" > eval")>-1&&(i=i.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),i.indexOf("@")===-1&&i.indexOf(":")===-1)return new le({functionName:i});var s=/((.*".+"[^@]*)?[^@]*)(?:@)/,l=i.match(s),c=l&&l[1]?l[1]:void 0,u=this.extractLocation(i.replace(s,""));return new le({functionName:c,fileName:u[0],lineNumber:u[1],columnNumber:u[2],source:i})},this)},"ErrorStackParser$$parseFFOrSafari")}}a(qr,"ErrorStackParser");var Yr=new qr;var Je=Yr;function Rt(t){if(typeof t=="string")t=new Error(t);else if(t&&typeof t=="object"&&t.name==="ExitStatus"){let e=t.status;t=new W(t.message),t.status=e}else if(typeof t!="object"||t===null||typeof t.stack!="string"||typeof t.message!="string"){let e=API.getTypeTag(t),r=`A value of type ${typeof t} with tag ${e} was thrown as an error!`;try{r+=`\nString interpolation of the thrown value gives """${t}""".`}catch{r+=`\nString interpolation of the thrown value fails.`}try{r+=`\nThe thrown value's toString method returns """${t.toString()}""".`}catch{r+=`\nThe thrown value's toString method fails.`}t=new Error(r)}return t}a(Rt,"ensureCaughtObjectIsError");var Ve=class extends Error{static{a(this,"CppException")}constructor(e,r,n){let o=Module.getCppExceptionThrownObjectFromWebAssemblyException(n);r||(r=`The exception is an object of type ${e} at address ${o} which does not inherit from std::exception`),super(r),this.ty=e}get name(){return`${this.constructor.name} ${this.ty}`}},Qr=WebAssembly.Exception,Xr=a(t=>t instanceof Qr,"isWasmException");function Lt(t){let[e,r]=Module.getExceptionMessage(t);return new Ve(e,r,t)}a(Lt,"convertCppException");Tests.convertCppException=Lt;var Nt=!1;API.fatal_error=function(t){if(t&&t.pyodide_fatal_error)return;if(Nt){console.error("Recursive call to fatal_error. Inner error was:"),console.error(t);return}if(t instanceof z)throw t;typeof t=="number"||Xr(t)?t=Lt(t):t=Rt(t),t.pyodide_fatal_error=!0,Nt=!0;let e=t instanceof W;e||(console.error("Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers."),console.error("The cause of the fatal error was:"),API.inTestHoist?(console.error(t.toString()),console.error(t.stack)):console.error(t));try{e||_dump_traceback();let n=`Pyodide already ${e?"exited":"fatally failed"} and can no longer be used.`;for(let o of Reflect.ownKeys(API.public_api))typeof o=="string"&&o.startsWith("_")||o==="version"||Object.defineProperty(API.public_api,o,{enumerable:!0,configurable:!0,get:a(()=>{throw new Error(n)},"get")});API.on_fatal&&API.on_fatal(t)}catch(r){console.error("Another error occurred while handling the fatal error:"),console.error(r)}throw t};API.maybe_fatal_error=function(t){API._skip_unwind_fatal_error&&t==="unwind"||API.fatal_error(t)};var qe=[];API.capture_stderr=function(){qe=[],Module.FS.createDevice("/dev","capture_stderr",null,t=>qe.push(t)),Module.FS.closeStream(2),Module.FS.open("/dev/capture_stderr",1)};API.restore_stderr=function(){return Module.FS.closeStream(2),Module.FS.unlink("/dev/capture_stderr"),Module.FS.open("/dev/stderr",1),UTF8ArrayToString(new Uint8Array(qe))};API.fatal_loading_error=function(...t){let e=t.join(" ");if(_PyErr_Occurred()){API.capture_stderr(),_PyErr_Print();let r=API.restore_stderr();e+=`\n`+r}throw new ce(e)};function Ye(t){if(!t)return!1;let e=t.fileName||"";if(e.includes("wasm-function"))return!0;if(!e.includes("pyodide.asm.js"))return!1;let r=t.functionName||"";return r.startsWith("Object.")&&(r=r.slice(7)),API.public_api&&r in API.public_api&&r!=="PythonError"?(t.functionName=r,!1):!0}a(Ye,"isPyodideFrame");function Dt(t){return Ye(t)&&t.functionName==="new_error"}a(Dt,"isErrorStart");Module.handle_js_error=function(t){if(t&&t.pyodide_fatal_error)throw t;if(t instanceof A)return;let e=!1;t instanceof R&&(e=_restore_sys_last_exception(t.__error_address));let r,n;try{r=Je.parse(t)}catch{n=!0}if(n&&(t=Rt(t)),!e){let o=_JsProxy_create(t);_set_error(o),_Py_DecRef(o)}if(!n){if(Dt(r[0])||Dt(r[1]))for(;Ye(r[0]);)r.shift();for(let o of r){if(Ye(o))break;let i=stringToNewUTF8(o.functionName||"???"),s=stringToNewUTF8(o.fileName||"???.js");__PyTraceback_Add(i,s,o.lineNumber),_free(i),_free(s)}}};var R=class extends Error{static{a(this,"PythonError")}constructor(e,r,n){let o=Error.stackTraceLimit;Error.stackTraceLimit=1/0,super(r),Error.stackTraceLimit=o,this.type=e,this.__error_address=n}};API.PythonError=R;var A=class extends Error{static{a(this,"_PropagatePythonError")}constructor(){super("If you are seeing this message, an internal Pyodide error has occurred. Please report it to the Pyodide maintainers.")}};function Zr(t){Object.defineProperty(t.prototype,"name",{value:t.name})}a(Zr,"setName");var ce=class extends Error{static{a(this,"FatalPyodideError")}},W=class extends Error{static{a(this,"Exit")}},z=class extends Error{static{a(this,"NoGilError")}};[A,ce,W,R,z].forEach(Zr);API.NoGilError=z;API.errorConstructors=new Map([EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(t=>t).map(t=>[t.constructor.name,t]));API.deserializeError=function(t,e,r){let n=API.errorConstructors.get(t)||Error,o=new n(e);return API.errorConstructors.has(t)||(o.name=t),o.message=e,o.stack=r,o};function en(t){let e=0,r=[];for(let s of t){let l=s.codePointAt(0);r.push(l),e=l>e?l:e}let n=r.length,o=_PyUnicode_New(n,e);if(o===0)throw new A;let i=_PyUnicode_Data(o);if(e>65535)for(let s=0;s>2)+s>>>0]=r[s];else if(e>255)for(let s=0;s>1)+s>>>0]=r[s];else for(let s=0;s>>0]=r[s];return o}a(en,"js2python_string");function tn(t){let e=t,r=0;for(t<0&&(t=-t),t<<=BigInt(1);t;)r++,t>>=BigInt(32);let n=stackSave(),o=stackAlloc(r*4);t=e;for(let s=0;s>2)+s>>>0]=Number(t&BigInt(4294967295)),t>>=BigInt(32);let i=__PyLong_FromByteArray(o,r*4,!0,!0);return stackRestore(n),i}a(tn,"js2python_bigint");function G(t){let e=rn(t);if(e===0)throw new A;return e}a(G,"js2python_convertImmutable");Module.js2python_convertImmutable=G;function rn(t){let e=typeof t;if(e==="string")return en(t);if(e==="number")return Number.isSafeInteger(t)?_PyLong_FromDouble(t):_PyFloat_FromDouble(t);if(e==="bigint")return tn(t);if(t===void 0)return __js2python_none();if(t===null)return __js2python_null();if(t===!0)return __js2python_true();if(t===!1)return __js2python_false();if(API.isPyProxy(t)){let{props:r,shared:n}=Module.PyProxy_getAttrs(t);return r.roundtrip?_JsProxy_create(t):__js2python_pyproxy(n.ptr)}}a(rn,"js2python_convertImmutableInner");function nn(t,e){let r=_PyList_New(t.length);if(r===0)return 0;let n=0;try{e.cache.set(t,r);for(let o=0;oModule.pyproxy_new(ue(o,n)),"converter"),cacheConversion(o,i){if(API.isPyProxy(i))n.cache.set(o,Module.PyProxy_getPtr(i));else throw new Error("Second argument should be a PyProxy!")}};return ue(t,n)}a(sn,"js2python_convert");Module.js2python_convert=sn;Module.processBufferFormatString=function(t,e=""){if(t.length>2)throw new Error(`Expected format string to have length <= 2, got '${t}'.`+e);let r=t.slice(-1),n=t.slice(0,-1),o;switch(n){case"!":case">":o=!0;break;case"<":case"@":case"=":case"":o=!1;break;default:throw new Error(`Unrecognized alignment character ${n}.`+e)}let i;switch(r){case"b":i=Int8Array;break;case"s":case"p":case"c":case"B":case"?":i=Uint8Array;break;case"h":i=Int16Array;break;case"H":i=Uint16Array;break;case"i":case"l":case"n":i=Int32Array;break;case"I":case"L":case"N":case"P":i=Uint32Array;break;case"q":if(globalThis.BigInt64Array===void 0)throw new Error("BigInt64Array is not supported on this browser."+e);i=BigInt64Array;break;case"Q":if(globalThis.BigUint64Array===void 0)throw new Error("BigUint64Array is not supported on this browser."+e);i=BigUint64Array;break;case"f":i=Float32Array;break;case"d":i=Float64Array;break;case"e":throw new Error("Javascript has no Float16 support.");default:throw new Error(`Unrecognized format character '${r}'.`+e)}return[i,o]};Module.python2js_buffer_1d_contiguous=function(t,e,r){let n=e*r;return HEAP8.slice(t,t+n).buffer};Module.python2js_buffer_1d_noncontiguous=function(t,e,r,n,o){let i=o*n,s=new Uint8Array(i);for(let l=0;l=0&&(c=HEAPU32[(c>>2)+0>>>0]+r),s.set(HEAP8.subarray(c>>>0,c+o>>>0),l*o)}return s.buffer};Module._python2js_buffer_recursive=function(t,e,r){let{shape:n,strides:o,ndim:i,converter:s,itemsize:l,suboffsets:c}=r,u=HEAPU32[(n>>2)+e>>>0],y=HEAP32[(o>>2)+e>>>0],m=-1;if(i===0)return s(Module.python2js_buffer_1d_contiguous(t,l,1));if(c!==0&&(m=HEAP32[(c>>2)+e>>>0]),e===i-1){let p;return y===l&&m<0?p=Module.python2js_buffer_1d_contiguous(t,y,u):p=Module.python2js_buffer_1d_noncontiguous(t,y,m,u,l),s(p)}let _=[];for(let p=0;p=0&&(curptr=HEAPU32[(curptr>>2)+0>>>0]+m),_.push(Module._python2js_buffer_recursive(I,e+1,r))}return _};Module.get_converter=function(t,e){let r=UTF8ToString(t),[n,o]=Module.processBufferFormatString(r);switch(r.slice(-1)){case"s":let u=new TextDecoder("utf8",{ignoreBOM:!0});return y=>u.decode(y);case"?":return y=>Array.from(new Uint8Array(y),m=>!!m)}if(!o)return u=>new n(u);let s,l;switch(e){case 2:s="getUint16",l="setUint16";break;case 4:s="getUint32",l="setUint32";break;case 8:s="getFloat64",l="setFloat64";break;default:throw new Error(`Unexpected size ${e}`)}function c(u){let y=new DataView(u),m=y[s].bind(y),_=y[l].bind(y);for(let p=0;pnew n(c(u))};function ln(t){try{return t instanceof g}catch{return!1}}a(ln,"isPyProxy");API.isPyProxy=ln;globalThis.FinalizationRegistry?Module.finalizationRegistry=new FinalizationRegistry(({ptr:t,cache:e})=>{e&&(e.leaked=!0,Kt(e));try{_check_gil();let r=validSuspender.value;validSuspender.value=!1,_Py_DecRef(t),validSuspender.value=r}catch(r){API.fatal_error(r)}}):Module.finalizationRegistry={register(){},unregister(){}};var Qe=new Map;Module.pyproxy_alloc_map=Qe;var ut,yt;Module.enable_pyproxy_allocation_tracing=function(){ut=a(function(t){Qe.set(t,Error().stack)},"trace_pyproxy_alloc"),yt=a(function(t){Qe.delete(t)},"trace_pyproxy_dealloc")};Module.disable_pyproxy_allocation_tracing=function(){ut=a(function(t){},"trace_pyproxy_alloc"),yt=a(function(t){},"trace_pyproxy_dealloc")};Module.disable_pyproxy_allocation_tracing();var Wt=Symbol("pyproxy.attrs");function cn(t,e){_check_gil();let r=validSuspender.value;validSuspender.value=!1;try{return _pyproxy_getflags(t,e)}finally{validSuspender.value=r}}a(cn,"pyproxy_getflags");function J(t,{flags:e,cache:r,props:n,shared:o,gcRegister:i,jsonAdaptor:s}={}){i===void 0&&(i=!0);let l=e!==void 0?e:cn(t,!!s);l===-1&&_pythonexc2js();let c=l&8192,u=l&32768,y=l&1<<17,m=Module.getPyProxyClass(l),_;l&256?(_=a(function(){},"target"),Object.setPrototypeOf(_,m.prototype),delete _.length,delete _.name,_.prototype=void 0):_=Object.create(m.prototype);let p=!!o;o||(r||(r={map:new Map,json_adaptor_map:new Map,refcnt:0}),r.refcnt++,o={ptr:t,cache:r,flags:l,promise:void 0,destroyed_msg:void 0,gcRegistered:!1},_Py_IncRef(t)),n=Object.assign({isBound:!1,captureThis:!1,boundArgs:[],roundtrip:!1},n);let I;u?I=M:c?I=bn:y?I=xn:I=P;let oe=new Proxy(_,I);!p&&i&&zt(o),p||ut(oe);let ae={shared:o,props:n};return _[Wt]=ae,oe}a(J,"pyproxy_new");Module.pyproxy_new=J;function zt(t){let e=Object.assign({},t);t.gcRegistered=!0,Module.finalizationRegistry.register(t,e,t)}a(zt,"gc_register_proxy");Module.gc_register_proxy=zt;function Oe(t){return t[Wt]}a(Oe,"_getAttrsQuiet");Module.PyProxy_getAttrsQuiet=Oe;function w(t){let e=Oe(t);if(!e.shared.ptr)throw new Error(e.shared.destroyed_msg);return e}a(w,"_getAttrs");Module.PyProxy_getAttrs=w;function d(t){return w(t).shared.ptr}a(d,"_getPtr");function h(t){return Object.getPrototypeOf(t).$$flags}a(h,"_getFlags");function Gt(t){return!!(h(t)&98304)}a(Gt,"isJsonAdaptor");function Ut(t,e,r){let{captureThis:n,boundArgs:o,boundThis:i,isBound:s}=w(t).props;return n?s?[i].concat(o,r):[e].concat(r):s?o.concat(r):r}a(Ut,"_adjustArgs");var Bt=new Map;Module.getPyProxyClass=function(t){let e=[[1,Xe],[2,B],[4,L],[8,E],[16,et],[32,rt],[2048,nt],[512,tt],[1024,ot],[4096,at],[64,lt],[128,ct],[256,Ee],[8192,it],[16384,st]],r=Bt.get(t);if(r)return r;let n={};for(let[l,c]of e)t&l&&Object.assign(n,Object.getOwnPropertyDescriptors(c.prototype));(t&8192||t&2)&&Object.assign(n,Object.getOwnPropertyDescriptors(Ze.prototype)),n.constructor=Object.getOwnPropertyDescriptor(g.prototype,"constructor"),Object.assign(n,Object.getOwnPropertyDescriptors({$$flags:t}));let o=t&256?Vt:Jt,i=Object.create(o,n);function s(){}return a(s,"NewPyProxyClass"),s.prototype=i,Bt.set(t,s),s};Module.PyProxy_getPtr=d;var jt="This borrowed attribute proxy was automatically destroyed in the process of destroying the proxy it was borrowed from. Try using the 'copy' method.";function Kt(t){if(t&&(t.refcnt--,!t.leaked&&t.refcnt===0)){for(let e of t.map.values())Module.pyproxy_destroy(e,jt,!0);for(let e of t.json_adaptor_map.values())Module.pyproxy_destroy(e,jt,!0)}}a(Kt,"pyproxy_decref_cache");function un(t,e){if(e=e||"Object has already been destroyed",API.debug_ffi){let r=t.type,n;try{n=t.toString()}catch(o){if(o.pyodide_fatal_error)throw o}e+=`\nThe object was of type "${r}" and `,n?e+=`had repr "${n}"`:e+="an error was raised when trying to generate its repr"}else e+="\nFor more information about the cause of this error, use `pyodide.setDebug(true)`";return e}a(un,"generateDestroyedMessage");Module.pyproxy_destroy=function(t,e,r){let{shared:n,props:o}=Oe(t);if(!n.ptr||!r&&o.roundtrip)return;n.destroyed_msg=un(t,e);let i=n.ptr;n.ptr=0,n.gcRegistered&&Module.finalizationRegistry.unregister(n),Kt(n.cache);try{_check_gil();let s=validSuspender.value;validSuspender.value=!1,_Py_DecRef(i),yt(t),validSuspender.value=s}catch(s){API.fatal_error(s)}};function pe(t,e,r){let n=e.length,o=Object.keys(r),i=Object.values(r),s=o.length;e.push(...i);let l;try{_check_gil();let c=validSuspender.value;validSuspender.value=!1,l=__pyproxy_apply(t,e,n,o,s),validSuspender.value=c}catch(c){API.maybe_fatal_error(c);return}if(l===Module.error&&_pythonexc2js(),l&&l.type==="coroutine"&&l._ensure_future){_check_gil();let c=validSuspender.value;validSuspender.value=!1;let u=__iscoroutinefunction(t);validSuspender.value=c,u&&l._ensure_future()}return l}a(pe,"callPyObjectKwargs");async function de(t,e,r){if(!Module.jspiSupported)throw new Error("WebAssembly stack switching not supported in this JavaScript runtime");let n=e.length,o=Object.keys(r),i=Object.values(r),s=o.length;e.push(...i);let l=stackSave(),c=stackAlloc(4),u;try{_check_gil();let y=validSuspender.value;validSuspender.value=!1,u=await Module.promisingApply(t,e,n,o,s,c),validSuspender.value=y}catch(y){API.fatal_error(y)}if(u=u[0],u===Module.error){_PyErr_SetRaisedException(HEAPU32[c/4>>>0]);try{_pythonexc2js()}finally{stackRestore(l)}}if(u&&u.type==="coroutine"&&u._ensure_future){_check_gil();let y=validSuspender.value;validSuspender.value=!1;let m=__iscoroutinefunction(t);validSuspender.value=y,m&&u._ensure_future()}return u}a(de,"callPyObjectKwargsPromising");Module.callPyObjectMaybePromising=async function(t,e){return Module.jspiSupported?await de(t,e,{}):pe(t,e,{})};Module.callPyObject=function(t,e){return pe(t,e,{})};var g=class t{static{a(this,"PyProxy")}static[Symbol.hasInstance](e){return[t,qt].some(r=>Function.prototype[Symbol.hasInstance].call(r,e))}constructor(){throw new TypeError("PyProxy is not a constructor")}get[Symbol.toStringTag](){return"PyProxy"}get type(){let e=d(this);return __pyproxy_type(e)}toString(){let e=d(this),r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=__pyproxy_repr(e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===Module.error&&_pythonexc2js(),r}destroy(e={}){e=Object.assign({message:"",destroyRoundtrip:!0},e);let{message:r,destroyRoundtrip:n}=e;Module.pyproxy_destroy(this,r,n)}copy(){let e=w(this);return J(e.shared.ptr,{flags:h(this),cache:e.shared.cache,props:e.props})}toJs({depth:e=-1,pyproxies:r=void 0,create_pyproxies:n=!0,dict_converter:o=void 0,default_converter:i=void 0,eager_converter:s=void 0}={}){let l=d(this),c,u;n?r?u=r:u=[]:u=Module.error;try{_check_gil();let y=validSuspender.value;validSuspender.value=!1,c=_python2js_custom(l,e,u,o??Module.error,i??Module.error,s??Module.error),validSuspender.value=y}catch(y){API.fatal_error(y)}return c===Module.error&&_pythonexc2js(),c}},Jt=g.prototype;Tests.Function=Function;var Vt=Object.create(Function.prototype,Object.getOwnPropertyDescriptors(Jt));function qt(){}a(qt,"PyProxyFunction");qt.prototype=Vt;var fe=class extends g{static{a(this,"PyProxyWithLength")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&1)}},Xe=class{static{a(this,"PyLengthMethods")}get length(){let e=d(this),r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=_PyObject_Size(e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===-1&&_pythonexc2js(),r}},ge=class extends g{static{a(this,"PyProxyWithGet")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&2)}},Ze=class{static{a(this,"PyAsJsonAdaptorMethods")}asJsJson(){let{shared:e,props:r}=w(this),n=h(this);return n&8192?n|=65536:n|=32768,J(e.ptr,{shared:e,flags:n,props:r})}},B=class{static{a(this,"PyGetItemMethods")}get(e){let{shared:r}=w(this),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_getitem(r.ptr,e,r.cache.json_adaptor_map,Gt(this)),validSuspender.value=o}catch(o){API.fatal_error(o)}if(n===Module.error)if(_PyErr_Occurred())_pythonexc2js();else return;return n}asJsJson(){throw new Error("Should not happen")}},me=class extends g{static{a(this,"PyProxyWithSet")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&4)}},L=class{static{a(this,"PySetItemMethods")}set(e,r){let n=d(this),o;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,o=__pyproxy_setitem(n,e,r),validSuspender.value=i}catch(i){API.fatal_error(i)}o===-1&&_pythonexc2js()}delete(e){let r=d(this),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_delitem(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}n===-1&&_pythonexc2js()}},_e=class extends g{static{a(this,"PyProxyWithHas")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&8)}},E=class{static{a(this,"PyContainsMethods")}has(e){let r=d(this),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_contains(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}return n===-1&&_pythonexc2js(),n===1}};function*yn(t,e,r,n){let o=[];try{for(;;){_check_gil();let i=validSuspender.value;validSuspender.value=!1;let s=__pyproxy_iter_next(t,r,n);if(validSuspender.value=i,s===Module.error)break;yield s,!n&&API.isPyProxy(s)&&o.push(s)}}catch(i){API.fatal_error(i)}finally{Module.finalizationRegistry.unregister(e),_Py_DecRef(t)}try{o.forEach(i=>Module.pyproxy_destroy(i,"This borrowed proxy was automatically destroyed when an iterator was exhausted."))}catch{}_PyErr_Occurred()&&_pythonexc2js()}a(yn,"iter_helper");var he=class extends g{static{a(this,"PyIterable")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&48)}},et=class{static{a(this,"PyIterableMethods")}[Symbol.iterator](){let{shared:e}=w(this),r={},n;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,n=_PyObject_GetIter(e.ptr),validSuspender.value=i}catch(i){API.fatal_error(i)}n===0&&_pythonexc2js();let o=yn(n,r,e.cache.json_adaptor_map,Gt(this));return Module.finalizationRegistry.register(o,[n,void 0],r),o}};async function*dn(t,e){try{for(;;){let r;try{_check_gil();let n=validSuspender.value;if(validSuspender.value=!1,r=__pyproxy_aiter_next(t),validSuspender.value=n,r===Module.error)break}catch(n){API.fatal_error(n)}try{yield await r}catch(n){if(n&&typeof n=="object"&&n.type==="StopAsyncIteration")return;throw n}finally{r.destroy()}}}finally{Module.finalizationRegistry.unregister(e),_Py_DecRef(t)}_PyErr_Occurred()&&_pythonexc2js()}a(dn,"aiter_helper");var Pe=class extends g{static{a(this,"PyAsyncIterable")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&1536)}},tt=class{static{a(this,"PyAsyncIterableMethods")}[Symbol.asyncIterator](){let e=d(this),r={},n;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,n=_PyObject_GetAIter(e),validSuspender.value=i}catch(i){API.fatal_error(i)}n===0&&_pythonexc2js();let o=dn(n,r);return Module.finalizationRegistry.register(o,[n,void 0],r),o}},be=class extends g{static{a(this,"PyIterator")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&32)}},rt=class{static{a(this,"PyIteratorMethods")}[Symbol.iterator](){return this}next(e=void 0){let r,n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_Send(d(this),e),validSuspender.value=o}catch(o){API.fatal_error(o)}return r===Module.error&&_pythonexc2js(),r}},ve=class extends g{static{a(this,"PyGenerator")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&2048)}},nt=class{static{a(this,"PyGeneratorMethods")}throw(e){let r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_throw(d(this),e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===Module.error&&_pythonexc2js(),r}return(e){let r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_return(d(this),e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===Module.error&&_pythonexc2js(),r}},xe=class extends g{static{a(this,"PyAsyncIterator")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&1024)}},ot=class{static{a(this,"PyAsyncIteratorMethods")}[Symbol.asyncIterator](){return this}async next(e=void 0){let r;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_asend(d(this),e),validSuspender.value=o}catch(o){API.fatal_error(o)}r===Module.error&&_pythonexc2js();let n;try{n=await r}catch(o){if(o&&typeof o=="object"&&o.type==="StopAsyncIteration")return{done:!0,value:n};throw o}finally{r.destroy()}return{done:!1,value:n}}},we=class extends g{static{a(this,"PyAsyncGenerator")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&4096)}},at=class{static{a(this,"PyAsyncGeneratorMethods")}async throw(e){let r;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_athrow(d(this),e),validSuspender.value=o}catch(o){API.fatal_error(o)}r===Module.error&&_pythonexc2js();let n;try{n=await r}catch(o){if(o&&typeof o=="object"){if(o.type==="StopAsyncIteration")return{done:!0,value:n};if(o.type==="GeneratorExit")return{done:!0,value:n}}throw o}finally{r.destroy()}return{done:!1,value:n}}async return(e){let r;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,r=__pyproxyGen_areturn(d(this)),validSuspender.value=o}catch(o){API.fatal_error(o)}r===Module.error&&_pythonexc2js();let n;try{n=await r}catch(o){if(o&&typeof o=="object"){if(o.type==="StopAsyncIteration")return{done:!0,value:n};if(o.type==="GeneratorExit")return{done:!0,value:e}}throw o}finally{r.destroy()}return{done:!1,value:n}}},Se=class extends g{static{a(this,"PySequence")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&8192)}};function pn(t,e){let r=t.toString(),n=e.toString();return r===n?0:r{this.insert(n,r)}),this.length}copyWithin(...e){return Array.prototype.copyWithin.apply(this,e),this}fill(...e){return Array.prototype.fill.apply(this,e),this}};function fn(t,e){let r=d(t),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_hasattr(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}return n===-1&&_pythonexc2js(),n!==0}a(fn,"python_hasattr");function gn(t,e){let{shared:r}=w(t),n=r.cache.map,o;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,o=__pyproxy_getattr(r.ptr,e,n),validSuspender.value=i}catch(i){API.fatal_error(i)}if(o===Module.error){_PyErr_Occurred()&&_pythonexc2js();return}return o}a(gn,"python_getattr");function mn(t,e,r){let n=d(t),o;try{_check_gil();let i=validSuspender.value;validSuspender.value=!1,o=__pyproxy_setattr(n,e,r),validSuspender.value=i}catch(i){API.fatal_error(i)}o===-1&&_pythonexc2js()}a(mn,"python_setattr");function _n(t,e){let r=d(t),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_delattr(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}n===-1&&_pythonexc2js()}a(_n,"python_delattr");function hn(t,e,r,n){let o=d(t),i;try{_check_gil();let s=validSuspender.value;validSuspender.value=!1,i=__pyproxy_slice_assign(o,e,r,n),validSuspender.value=s}catch(s){API.fatal_error(s)}return i===Module.error&&_pythonexc2js(),i}a(hn,"python_slice_assign");function Ht(t,e){let r=d(t),n;try{_check_gil();let o=validSuspender.value;validSuspender.value=!1,n=__pyproxy_pop(r,e),validSuspender.value=o}catch(o){API.fatal_error(o)}return n===Module.error&&_pythonexc2js(),n}a(Ht,"python_pop");var Pn=new Set(["name","length","caller","arguments"]);function ye(t,e,r){return t instanceof Function?e in t&&!(Pn.has(e)||r&&e==="prototype"):e in t}a(ye,"filteredHasKey");var P={isExtensible(){return!0},has(t,e){return ye(t,e,!1)?!0:typeof e=="symbol"?!1:(e.startsWith("$")&&(e=e.slice(1)),fn(t,e))},get(t,e){return typeof e=="symbol"||ye(t,e,!0)?Reflect.get(t,e):(e.startsWith("$")&&(e=e.slice(1)),gn(t,e))},set(t,e,r){let n=Object.getOwnPropertyDescriptor(t,e);return n&&!n.writable&&!n.set?!1:typeof e=="symbol"||ye(t,e,!0)?Reflect.set(t,e,r):(e.startsWith("$")&&(e=e.slice(1)),mn(t,e,r),!0)},deleteProperty(t,e){let r=Object.getOwnPropertyDescriptor(t,e);return r&&!r.configurable?!1:typeof e=="symbol"||ye(t,e,!0)?Reflect.deleteProperty(t,e):(e.startsWith("$")&&(e=e.slice(1)),_n(t,e),!0)},ownKeys(t){let e=d(t),r;try{_check_gil();let n=validSuspender.value;validSuspender.value=!1,r=__pyproxy_ownKeys(e),validSuspender.value=n}catch(n){API.fatal_error(n)}return r===Module.error&&_pythonexc2js(),r.push(...Reflect.ownKeys(t)),r},apply(t,e,r){return t.apply(e,r)}};function K(t){return t&&typeof t=="object"&&t.constructor&&t.constructor.name==="PythonError"}a(K,"isPythonError");var bn={isExtensible(){return!0},has(t,e){return typeof e=="string"&&/^[0-9]+$/.test(e)?Number(e)n.toString())),e.push("length"),e}},vn=new Set(["copy","constructor","$$flags","toString","destroy"]),M={isExtensible(){return!0},has(t,e){return E.prototype.has.call(t,e)?!0:typeof e=="string"&&/^[0-9]+$/.test(e)?E.prototype.has.call(t,Number(e)):!1},get(t,e){if(typeof e=="symbol"||vn.has(e))return Reflect.get(...arguments);let r=B.prototype.get.call(t,e);return r!==void 0||E.prototype.has.call(t,e)?r:typeof e=="string"&&/^[0-9]+$/.test(e)?B.prototype.get.call(t,Number(e)):Reflect.get(...arguments)},set(t,e,r){if(typeof e=="symbol")return!1;!E.prototype.has.call(t,e)&&typeof e=="string"&&/^[0-9]+$/.test(e)&&(e=Number(e));try{return L.prototype.set.call(t,e,r),!0}catch(n){if(K(n)&&n.type==="KeyError")return!1;throw n}},deleteProperty(t,e){if(typeof e=="symbol")return!1;!E.prototype.has.call(t,e)&&typeof e=="string"&&/^[0-9]+$/.test(e)&&(e=Number(e));try{return L.prototype.delete.call(t,e),!0}catch(r){if(K(r)&&r.type==="KeyError")return!1;throw r}},getOwnPropertyDescriptor(t,e){return M.has(t,e)?{configurable:!0,enumerable:!0,value:M.get(t,e),writable:!0}:void 0},ownKeys(t){let e=new Set;return Yt(t,e),Array.from(e)}};function Yt(t,e){let r=P.get(t,"keys")();for(let n of r)typeof n=="string"?e.add(n):typeof n=="number"&&e.add(n.toString());r.destroy()}a(Yt,"dictOwnKeysHelper");var xn={isExtensible(){return!0},has(t,e){return P.has(t,e)?!0:M.has(t,e)},get(t,e){let r=P.get(t,e);return r!==void 0||P.has(t,e)?r:M.get(t,e)},set(t,e,r){return P.has(t,e)?P.set(t,e,r):M.set(t,e,r)},deleteProperty(t,e){return P.has(t,e)?P.deleteProperty(t,e):M.deleteProperty(t,e)},getOwnPropertyDescriptor(t,e){return Reflect.getOwnPropertyDescriptor(t,e)??M.getOwnPropertyDescriptor(t,e)},ownKeys(t){let e=new Set(P.ownKeys(t));return Yt(t,e),Array.from(e)}},Ie=class extends g{static{a(this,"PyAwaitable")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&64)}},lt=class{static{a(this,"PyAwaitableMethods")}_ensure_future(){let{shared:e}=Oe(this);if(e.promise)return e.promise;let r=e.ptr;r||w(this);let n,o,i=new Promise((l,c)=>{n=l,o=c}),s;try{_check_gil();let l=validSuspender.value;validSuspender.value=!1,s=__pyproxy_ensure_future(r,n,o),validSuspender.value=l}catch(l){API.fatal_error(l)}return s===-1&&_pythonexc2js(),e.promise=i,this.destroy(),i}then(e,r){return this._ensure_future().then(e,r)}catch(e){return this._ensure_future().catch(e)}finally(e){return this._ensure_future().finally(e)}},ke=class extends g{static{a(this,"PyCallable")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&256)}},Ee=class{static{a(this,"PyCallableMethods")}apply(e,r){return r=function(...n){return n}.apply(void 0,r),r=Ut(this,e,r),Module.callPyObject(d(this),r)}call(e,...r){return r=Ut(this,e,r),Module.callPyObject(d(this),r)}callWithOptions({relaxed:e,kwargs:r,promising:n},...o){let i={};if(r){if(o.length===0)throw new TypeError("callWithOptions with 'kwargs: true' requires at least one argument (the key word argument object)");if(i=o.pop(),i.constructor!==void 0&&i.constructor.name!=="Object")throw new TypeError("kwargs argument is not an object")}let s=e?API.pyodide_code.relaxed_call:this;return e&&o.unshift(this),(n?de:pe)(d(s),o,i)}callKwargs(...e){if(e.length===0)throw new TypeError("callKwargs requires at least one argument (the key word argument object)");let r=e.pop();if(r.constructor!==void 0&&r.constructor.name!=="Object")throw new TypeError("kwargs argument is not an object");return pe(d(this),e,r)}callRelaxed(...e){return API.pyodide_code.relaxed_call(this,...e)}callKwargsRelaxed(...e){return API.pyodide_code.relaxed_call.callKwargs(this,...e)}callPromising(...e){return de(d(this),e,{})}callPromisingKwargs(...e){if(e.length===0)throw new TypeError("callKwargs requires at least one argument (the key word argument object)");let r=e.pop();if(r.constructor!==void 0&&r.constructor.name!=="Object")throw new TypeError("kwargs argument is not an object");return de(d(this),e,r)}bind(e,...r){let{shared:n,props:o}=w(this),{boundArgs:i,boundThis:s,isBound:l}=o,c=e;l&&(c=s);let u=i.concat(r);return o=Object.assign({},o,{boundArgs:u,isBound:!0,boundThis:c}),J(n.ptr,{shared:n,flags:h(this),props:o})}captureThis(){let{props:e,shared:r}=w(this);return e=Object.assign({},e,{captureThis:!0}),J(r.ptr,{shared:r,flags:h(this),props:e})}};Ee.prototype.prototype=Function.prototype;var wn=new Map([["i8",Int8Array],["u8",Uint8Array],["u8clamped",Uint8ClampedArray],["i16",Int16Array],["u16",Uint16Array],["i32",Int32Array],["u32",Uint32Array],["i32",Int32Array],["u32",Uint32Array],["i64",globalThis.BigInt64Array],["u64",globalThis.BigUint64Array],["f32",Float32Array],["f64",Float64Array],["dataview",DataView]]),Me=class extends g{static{a(this,"PyBuffer")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(h(e)&128)}},ct=class{static{a(this,"PyBufferMethods")}getBuffer(e){let r;if(e&&(r=wn.get(e),r===void 0))throw new Error(`Unknown type ${e}`);let n=d(this),o;try{_check_gil();let S=validSuspender.value;validSuspender.value=!1,o=__pyproxy_get_buffer(n),validSuspender.value=S}catch(S){API.fatal_error(S)}o===Module.error&&_pythonexc2js();let{start_ptr:i,smallest_ptr:s,largest_ptr:l,readonly:c,format:u,itemsize:y,shape:m,strides:_,view:p,c_contiguous:I,f_contiguous:oe}=o,ae=!1;try{let S=!1;r===void 0&&([r,S]=Module.processBufferFormatString(u," In this case, you can pass an explicit type argument."));let F=parseInt(r.name.replace(/[^0-9]/g,""))/8||1;if(S&&F>1)throw new Error("JavaScript has no native support for big endian buffers. In this case, you can pass an explicit type argument. For instance, `getBuffer('dataview')` will return a `DataView`which has native support for reading big endian data. Alternatively, toJs will automatically convert the buffer to little endian.");let ie=l-s;if(ie!==0&&(i%F!==0||s%F!==0||l%F!==0))throw new Error(`Buffer does not have valid alignment for a ${r.name}`);let $r=ie/F,Cr=(i-s)/F,ze;ie===0?ze=new r:ze=new r(HEAPU32.buffer,s,$r);for(let Ur of _.keys())_[Ur]/=F;return ae=!0,Object.create(V.prototype,Object.getOwnPropertyDescriptors({offset:Cr,readonly:c,format:u,itemsize:y,ndim:m.length,nbytes:ie,shape:m,strides:_,data:ze,c_contiguous:I,f_contiguous:oe,_view_ptr:p,_released:!1}))}finally{if(!ae)try{_check_gil();let S=validSuspender.value;validSuspender.value=!1,_PyBuffer_Release(p),_PyMem_Free(p),validSuspender.value=S}catch(S){API.fatal_error(S)}}}},Fe=class extends g{static{a(this,"PyDict")}static[Symbol.hasInstance](e){return API.isPyProxy(e)&&e.type==="dict"}},V=class{static{a(this,"PyBufferView")}constructor(){throw new TypeError("PyBufferView is not a constructor")}release(){if(!this._released){try{_check_gil();let e=validSuspender.value;validSuspender.value=!1,_PyBuffer_Release(this._view_ptr),_PyMem_Free(this._view_ptr),validSuspender.value=e}catch(e){API.fatal_error(e)}this._released=!0,this.data=Module.error}}};var Qt={PyProxy:g,PyProxyWithLength:fe,PyProxyWithGet:ge,PyProxyWithSet:me,PyProxyWithHas:_e,PyDict:Fe,PyIterable:he,PyAsyncIterable:Pe,PyIterator:be,PyAsyncIterator:xe,PyGenerator:ve,PyAsyncGenerator:we,PyAwaitable:Ie,PyCallable:ke,PyBuffer:Me,PyBufferView:V,PythonError:R,PySequence:Se,PyMutableSequence:Ae};function Xt(t){t.id!=="canvas"&&console.warn("If you are using canvas element for SDL library, it should have id 'canvas' to work properly."),Module.canvas=t}a(Xt,"setCanvas2D");function Zt(){return Module.canvas}a(Zt,"getCanvas2D");function Sn(t){Xt(t)}a(Sn,"setCanvas3D");function An(){return Zt()}a(An,"getCanvas3D");var er={setCanvas2D:Xt,getCanvas2D:Zt,setCanvas3D:Sn,getCanvas3D:An};var tr=new Map([["INSTALLER","pyodide.unpackArchive"]]);var f=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&!process.browser,dt=f&&typeof module<"u"&&typeof module.exports<"u"&&typeof b<"u"&&typeof __dirname<"u",rr=f&&!dt,In=typeof globalThis.Bun<"u",Te=typeof Deno<"u",pt=!f&&!Te,j=pt&&typeof window=="object"&&typeof document=="object"&&typeof document.createElement=="function"&&"sessionStorage"in window&&typeof importScripts!="function",ft=pt&&typeof importScripts=="function"&&typeof self=="object",gt=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Chrome")==-1&&navigator.userAgent.indexOf("Safari")>-1,q=typeof read=="function"&&typeof load=="function";function nr(){return{IN_NODE:f,IN_NODE_COMMONJS:dt,IN_NODE_ESM:rr,IN_BUN:In,IN_DENO:Te,IN_BROWSER:pt,IN_BROWSER_MAIN_THREAD:j,IN_BROWSER_WEB_WORKER:ft,IN_SAFARI:gt,IN_SHELL:q}}a(nr,"detectEnvironment");function mt(){let t=a(()=>{},"_resolve"),e=a(()=>{},"_reject"),r=new Promise((n,o)=>{t=n,e=o});return r.resolve=t,r.reject=e,r}a(mt,"createResolvable");function Ne(){let t=Promise.resolve();async function e(){let r=t,n;return t=new Promise(o=>n=o),await r,n}return a(e,"acquireLock"),e}a(Ne,"createLock");var kn=/[-_.]+/g;function or(t){return t.replace(kn,"-").toLowerCase()}a(or,"canonicalizePackageName");var En=/^.*?([^\/]*)\.whl$/;function ar(t){let e=En.exec(t);if(e){let r=e[1].toLowerCase().split("-");return{name:r[0],version:r[1],fileName:r.join("-")+".whl"}}}a(ar,"uriToPackageData");function ir(t){return btoa(t.match(/\w{2}/g).map(function(e){return String.fromCharCode(parseInt(e,16))}).join(""))}a(ir,"base16ToBase64");var sr,_t,lr,Le,H;async function cr(){if(!f||(sr=(await import("node:url")).default,Le=await import("node:fs"),H=await import("node:fs/promises"),lr=(await import("node:vm")).default,_t=await import("node:path"),yr=_t.sep,typeof b<"u"))return;let t=Le,e=await import("node:crypto"),r=await import("ws"),n=await import("node:child_process"),o={fs:t,crypto:e,ws:r,child_process:n};globalThis.require=function(i){return o[i]}}a(cr,"initNodeModules");function ur(t){return t.includes("://")||t.startsWith("/")}a(ur,"isAbsolute");function Mn(t,e){return _t.resolve(e||".",t)}a(Mn,"node_resolvePath");function Fn(t,e){return e===void 0&&(e=location),new URL(t,e).toString()}a(Fn,"browser_resolvePath");var Y;f?Y=Mn:q?Y=a(t=>t,"resolvePath"):Y=Fn;var yr;f||(yr="/");function On(t,e){return t.startsWith("file://")&&(t=t.slice(7)),t.includes("://")?{response:fetch(t)}:{binary:H.readFile(t).then(r=>new Uint8Array(r.buffer,r.byteOffset,r.byteLength))}}a(On,"node_getBinaryResponse");function Tn(t,e){if(t.startsWith("file://")&&(t=t.slice(7)),t.includes("://"))throw new Error("Shell cannot fetch urls");return{binary:Promise.resolve(new Uint8Array(readbuffer(t)))}}a(Tn,"shell_getBinaryResponse");function Nn(t,e){let r=new URL(t,location);return{response:fetch(r,e?{integrity:e}:{})}}a(Nn,"browser_getBinaryResponse");var Re;f?Re=On:q?Re=Tn:Re=Nn;async function Q(t,e){let{response:r,binary:n}=Re(t,e);if(n)return n;let o=await r;if(!o.ok)throw new Error(`Failed to load '${t}': request failed.`);return new Uint8Array(await o.arrayBuffer())}a(Q,"loadBinaryFile");var De;if(j)De=a(async t=>await import(t),"loadScript");else if(ft)De=a(async t=>{try{globalThis.importScripts(t)}catch(e){if(e instanceof TypeError)await import(t);else throw e}},"loadScript");else if(f)De=Dn;else if(q)De=load;else throw new Error("Cannot determine runtime environment");async function Dn(t){t.startsWith("file://")&&(t=t.slice(7)),t.includes("://")?lr.runInThisContext(await(await fetch(t)).text()):await import(sr.pathToFileURL(t).href)}a(Dn,"nodeLoadScript");async function dr(t){if(f&&t)try{await H.stat(t)}catch{await H.mkdir(t,{recursive:!0})}}a(dr,"ensureDirNode");var X=class{constructor(e,r){this._lock=Ne();this.#t=e,this.#e=r}static{a(this,"DynlibLoader")}#t;#e;async loadDynlib(e){let r=await this._lock();try{let n=this.#e.stackSave(),o=this.#e.stringToUTF8OnStack(e);try{let i=this.#e._emscripten_dlopen_promise(o,2);this.#e.stackRestore(n);let s=this.#e.getPromise(i);this.#e.promiseMap.free(i),await s}catch(i){let s=this.getDLError();throw new Error(`Failed to load dynamic library ${e}: ${s??i}`)}}catch(n){throw n&&n.message&&n.message.includes("need to see wasm magic number")?new Error(`Failed to load dynamic library ${e} $. We probably just tried to load a linux .so file or something.`):n}finally{r()}}getDLError(){let e=this.#e._dlerror();return e===0?void 0:this.#e.UTF8ToString(e,512).trim()}async loadDynlibsFromPackage(e,r){for(let n of r)await this.loadDynlib(n)}};if(typeof API<"u"&&typeof Module<"u"){let t=new X(API,Module);API.loadDynlib=t.loadDynlib.bind(t)}var Z=class{static{a(this,"Installer")}#t;#e;constructor(e,r){this.#t=e,this.#e=new X(e,r)}async install(e,r,n,o){let i=this.#t.package_loader.unpack_buffer.callKwargs({buffer:e,filename:r,extract_dir:n,metadata:o,calculate_dynlibs:!0});await this.#e.loadDynlibsFromPackage({file_name:r},i)}},pr;if(typeof API<"u"&&typeof Module<"u"){let t=new Z(API,Module);pr=t.install.bind(t),API.install=pr}function Rn(t,e,r){t();let n;try{n=r()}catch(o){throw e(),o}return n instanceof Promise?n.finally(()=>e()):(e(),n)}a(Rn,"withContext");function fr(t,e){return function(r){return function(...n){return Rn(t,e,()=>r.apply(this,n))}}}a(fr,"createContextWrapper");async function Ln(t){await cr();let e=await t,r=typeof e=="string"?JSON.parse(e):e;if(!r.packages)throw new Error("Loaded pyodide lock file does not contain the expected key 'packages'.");if(r.info.abi_version!==API.abiVersion)throw new Error(`Lock file ABI version doesn't match Pyodide ABI version.\n lockfile version: ${r.info.abi_version}\n pyodide version: ${API.abiVersion}`);API.lockfile=r,API.lockfile_info=r.info,API.lockfile_packages=r.packages,API.lockfile_unvendored_stdlibs_and_test=[],API._import_name_to_package_name=new Map;for(let i of Object.keys(API.lockfile_packages)){let s=API.lockfile_packages[i];for(let l of s.imports)API._import_name_to_package_name.set(l,i);s.package_type==="cpython_module"&&API.lockfile_unvendored_stdlibs_and_test.push(i)}API.lockfile_unvendored_stdlibs=API.lockfile_unvendored_stdlibs_and_test.filter(i=>i!=="test");let n=API.config.packages;API.config.fullStdLib&&(n=[...n,...API.lockfile_unvendored_stdlibs]),await te(n,{messageCallback(){}}),await API.bootstrapFinalizedPromise,API.flushPackageManagerBuffers(),API._pyodide._importhook.register_module_not_found_hook(API._import_name_to_package_name,API.lockfile_unvendored_stdlibs_and_test),API.package_loader.init_loaded_packages()}a(Ln,"initializePackageIndex");var $n="default channel",Cn="pyodide.loadPackage",ht=class{constructor(e,r){this.cdnURL="";this.loadedPackages={};this._lock=Ne();this.streamReady=!1;this.stdoutBuffer=[];this.stderrBuffer=[];this.defaultChannel=$n;this.#t=e,this.#e=r,this.#r=new Z(e,r),f?(this.installBaseUrl=this.#t.config.packageCacheDir??this.#t.config.packageBaseUrl,this.cdnURL=this.#t.config.cdnUrl):this.installBaseUrl=this.#t.config.packageBaseUrl,this.stdout=n=>{if(!this.streamReady){this.stdoutBuffer.push(n);return}let o=this.#e.stackSave();try{let i=this.#e.stringToUTF8OnStack(n);this.#e._print_stdout(i)}finally{this.#e.stackRestore(o)}},this.stderr=n=>{if(!this.streamReady){this.stderrBuffer.push(n);return}let o=this.#e.stackSave();try{let i=this.#e.stringToUTF8OnStack(n);this.#e._print_stderr(i)}finally{this.#e.stackRestore(o)}}}static{a(this,"PackageManager")}#t;#e;#r;async loadPackage(e,r={checkIntegrity:!0}){return this.setCallbacks(r.messageCallback,r.errorCallback)(this.loadPackageInner.bind(this))(e,r)}async loadPackageInner(e,r={checkIntegrity:!0}){let n=new Set,o=Bn(e),i=this.recursiveDependencies(o);for(let[u,{name:y,normalizedName:m,channel:_}]of i){let p=this.getLoadedPackageChannel(y);p&&(i.delete(m),p===_||_===this.defaultChannel?this.logStdout(`${y} already loaded from ${p}`):this.logStderr(`URI mismatch, attempting to load package ${y} from ${_} while it is already loaded from ${p}. To override a dependency, load the custom package first.`))}if(i.size===0)return this.logStdout("No new packages to load"),[];let s=Array.from(i.values(),({name:u})=>u).sort().join(", "),l=new Map,c=await this._lock();try{this.logStdout(`Loading ${s}`);for(let[u,y]of i){if(this.getLoadedPackageChannel(y.name)){i.delete(y.normalizedName);continue}y.installPromise=this.downloadAndInstall(y,i,n,l,r.checkIntegrity)}if(await Promise.all(Array.from(i.values()).map(({installPromise:u})=>u)),n.size>0){let u=Array.from(n,y=>y.name).sort().join(", ");this.logStdout(`Loaded ${u}`)}if(l.size>0){let u=Array.from(l.keys()).sort().join(", ");this.logStdout(`Failed to load ${u}`);for(let[y,m]of l)this.logStderr(`The following error occurred while loading ${y}:`),this.logStderr(m.message)}return await this.#t.bootstrapFinalizedPromise,this.#t.importlib.invalidate_caches(),Array.from(n,Un)}finally{c()}}addPackageToLoad(e,r){let n=or(e);if(r.has(n))return;let o=this.#t.lockfile_packages[n];if(!o)throw new Error(`No known package with name '${e}'`);if(r.set(n,{name:o.name,normalizedName:n,channel:this.defaultChannel,depends:o.depends,installPromise:void 0,done:mt(),packageData:o}),!this.getLoadedPackageChannel(o.name))for(let i of o.depends)this.addPackageToLoad(i,r)}recursiveDependencies(e){let r=new Map;for(let n of e){let o=ar(n);if(o===void 0){this.addPackageToLoad(n,r);continue}let{name:i,version:s,fileName:l}=o,c=n;if(r.has(i)&&r.get(i).channel!==c){this.logStderr(`Loading same package ${i} from ${c} and ${r.get(i).channel}`);continue}r.set(i,{name:i,normalizedName:i,channel:c,depends:[],installPromise:void 0,done:mt(),packageData:{name:i,version:s,file_name:l,install_dir:"site",sha256:"",package_type:"package",imports:[],depends:[]}})}return r}async downloadPackage(e,r=!0){await dr(this.installBaseUrl);let n,o,i;if(e.channel===this.defaultChannel){if(!(e.normalizedName in this.#t.lockfile_packages))throw new Error(`Internal error: no entry for package named ${name}`);let l=this.#t.lockfile_packages[e.normalizedName];if(n=l.file_name,!ur(n)&&!this.installBaseUrl)throw new Error(`Lock file file_name for package "${e.name}" is relative path "${n}" but no packageBaseUrl provided to loadPyodide.`);o=Y(n,this.installBaseUrl),i="sha256-"+ir(l.sha256)}else o=e.channel,i=void 0;r||(i=void 0);try{return await Q(o,i)}catch(l){if(!f||e.channel!==this.defaultChannel||!n||n.startsWith("/"))throw l}this.logStdout(`Didn't find package ${n} locally, attempting to load from ${this.cdnURL}`);let s=await Q(this.cdnURL+n);return this.logStdout(`Package ${n} loaded from ${this.cdnURL}, caching the wheel in node_modules for future use.`),await H.writeFile(o,s),s}async installPackage(e,r){let n=this.#t.lockfile_packages[e.normalizedName];n||(n=e.packageData);let o=n.file_name,i=this.#t.package_loader.get_install_dir(n.install_dir);await this.#r.install(r,o,i,new Map([["INSTALLER",Cn],["PYODIDE_SOURCE",e.channel===this.defaultChannel?"pyodide":e.channel]]))}async downloadAndInstall(e,r,n,o,i=!0){if(ee[e.name]===void 0)try{let s=await this.downloadPackage(e,i),l=e.depends.map(c=>r.has(c)?r.get(c).done:Promise.resolve());await this.#t.bootstrapFinalizedPromise,await Promise.all(l),await this.installPackage(e,s),n.add(e.packageData),ee[e.name]=e.channel}catch(s){o.set(e.name,s)}finally{e.done.resolve()}}flushBuffers(){this.streamReady=!0;for(let e of this.stdoutBuffer)this.stdout(e);for(let e of this.stderrBuffer)this.stderr(e);this.stdoutBuffer=[],this.stderrBuffer=[]}getLoadedPackageChannel(e){let r=this.loadedPackages[e];return r===void 0?null:r}setCallbacks(e,r){let n=this.stdout,o=this.stderr;return fr(()=>{this.stdout=e||n,this.stderr=r||o},()=>{this.stdout=n,this.stderr=o})}logStdout(e){this.stdout(e)}logStderr(e){this.stderr(e)}};function Un({name:t,version:e,file_name:r,package_type:n}){return{name:t,version:e,fileName:r,packageType:n}}a(Un,"filterPackageData");function Bn(t){return typeof t.toJs=="function"&&(t=t.toJs()),Array.isArray(t)||(t=[t]),t}a(Bn,"toStringArray");var te,ee;if(typeof API<"u"&&typeof Module<"u"){let t=new ht(API,Module);te=t.loadPackage.bind(t),ee=t.loadedPackages,API.flushPackageManagerBuffers=t.flushBuffers.bind(t),API.lockFilePromise&&(API.packageIndexReady=Ln(API.lockFilePromise)),API.packageManager=t}var gr="0.28.3";var It=f?b("node:fs"):void 0,hr=f?b("node:tty"):void 0;function Pr(t){try{It.fsyncSync(t)}catch(e){if(e?.code==="EINVAL"||e?.code==="ENOTSUP"&&(t===1||t===2))return;throw e}}a(Pr,"nodeFsync");var br=!1,Ce={},x={};function bt(t){Ce[x.stdin]=t}a(bt,"_setStdinOps");function jn(t){Ce[x.stdout]=t}a(jn,"_setStdoutOps");function Hn(t){Ce[x.stderr]=t}a(Hn,"_setStderrOps");function Wn(t){return t&&typeof t=="object"&&"errno"in t}a(Wn,"isErrnoError");var zn=new Int32Array(new WebAssembly.Memory({shared:!0,initial:1,maximum:1}).buffer);function Gn(t){try{return Atomics.wait(zn,0,0,t),!0}catch{return!1}}a(Gn,"syncSleep");function Kn(t){for(;;)try{return t()}catch(e){if(e&&e.code==="EAGAIN"&&Gn(100))continue;throw e}}a(Kn,"handleEAGAIN");function mr(t,e,r){let n;try{n=Kn(e)}catch(o){throw o&&o.code&&Module.ERRNO_CODES[o.code]?new FS.ErrnoError(Module.ERRNO_CODES[o.code]):Wn(o)?o:(console.error("Error thrown in read:"),console.error(o),new FS.ErrnoError(29))}if(n===void 0)throw console.warn(`${r} returned undefined; a correct implementation must return a number`),new FS.ErrnoError(29);return n!==0&&(t.node.timestamp=Date.now()),n}a(mr,"readWriteHelper");var _r=a((t,e,r)=>API.typedArrayAsUint8Array(t).subarray(e,e+r),"prepareBuffer"),Pt={open:a(function(t){let e=Ce[t.node.rdev];if(!e)throw new FS.ErrnoError(43);t.devops=e,t.tty=t.devops.isatty?{ops:{}}:void 0,t.seekable=!1},"open"),close:a(function(t){t.stream_ops.fsync(t)},"close"),fsync:a(function(t){let e=t.devops;e.fsync&&e.fsync()},"fsync"),read:a(function(t,e,r,n,o){return e=_r(e,r,n),mr(t,()=>t.devops.read(e),"read")},"read"),write:a(function(t,e,r,n,o){return e=_r(e,r,n),mr(t,()=>t.devops.write(e),"write")},"write")};function Ue(){br&&(FS.closeStream(0),FS.closeStream(1),FS.closeStream(2),FS.open("/dev/stdin",0),FS.open("/dev/stdout",1),FS.open("/dev/stderr",1))}a(Ue,"refreshStreams");API.initializeStreams=function(t,e,r){let n=FS.createDevice.major++;x.stdin=FS.makedev(n,0),x.stdout=FS.makedev(n,1),x.stderr=FS.makedev(n,2),FS.registerDevice(x.stdin,Pt),FS.registerDevice(x.stdout,Pt),FS.registerDevice(x.stderr,Pt),FS.unlink("/dev/stdin"),FS.unlink("/dev/stdout"),FS.unlink("/dev/stderr"),FS.mkdev("/dev/stdin",x.stdin),FS.mkdev("/dev/stdout",x.stdout),FS.mkdev("/dev/stderr",x.stderr),re({stdin:t}),kt({batched:e}),Et({batched:r}),br=!0,Ue()};function Jn(){re(f?new xt(process.stdin.fd):{stdin:a(()=>prompt(),"stdin")})}a(Jn,"setDefaultStdin");function Vn(){bt(new vt),Ue()}a(Vn,"setStdinError");function re(t={}){let{stdin:e,error:r,isatty:n,autoEOF:o,read:i}=t,s=+!!e+ +!!r+ +!!i;if(s>1)throw new TypeError("At most one of stdin, read, and error must be provided.");if(!e&&o!==void 0)throw new TypeError("The 'autoEOF' option can only be used with the 'stdin' option");if(s===0){Jn();return}r&&Vn(),e&&(o=o===void 0?!0:o,bt(new wt(e.bind(t),!!n,o))),i&&bt(t),Ue()}a(re,"setStdin");function vr(t,e,r){let{raw:n,isatty:o,batched:i,write:s}=t,l=+!!n+ +!!i+ +!!s;if(l===0&&(t=r(),({raw:n,isatty:o,batched:i,write:s}=t)),l>1)throw new TypeError("At most one of 'raw', 'batched', and 'write' must be passed");if(!n&&!s&&o)throw new TypeError("Cannot set 'isatty' to true unless 'raw' or 'write' is provided");n&&e(new St(n.bind(t),!!o)),i&&e(new At(i.bind(t))),s&&e(t),Ue()}a(vr,"_setStdwrite");function qn(){return f?new $e(process.stdout.fd):{batched:a(t=>console.log(t),"batched")}}a(qn,"_getStdoutDefaults");function Yn(){return f?new $e(process.stderr.fd):{batched:a(t=>console.warn(t),"batched")}}a(Yn,"_getStderrDefaults");function kt(t={}){vr(t,jn,qn)}a(kt,"setStdout");function Et(t={}){vr(t,Hn,Yn)}a(Et,"setStderr");var Qn=globalThis.TextEncoder??function(){},Xn=new Qn,vt=class{static{a(this,"ErrorReader")}read(e){throw new FS.ErrnoError(29)}},xt=class{static{a(this,"NodeReader")}constructor(e){this.fd=e,this.isatty=hr.isatty(e)}read(e){try{return It.readSync(this.fd,e)}catch(r){if(r.toString().includes("EOF"))return 0;throw r}}fsync(){Pr(this.fd)}},wt=class{static{a(this,"LegacyReader")}constructor(e,r,n){this.infunc=e,this.isatty=r,this.autoEOF=n,this.index=0,this.saved=void 0,this.insertEOF=!1}_getInput(){if(this.saved)return this.saved;let e=this.infunc();if(typeof e=="number")return e;if(e!=null){if(ArrayBuffer.isView(e)){if(e.BYTES_PER_ELEMENT!==1)throw console.warn(`Expected BYTES_PER_ELEMENT to be 1, infunc gave ${e.constructor}`),new FS.ErrnoError(29);return e}if(typeof e=="string")return e.endsWith(`\n`)||(e+=`\n`),e;if(Object.prototype.toString.call(e)==="[object ArrayBuffer]")return new Uint8Array(e);throw console.warn("Expected result to be undefined, null, string, array buffer, or array buffer view"),new FS.ErrnoError(29)}}read(e){if(this.insertEOF)return this.insertEOF=!1,0;let r=0;for(;;){let n=this._getInput();if(typeof n=="number"){e[0]=n,e=e.subarray(1),r++;continue}let o;if(n&&n.length>0)if(typeof n=="string"){let{read:i,written:s}=Xn.encodeInto(n,e);this.saved=n.slice(i),r+=s,o=e[s-1],e=e.subarray(s)}else{let i;n.length>e.length?(e.set(n.subarray(0,e.length)),this.saved=n.subarray(e.length),i=e.length):(e.set(n),this.saved=void 0,i=n.length),r+=i,o=e[i-1],e=e.subarray(i)}if(!(n&&n.length>0)||this.autoEOF||e.length===0)return this.insertEOF=r>0&&this.autoEOF&&o!==10,r}}fsync(){}},St=class{static{a(this,"CharacterCodeWriter")}constructor(e,r){this.out=e,this.isatty=r}write(e){for(let r of e)this.out(r);return e.length}},At=class{constructor(e){this.isatty=!1;this.out=e,this.output=[]}static{a(this,"StringWriter")}write(e){for(let r of e)r===10?(this.out(UTF8ArrayToString(new Uint8Array(this.output))),this.output=[]):r!==0&&this.output.push(r);return e.length}fsync(){this.output&&this.output.length>0&&(this.out(UTF8ArrayToString(new Uint8Array(this.output))),this.output=[])}},$e=class{static{a(this,"NodeWriter")}constructor(e){this.fd=e,this.isatty=hr.isatty(e)}write(e){return It.writeSync(this.fd,e)}fsync(){Pr(this.fd)}};var Ft="sched$"+Math.random().toString(36).slice(2)+"$",Ot={},Mt=0;function Zn(){if(!j)return;let t=a(e=>{if(typeof e.data=="string"&&e.data.indexOf(Ft)===0){let r=+e.data.slice(Ft.length),n=Ot[r];if(!n)return;try{n()}finally{delete Ot[r]}}},"onGlobalMessage");globalThis.addEventListener("message",t,!1)}a(Zn,"installPostMessageHandler");Zn();function eo(t){if(f)setImmediate(t);else if(!gt&&!Te&&typeof globalThis.MessageChannel=="function"){let e=new MessageChannel;e.port1.onmessage=()=>{e.port1.onmessage=null,e.port1.close(),e.port2.close(),t()},e.port2.postMessage("")}else j&&typeof globalThis.postMessage=="function"?(Ot[Mt]=t,globalThis.postMessage(Ft+Mt,"*"),Mt++):setTimeout(t,0)}a(eo,"scheduleCallbackImmediate");function Be(t,e=0){e<=2?eo(t):setTimeout(t,e)}a(Be,"scheduleCallback");var{get:to,getOwnPropertyDescriptor:ro,ownKeys:no}=Reflect,oo=a(t=>({value:t,enumerable:!0,writable:!0,configurable:!0}),"getPropertyDescriptor"),wr=Symbol(),xr="prototype",ao={deleteProperty:a((t,e)=>t.has(e)?t.delete(e):delete t[e],"deleteProperty"),get(t,e,r){if(e===wr)return t;let n=t[e];return typeof n=="function"&&e!=="constructor"&&(n=n.bind(t)),n||=t.get(e),n},getOwnPropertyDescriptor(t,e){if(t.has(e))return oo(t.get(e));if(e in t)return ro(t,e)},has:a((t,e)=>t.has(e)||e in t,"has"),ownKeys:a(t=>[...t.keys(),...no(t)].filter(e=>["string","symbol"].includes(typeof e)),"ownKeys"),set:a((t,e,r)=>(t.set(e,r),!0),"set")},io=new Proxy(class extends Map{static{a(this,"LiteralMap")}constructor(...e){return new Proxy(super(...e),ao)}},{get(t,e,...r){return e!==xr&&e in t[xr]?(n,...o)=>{let i=n[wr],s=i[e];return typeof s=="function"&&(s=s.apply(i,o)),s===i?n:s}:to(t,e,...r)}}),Sr=io;var je=new FinalizationRegistry(t=>void t());function so(t){let e=new AbortController;for(let l of t)if(l.aborted)return e.abort(l.reason),e.signal;let r=new WeakRef(e),n=[],o=t.length;t.forEach(l=>{let c=new WeakRef(l);function u(){r.deref()?.abort(c.deref()?.reason)}a(u,"abort"),l.addEventListener("abort",u),n.push([c,u]),je.register(l,()=>!--o&&i(),l)});function i(){n.forEach(([l,c])=>{let u=l.deref();u&&(u.removeEventListener("abort",c),je.unregister(u));let y=r.deref();y&&(je.unregister(y.signal),delete y.signal.__controller)})}a(i,"clear");let{signal:s}=e;return je.register(s,i,s),s.addEventListener("abort",i),s.__controller=e,s}a(so,"abortSignalAny");var Ar=so;API.getExpectedKeys=function(){return[null,API.config.jsglobals,API.public_api,API,Be,API,{}]};var Er=Symbol("getAccessorList");function He(t,e=[]){return new Proxy(t,{get(r,n,o){if(n===Er)return e;let i=Reflect.get(...arguments),s=Reflect.getOwnPropertyDescriptor(r,n);return s&&s.writable===!1&&!s.configurable||s&&s.set&&!s.get||!["object","function"].includes(typeof i)?i:He(i,[...e,n])},getPrototypeOf(){return He(Reflect.getPrototypeOf(...arguments),[...e,"[getProtoTypeOf]"])}})}a(He,"makeGlobalsProxy");var Mr=1886286592,We=48;function lo(t,e){if(e.length!==8)throw new Error("Expected 256 bit buffer");for(let r=0;r<32;r++)e[r]=parseInt(t.slice(r*8,(r+1)*8),16)}a(lo,"encodeBuildId");function co(t){if(t.length!==8)throw new Error("Expected 256 bit buffer");return Array.from(t,e=>e.toString(16).padStart(8,"0")).join("")}a(co,"decodeBuildId");function Ir(t,e,r){if(e===r)return;if(typeof r=="function"&&typeof e!="function")throw console.warn(r,e),new Error(`Expected function at index ${t}`);let n=!1;try{n=JSON.stringify(e)===JSON.stringify(r)}catch(o){console.warn(o)}if(!n)throw console.warn(r,e),new Error(`Unexpected hiwire entry at index ${t}`)}a(Ir,"checkEntry");var ne=6;API.serializeHiwireState=function(t,e){e||(e=Ir);let r=[],n=API.getExpectedKeys();for(let s=0;skr(i,o)),e.hiwireKeys.forEach((o,i)=>{let s;if(!o)s=o;else if("path"in o)s=o.path.reduce((l,c)=>l[c],t)||null;else if("abortSignalAny"in o)s=API.abortSignalAny;else if("API"in o)s=API;else{if(!r)throw new Error("You must pass an appropriate deserializer as _snapshotDeserializer");s=r(o.serialized)}kr(n.length+i,s)}),e.immortalKeys.forEach(o=>Module.__hiwire_immortal_add(o))}a(Or,"syncUpSnapshotLoad2");async function Tr(t,e){return new Promise((r,n)=>{t.FS.syncfs(e,o=>{o?n(o):r()})})}a(Tr,"syncfs");async function Nr(t){return await Tr(t,!1)}a(Nr,"syncLocalToRemote");async function Dr(t){return await Tr(t,!0)}a(Dr,"syncRemoteToLocal");API.loadBinaryFile=Q;API.rawRun=a(function(e){let r=Module.stringToNewUTF8(e);Module.API.capture_stderr();let n=_PyRun_SimpleString(r);_free(r);let o=Module.API.restore_stderr().trim();return[n,o]},"rawRun");API.runPythonInternal=function(t){return API._pyodide._base.eval_code(t,API.runPythonInternal_dict)};API.setPyProxyToStringMethod=function(t){Module.HEAP8[Module._compat_to_string_repr]=+t};API.setCompatNullToNone=function(t){Module.HEAP8[Module._compat_null_to_none]=+t};API.saveState=()=>API.pyodide_py._state.save_state();API.restoreState=t=>API.pyodide_py._state.restore_state(t);API.scheduleCallback=Be;API.detectEnvironment=nr;typeof AbortSignal<"u"&&AbortSignal.any?API.abortSignalAny=AbortSignal.any:API.abortSignalAny=Ar;API.LiteralMap=Sr;function Rr(t){Module.FS.mkdirTree(t);let{node:e}=Module.FS.lookupPath(t,{follow_mount:!1});if(Module.FS.isMountpoint(e))throw new Error(`path '${t}' is already a file system mount point`);if(!Module.FS.isDir(e.mode))throw new Error(`path '${t}' points to a file not a directory`);for(let r in e.contents)throw new Error(`directory '${t}' is not empty`)}a(Rr,"ensureMountPathExists");var Tt=class{static{a(this,"PyodideAPI_")}static{this.version=gr}static{this.loadPackage=te}static{this.loadedPackages=ee}static{this.ffi=Qt}static{this.setStdin=re}static{this.setStdout=kt}static{this.setStderr=Et}static{this.globals={}}static{this.FS={}}static{this.PATH={}}static{this.canvas=er}static{this.ERRNO_CODES={}}static{this.pyodide_py={}}static async loadPackagesFromImports(e,r={checkIntegrity:!0}){let n=API.pyodide_code.find_imports(e),o;try{o=n.toJs()}finally{n.destroy()}if(o.length===0)return[];let i=API._import_name_to_package_name,s=new Set;for(let l of o)i.has(l)&&s.add(i.get(l));return s.size?await te(Array.from(s),r):[]}static runPython(e,r={}){return r.globals||(r.globals=API.globals),API.pyodide_code.eval_code.callKwargs(e,r)}static async runPythonAsync(e,r={}){return r.globals||(r.globals=API.globals),await API.pyodide_code.eval_code_async.callKwargs(e,r)}static registerJsModule(e,r){API.pyodide_ffi.register_js_module(e,r)}static unregisterJsModule(e){API.pyodide_ffi.unregister_js_module(e)}static toPy(e,{depth:r,defaultConverter:n}={depth:-1}){switch(typeof e){case"string":case"number":case"boolean":case"bigint":case"undefined":return e}if(!e||API.isPyProxy(e))return e;let o=0,i=0;try{o=Module.js2python_convert(e,{depth:r,defaultConverter:n})}catch(s){throw s instanceof Module._PropagatePythonError&&_pythonexc2js(),s}try{if(_JsProxy_Check(o))return e;i=_python2js(o),i===null&&_pythonexc2js()}finally{_Py_DecRef(o)}return i}static pyimport(e){return API.pyodide_base.pyimport_impl(e)}static unpackArchive(e,r,n={}){if(!ArrayBuffer.isView(e)&&API.getTypeTag(e)!=="[object ArrayBuffer]")throw new TypeError("Expected argument 'buffer' to be an ArrayBuffer or an ArrayBuffer view");API.typedArrayAsUint8Array(e);let o=n.extractDir;API.package_loader.unpack_buffer.callKwargs({buffer:e,format:r,extract_dir:o,metadata:tr})}static async mountNativeFS(e,r){if(r.constructor.name!=="FileSystemDirectoryHandle")throw new TypeError("Expected argument 'fileSystemHandle' to be a FileSystemDirectoryHandle");return Rr(e),Module.FS.mount(Module.FS.filesystems.NATIVEFS_ASYNC,{fileSystemHandle:r},e),await Dr(Module),{syncfs:a(async()=>await Nr(Module),"syncfs")}}static mountNodeFS(e,r){if(!f)throw new Error("mountNodeFS only works in Node");Rr(e);let n;try{n=Le.lstatSync(r)}catch{throw new Error(`hostPath '${r}' does not exist`)}if(!n.isDirectory())throw new Error(`hostPath '${r}' is not a directory`);Module.FS.mount(Module.FS.filesystems.NODEFS,{root:r},e)}static registerComlink(e){API._Comlink=e}static setInterruptBuffer(e){Module.HEAP8[Module._Py_EMSCRIPTEN_SIGNAL_HANDLING]=+!!e,Module.Py_EmscriptenSignalBuffer=e}static checkInterrupt(){if(_PyGILState_Check()){__PyErr_CheckSignals()&&_pythonexc2js();return}else{let e=Module.Py_EmscriptenSignalBuffer;if(e&&e[0]===2)throw new Module.FS.ErrnoError(27)}}static setDebug(e){let r=!!API.debug_ffi;return API.debug_ffi=e,r}static makeMemorySnapshot({serializer:e}={}){if(!API.config._makeSnapshot)throw new Error("Can only use pyodide.makeMemorySnapshot if the _makeSnapshot option is passed to loadPyodide");return API.makeSnapshot(e)}static get lockfile(){return API.lockfile}static get lockfileBaseUrl(){return API.config.packageCacheDir??API.config.packageBaseUrl}};function uo(){let t=Object.getOwnPropertyDescriptors(Tt);delete t.prototype;let e=Object.create({},t);return API.public_api=e,e.FS=Module.FS,e.PATH=Module.PATH,e.ERRNO_CODES=Module.ERRNO_CODES,e._module=Module,e._api=API,e}a(uo,"makePublicAPI");function yo(t,e){return new Proxy(t,{get(r,n){return n==="get"?o=>{let i=r.get(o);return i===void 0&&(i=e.get(o)),i}:n==="has"?o=>r.has(o)||e.has(o):Reflect.get(r,n)}})}a(yo,"wrapPythonGlobals");var Lr;API.bootstrapFinalizedPromise=new Promise(t=>Lr=t);API.finalizeBootstrap=function(t,e){t&&Fr();let[r,n]=API.rawRun("import _pyodide_core");r&&API.fatal_loading_error(`Failed to import _pyodide_core\n`,n),API.runPythonInternal_dict=API._pyodide._base.eval_code("{}"),API.importlib=API.runPythonInternal("import importlib; importlib");let o=API.importlib.import_module;API.sys=o("sys"),API.os=o("os");let i=API.runPythonInternal("import __main__; __main__.__dict__"),s=API.runPythonInternal("import builtins; builtins.__dict__");API.globals=yo(i,s);let l=API._pyodide._importhook,c=uo();API.config._makeSnapshot&&(API.config.jsglobals=He(API.config.jsglobals));let u=API.config.jsglobals;return t?Or(u,t,e):(l.register_js_finder(),l.register_js_module("js",u),l.register_js_module("pyodide_js",c)),API.pyodide_py=o("pyodide"),API.pyodide_code=o("pyodide.code"),API.pyodide_ffi=o("pyodide.ffi"),API.package_loader=o("pyodide._package_loader"),API.pyodide_base=o("_pyodide._base"),API.sitepackages=API.package_loader.SITE_PACKAGES.__str__(),API.dsodir=API.package_loader.DSO_DIR.__str__(),API.defaultLdLibraryPath=[API.dsodir,API.sitepackages],API.os.environ.__setitem__("LD_LIBRARY_PATH",API.defaultLdLibraryPath.join(":")),c.pyodide_py=API.pyodide_py,c.globals=API.globals,Lr(),c}})()}var StackSwitching=(()=>{var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var stack_switching_exports={};__export(stack_switching_exports,{StackState:()=>StackState,createPromising:()=>createPromising,jspiSupported:()=>jspiSupported,newJspiSupported:()=>newJspiSupported,oldJspiSupported:()=>oldJspiSupported,promisingApply:()=>promisingApply,promisingRunMain:()=>promisingRunMain,suspenderGlobal:()=>suspenderGlobal,validSuspender:()=>validSuspender});var suspenderGlobal={value:null};var validSuspender={value:false};var promisingApplyHandler;function promisingApply(...args){validSuspender.value=true;Module.stackStop=stackSave();return promisingApplyHandler(...args)}var promisingRunMainHandler;function promisingRunMain(...args){validSuspender.value=true;Module.stackStop=stackSave();return promisingRunMainHandler(...args)}function createPromising(wasm_func){if(Module.newJspiSupported){const promisingFunc=WebAssembly.promising(wasm_func);async function wrapper(...args){const orig=validSuspender.value;validSuspender.value=true;try{return await promisingFunc(null,...args)}finally{validSuspender.value=orig}}return wrapper}const{parameters}=wasmFunctionType(wasm_func);parameters.shift();return new WebAssembly.Function({parameters,results:["externref"]},wasm_func,{promising:"first"})}function initSuspenders(){promisingApplyHandler=createPromising(wasmExports._pyproxy_apply_promising);if(wasmExports.run_main_promising){promisingRunMainHandler=createPromising(wasmExports.run_main_promising)}}var stackStates=[];var StackState=class{constructor(){this.start=stackSave();this.stop=Module.stackStop;this._copy=new Uint8Array(0);if(this.start!==this.stop){stackStates.push(this)}}restore(){let total=0;while(stackStates.length>0&&stackStates[stackStates.length-1].stop>>0,this.start+sz2>>>0);const c=new Uint8Array(sz2);c.set(this._copy);c.set(new_segment,sz1);this._copy=c;return sz2}_save(){return this._save_up_to(this.stop)}};var canConstructWasm=true;try{new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0]))}catch(e){canConstructWasm=false}var newJspiSupported=canConstructWasm&&"Suspending"in WebAssembly;var oldJspiSupported=canConstructWasm&&"Suspender"in WebAssembly;var jspiSupported=newJspiSupported||oldJspiSupported;Module.newJspiSupported=newJspiSupported;Module.oldJspiSupported=oldJspiSupported;Module.jspiSupported=jspiSupported;if(jspiSupported){Module.preRun.push(initSuspenders)}return __toCommonJS(stack_switching_exports)})();const{StackState,createPromising,jspiSupported,newJspiSupported,oldJspiSupported,promisingApply,promisingRunMain,suspenderGlobal,validSuspender}=StackSwitching;Object.assign(Module,StackSwitching);const API=Module.API;const Hiwire={};const Tests={};API.tests=Tests;API.version="0.28.3";API.abiVersion="2025_0";Module.hiwire=Hiwire;function getTypeTag(x){try{return Object.prototype.toString.call(x)}catch(e){return""}}API.getTypeTag=getTypeTag;function hasProperty(obj,prop){try{while(obj){if(Object.hasOwn(obj,prop)){return true}obj=Object.getPrototypeOf(obj)}}catch(e){}return false}function hasMethod(obj,prop){try{return typeof obj[prop]==="function"}catch(e){return false}}const pyproxyIsAlive=px=>!!Module.PyProxy_getAttrsQuiet(px).shared.ptr;API.pyproxyIsAlive=pyproxyIsAlive;const errNoRet=()=>{throw new Error("Assertion error: control reached end of function without return")};function isPromise(obj){try{return typeof obj?.then==="function"}catch(e){return false}}API.isPromise=isPromise;function bufferAsUint8Array(arg){if(ArrayBuffer.isView(arg)){return new Uint8Array(arg.buffer,arg.byteOffset,arg.byteLength)}else{return new Uint8Array(arg)}}API.typedArrayAsUint8Array=bufferAsUint8Array;Module.iterObject=function*(object){for(let k in object){if(Object.hasOwn(object,k)){yield k}}};function wasmFunctionType(wasm_func){if(!WebAssembly.Function){throw new Error("No type reflection")}if(WebAssembly.Function.type){return WebAssembly.Function.type(wasm_func)}return wasm_func.type()}pyodide_js_init();pyodide_js_init.sig="v";function set_suspender(suspender){suspenderGlobal.value=suspender}set_suspender.sig="ve";function get_suspender(){return suspenderGlobal.value}get_suspender.sig="e";function syncifyHandler(x,y){return Module.error}async function inner(x,y){try{return await(x??y)}catch(e){if(e&&e.pyodide_fatal_error){throw e}Module.syncify_error=e;return Module.error}}if(newJspiSupported){syncifyHandler=new WebAssembly.Suspending(inner)}else if(oldJspiSupported){syncifyHandler=new WebAssembly.Function({parameters:["externref","externref"],results:["externref"]},inner,{suspending:"first"})}syncifyHandler.sig="eee";function JsvPromise_Syncify_handleError(){if(!Module.syncify_error){return}Module.handle_js_error(Module.syncify_error);delete Module.syncify_error}JsvPromise_Syncify_handleError.sig="v";function saveState(){if(!validSuspender.value){return Module.error}const stackState=new StackState;const threadState=_captureThreadState();return{threadState,stackState,suspender:suspenderGlobal.value}}saveState.sig="e";function restoreState(state){state.stackState.restore();_restoreThreadState(state.threadState);suspenderGlobal.value=state.suspender;validSuspender.value=true}restoreState.sig="ve";function _Py_emscripten_runtime(){var info;if(typeof navigator=="object"){info=navigator.userAgent}else if(typeof process=="object"){info="Node.js ".concat(process.version)}else{info="UNKNOWN"}var len=lengthBytesUTF8(info)+1;var res=_malloc(len);if(res)stringToUTF8(info,res,len);return res}_Py_emscripten_runtime.sig="i";function _Py_CheckEmscriptenSignals_Helper(){if(!Module.Py_EmscriptenSignalBuffer){return 0}try{let result=Module.Py_EmscriptenSignalBuffer[0];Module.Py_EmscriptenSignalBuffer[0]=0;return result}catch(e){return 0}}_Py_CheckEmscriptenSignals_Helper.sig="i";function _PyEM_GetCountArgsPtr(){return Module._PyEM_CountArgsPtr}_PyEM_GetCountArgsPtr.sig="i";function _PyEM_InitTrampoline_js(){const ptr=getPyEMCountArgsPtr();Module._PyEM_CountArgsPtr=ptr;const offset=HEAP32[__PyEM_EMSCRIPTEN_COUNT_ARGS_OFFSET/4>>>0];HEAP32[(__PyRuntime+offset)/4>>>0]=ptr}function getPyEMCountArgsPtr(){let isIOS=globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&typeof navigator.maxTouchPoints!=="undefined"&&navigator.maxTouchPoints>1);if(isIOS){return 0}const code=new Uint8Array([0,97,115,109,1,0,0,0,1,27,5,96,0,1,127,96,1,127,1,127,96,2,127,127,1,127,96,3,127,127,127,1,127,96,1,127,0,2,9,1,1,101,1,116,1,112,0,0,3,2,1,1,7,5,1,1,102,0,0,10,68,1,66,1,1,112,32,0,37,0,34,1,251,20,3,2,4,69,13,0,65,3,15,11,32,1,251,20,2,2,4,69,13,0,65,2,15,11,32,1,251,20,1,2,4,69,13,0,65,1,15,11,32,1,251,20,0,2,4,69,13,0,65,0,15,11,65,127,11]);try{const mod=new WebAssembly.Module(code);const inst=new WebAssembly.Instance(mod,{e:{t:wasmTable}});return addFunction(inst.exports.f)}catch(e){return 0}}_PyEM_InitTrampoline_js.sig="v";function _PyEM_TrampolineCall_JS(func,arg1,arg2,arg3){return wasmTable.get(func)(arg1,arg2,arg3)}_PyEM_TrampolineCall_JS.sig="iiiii";function unbox_small_structs(type_ptr){var type_id=HEAPU16[(type_ptr+6>>1)+0>>>0];while(type_id===13){var elements=HEAPU32[(type_ptr+8>>2)+0>>>0];var first_element=HEAPU32[(elements>>2)+0>>>0];if(first_element===0){type_id=0;break}else if(HEAPU32[(elements>>2)+1>>>0]===0){type_ptr=first_element;type_id=HEAPU16[(first_element+6>>1)+0>>>0]}else{break}}return[type_ptr,type_id]}function ffi_call_js(cif,fn,rvalue,avalue){var abi=HEAPU32[(cif>>2)+0>>>0];var nargs=HEAPU32[(cif>>2)+1>>>0];var nfixedargs=HEAPU32[(cif>>2)+6>>>0];var arg_types_ptr=HEAPU32[(cif>>2)+2>>>0];var rtype_unboxed=unbox_small_structs(HEAPU32[(cif>>2)+3>>>0]);var rtype_ptr=rtype_unboxed[0];var rtype_id=rtype_unboxed[1];var orig_stack_ptr=stackSave();var cur_stack_ptr=orig_stack_ptr;var args=[];var ret_by_arg=!!0;if(rtype_id===15){throw new Error("complex ret marshalling nyi")}if(rtype_id<0||rtype_id>15){throw new Error("Unexpected rtype "+rtype_id)}if(rtype_id===4||rtype_id===13){args.push(rvalue);ret_by_arg=!!1}for(var i=0;i>2)+i>>>0];var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i>>>0]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];switch(arg_type_id){case 1:case 10:case 9:case 14:args.push(HEAPU32[(arg_ptr>>2)+0>>>0]);break;case 2:args.push(HEAPF32[(arg_ptr>>2)+0>>>0]);break;case 3:args.push(HEAPF64[(arg_ptr>>3)+0>>>0]);break;case 5:args.push(HEAPU8[arg_ptr+0>>>0]);break;case 6:args.push(HEAP8[arg_ptr+0>>>0]);break;case 7:args.push(HEAPU16[(arg_ptr>>1)+0>>>0]);break;case 8:args.push(HEAP16[(arg_ptr>>1)+0>>>0]);break;case 11:case 12:args.push(HEAPU64[(arg_ptr>>3)+0>>>0]);break;case 4:args.push(HEAPU64[(arg_ptr>>3)+0>>>0]);args.push(HEAPU64[(arg_ptr>>3)+1>>>0]);break;case 13:var size=HEAPU32[(arg_type_ptr>>2)+0>>>0];var align=HEAPU16[(arg_type_ptr+4>>1)+0>>>0];cur_stack_ptr-=size,cur_stack_ptr&=~(align-1);HEAP8.subarray(cur_stack_ptr>>>0,cur_stack_ptr+size>>>0).set(HEAP8.subarray(arg_ptr>>>0,arg_ptr+size>>>0));args.push(cur_stack_ptr);break;case 15:throw new Error("complex marshalling nyi");default:throw new Error("Unexpected type "+arg_type_id)}}if(nfixedargs!=nargs){var struct_arg_info=[];for(var i=nargs-1;i>=nfixedargs;i--){var arg_ptr=HEAPU32[(avalue>>2)+i>>>0];var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i>>>0]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];switch(arg_type_id){case 5:case 6:cur_stack_ptr-=1,cur_stack_ptr&=~(1-1);HEAPU8[cur_stack_ptr+0>>>0]=HEAPU8[arg_ptr+0>>>0];break;case 7:case 8:cur_stack_ptr-=2,cur_stack_ptr&=~(2-1);HEAPU16[(cur_stack_ptr>>1)+0>>>0]=HEAPU16[(arg_ptr>>1)+0>>>0];break;case 1:case 9:case 10:case 14:case 2:cur_stack_ptr-=4,cur_stack_ptr&=~(4-1);HEAPU32[(cur_stack_ptr>>2)+0>>>0]=HEAPU32[(arg_ptr>>2)+0>>>0];break;case 3:case 11:case 12:cur_stack_ptr-=8,cur_stack_ptr&=~(8-1);HEAPU32[(cur_stack_ptr>>2)+0>>>0]=HEAPU32[(arg_ptr>>2)+0>>>0];HEAPU32[(cur_stack_ptr>>2)+1>>>0]=HEAPU32[(arg_ptr>>2)+1>>>0];break;case 4:cur_stack_ptr-=16,cur_stack_ptr&=~(8-1);HEAPU32[(cur_stack_ptr>>2)+0>>>0]=HEAPU32[(arg_ptr>>2)+0>>>0];HEAPU32[(cur_stack_ptr>>2)+1>>>0]=HEAPU32[(arg_ptr>>2)+1>>>0];HEAPU32[(cur_stack_ptr>>2)+2>>>0]=HEAPU32[(arg_ptr>>2)+2>>>0];HEAPU32[(cur_stack_ptr>>2)+3>>>0]=HEAPU32[(arg_ptr>>2)+3>>>0];break;case 13:cur_stack_ptr-=4,cur_stack_ptr&=~(4-1);struct_arg_info.push([cur_stack_ptr,arg_ptr,HEAPU32[(arg_type_ptr>>2)+0>>>0],HEAPU16[(arg_type_ptr+4>>1)+0>>>0]]);break;case 15:throw new Error("complex arg marshalling nyi");default:throw new Error("Unexpected argtype "+arg_type_id)}}args.push(cur_stack_ptr);for(var i=0;i>>0,cur_stack_ptr+size>>>0).set(HEAP8.subarray(arg_ptr>>>0,arg_ptr+size>>>0));HEAPU32[(arg_target>>2)+0>>>0]=cur_stack_ptr}}stackRestore(cur_stack_ptr);stackAlloc(0);var result=(0,getWasmTableEntry(fn).apply(null,args));stackRestore(orig_stack_ptr);if(ret_by_arg){return}switch(rtype_id){case 0:break;case 1:case 9:case 10:case 14:HEAPU32[(rvalue>>2)+0>>>0]=result;break;case 2:HEAPF32[(rvalue>>2)+0>>>0]=result;break;case 3:HEAPF64[(rvalue>>3)+0>>>0]=result;break;case 5:case 6:HEAPU8[rvalue+0>>>0]=result;break;case 7:case 8:HEAPU16[(rvalue>>1)+0>>>0]=result;break;case 11:case 12:HEAPU64[(rvalue>>3)+0>>>0]=result;break;case 15:throw new Error("complex ret marshalling nyi");default:throw new Error("Unexpected rtype "+rtype_id)}}ffi_call_js.sig="viiii";function ffi_closure_alloc_js(size,code){var closure=_malloc(size);var index=getEmptyTableSlot();HEAPU32[(code>>2)+0>>>0]=index;HEAPU32[(closure>>2)+0>>>0]=index;return closure}ffi_closure_alloc_js.sig="iii";function ffi_closure_free_js(closure){var index=HEAPU32[(closure>>2)+0>>>0];freeTableIndexes.push(index);_free(closure)}ffi_closure_free_js.sig="vi";function ffi_prep_closure_loc_js(closure,cif,fun,user_data,codeloc){var abi=HEAPU32[(cif>>2)+0>>>0];var nargs=HEAPU32[(cif>>2)+1>>>0];var nfixedargs=HEAPU32[(cif>>2)+6>>>0];var arg_types_ptr=HEAPU32[(cif>>2)+2>>>0];var rtype_unboxed=unbox_small_structs(HEAPU32[(cif>>2)+3>>>0]);var rtype_ptr=rtype_unboxed[0];var rtype_id=rtype_unboxed[1];var sig;var ret_by_arg=!!0;switch(rtype_id){case 0:sig="v";break;case 13:case 4:sig="vi";ret_by_arg=!!1;break;case 1:case 5:case 6:case 7:case 8:case 9:case 10:case 14:sig="i";break;case 2:sig="f";break;case 3:sig="d";break;case 11:case 12:sig="j";break;case 15:throw new Error("complex ret marshalling nyi");default:throw new Error("Unexpected rtype "+rtype_id)}var unboxed_arg_type_id_list=[];var unboxed_arg_type_info_list=[];for(var i=0;i>2)+i>>>0]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];unboxed_arg_type_id_list.push(arg_type_id);unboxed_arg_type_info_list.push([HEAPU32[(arg_type_ptr>>2)+0>>>0],HEAPU16[(arg_type_ptr+4>>1)+0>>>0]])}for(var i=0;i>2)+carg_idx>>>0]=cur_ptr;HEAPU8[cur_ptr+0>>>0]=cur_arg;break;case 7:case 8:cur_ptr-=2,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPU16[(cur_ptr>>1)+0>>>0]=cur_arg;break;case 1:case 9:case 10:case 14:cur_ptr-=4,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPU32[(cur_ptr>>2)+0>>>0]=cur_arg;break;case 13:cur_ptr-=arg_size,cur_ptr&=~(arg_align-1);HEAP8.subarray(cur_ptr>>>0,cur_ptr+arg_size>>>0).set(HEAP8.subarray(cur_arg>>>0,cur_arg+arg_size>>>0));HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;break;case 2:cur_ptr-=4,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPF32[(cur_ptr>>2)+0>>>0]=cur_arg;break;case 3:cur_ptr-=8,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPF64[(cur_ptr>>3)+0>>>0]=cur_arg;break;case 11:case 12:cur_ptr-=8,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPU64[(cur_ptr>>3)+0>>>0]=cur_arg;break;case 4:cur_ptr-=16,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr;HEAPU64[(cur_ptr>>3)+0>>>0]=cur_arg;cur_arg=args[jsarg_idx++];HEAPU64[(cur_ptr>>3)+1>>>0]=cur_arg;break}}var varargs=args[args.length-1];for(;carg_idx>2)+0>>>0];cur_ptr-=arg_size,cur_ptr&=~(arg_align-1);HEAP8.subarray(cur_ptr>>>0,cur_ptr+arg_size>>>0).set(HEAP8.subarray(struct_ptr>>>0,struct_ptr+arg_size>>>0));HEAPU32[(args_ptr>>2)+carg_idx>>>0]=cur_ptr}else{HEAPU32[(args_ptr>>2)+carg_idx>>>0]=varargs}varargs+=4}stackRestore(cur_ptr);stackAlloc(0);0;getWasmTableEntry(HEAPU32[(closure>>2)+2>>>0])(HEAPU32[(closure>>2)+1>>>0],ret_ptr,args_ptr,HEAPU32[(closure>>2)+3>>>0]);stackRestore(orig_stack_ptr);if(!ret_by_arg){switch(sig[0]){case"i":return HEAPU32[(ret_ptr>>2)+0>>>0];case"j":return HEAPU64[(ret_ptr>>3)+0>>>0];case"d":return HEAPF64[(ret_ptr>>3)+0>>>0];case"f":return HEAPF32[(ret_ptr>>2)+0>>>0]}}}try{var wasm_trampoline=convertJsFunctionToWasm(trampoline,sig)}catch(e){return 1}setWasmTableEntry(codeloc,wasm_trampoline);HEAPU32[(closure>>2)+1>>>0]=cif;HEAPU32[(closure>>2)+2>>>0]=fun;HEAPU32[(closure>>2)+3>>>0]=user_data;return 0}ffi_prep_closure_loc_js.sig="iiiiii";function __hiwire_deduplicate_new(){return new Map}__hiwire_deduplicate_new.sig="e";function __hiwire_deduplicate_get(map,value){return map.get(value)}__hiwire_deduplicate_get.sig="iee";function __hiwire_deduplicate_set(map,value,ref){map.set(value,ref)}__hiwire_deduplicate_set.sig="veei";function __hiwire_deduplicate_delete(map,value){map.delete(value)}__hiwire_deduplicate_delete.sig="vee";var wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,JsArray_count_js,JsArray_index_js,JsArray_inplace_repeat_js,JsArray_repeat_js,JsArray_reverse_js,JsArray_reversed_iterator,JsBuffer_DecodeString_js,JsBuffer_get_info,JsDoubleProxy_unwrap_js,JsException_new_helper,JsMap_GetIter_js,JsMap_clear_js,JsModule_GetAll_js,JsObjMap_GetIter_js,JsObjMap_ass_subscript_js,JsObjMap_contains_js,JsObjMap_length_js,JsObjMap_subscript_js,JsProxy_Bool_js,JsProxy_DelAttr_js,JsProxy_Dir_js,JsProxy_GetAsyncIter_js,JsProxy_GetAttr_js,JsProxy_GetIter_js,JsProxy_SetAttr_js,JsProxy_compute_typeflags,JsProxy_subscript_js,JsProxy_to_weakref_js,JsvArray_Check,JsvArray_Delete,JsvArray_Extend,JsvArray_Get,JsvArray_Insert,JsvArray_New,JsvArray_Push,JsvArray_Set,JsvArray_ShallowCopy,JsvArray_slice,JsvArray_slice_assign,JsvAsyncGenerator_Check,JsvBuffer_assignFromPtr,JsvBuffer_assignToPtr,JsvBuffer_intoFile,JsvBuffer_readFromFile,JsvBuffer_writeToFile,JsvError_Throw,JsvFunction_CallBound,JsvFunction_Call_OneArg,JsvFunction_Check,JsvFunction_Construct,JsvGenerator_Check,JsvLiteralMap_New,JsvMap_New,JsvMap_Set,JsvNoValue_Check,JsvNum_fromDigits,JsvNum_fromDouble,JsvNum_fromInt,JsvObject_CallMethod,JsvObject_CallMethod_NoArgs,JsvObject_CallMethod_OneArg,JsvObject_CallMethod_TwoArgs,JsvObject_Entries,JsvObject_Keys,JsvObject_New,JsvObject_SetAttr,JsvObject_Values,JsvObject_toString,JsvPromise_Check,JsvPromise_Resolve,JsvPromise_Syncify_handleError,JsvSet_Add,JsvSet_New,JsvUTF8ToString,Jsv_constructorName,Jsv_equal,Jsv_greater_than,Jsv_greater_than_equal,Jsv_less_than,Jsv_less_than_equal,Jsv_not_equal,Jsv_to_bool,Jsv_typeof,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_DisplayFormat:_SDL_DisplayFormat,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,_JsArray_PostProcess_helper,_JsArray_PushEntry_helper,_PyEM_GetCountArgsPtr,_PyEM_InitTrampoline_js,_PyEM_TrampolineCall_JS,_Py_CheckEmscriptenSignals_Helper,_Py_emscripten_runtime,_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,__global_base:___global_base,__heap_base:___heap_base,__hiwire_deduplicate_delete,__hiwire_deduplicate_get,__hiwire_deduplicate_new,__hiwire_deduplicate_set,__indirect_function_table:wasmTable,__memory_base:___memory_base,__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_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_abort_js:__abort_js,_agen_handle_result_js,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_emscripten_dlopen_js:__emscripten_dlopen_js,_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_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_system:__emscripten_system,_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,_pyproxyGen_make_result,_pyproxy_get_buffer_result,_python2js_add_to_cache,_python2js_addto_postprocess_list,_python2js_buffer_inner,_python2js_cache_lookup,_python2js_handle_postprocess_list,_python2js_ucs1,_python2js_ucs2,_python2js_ucs4,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,array_to_js,boxColor:_boxColor,boxRGBA:_boxRGBA,can_run_sync_js,capture_stderr,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,create_once_callable,create_promise_handles,create_sentinel:_create_sentinel,destroy_jsarray_entries,destroy_proxies,destroy_proxies_js,destroy_proxy,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_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_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,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_trace:_emscripten_console_trace,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_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_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_glBeginQuery:_emscripten_glBeginQuery,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBeginTransformFeedback:_emscripten_glBeginTransformFeedback,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindBufferBase:_emscripten_glBindBufferBase,emscripten_glBindBufferRange:_emscripten_glBindBufferRange,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindSampler:_emscripten_glBindSampler,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindTransformFeedback:_emscripten_glBindTransformFeedback,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_glBlitFramebuffer:_emscripten_glBlitFramebuffer,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearBufferfi:_emscripten_glClearBufferfi,emscripten_glClearBufferfv:_emscripten_glClearBufferfv,emscripten_glClearBufferiv:_emscripten_glClearBufferiv,emscripten_glClearBufferuiv:_emscripten_glClearBufferuiv,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClientWaitSync:_emscripten_glClientWaitSync,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexImage3D:_emscripten_glCompressedTexImage3D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCompressedTexSubImage3D:_emscripten_glCompressedTexSubImage3D,emscripten_glCopyBufferSubData:_emscripten_glCopyBufferSubData,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCopyTexSubImage3D:_emscripten_glCopyTexSubImage3D,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_glDeleteQueries:_emscripten_glDeleteQueries,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteSamplers:_emscripten_glDeleteSamplers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteSync:_emscripten_glDeleteSync,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteTransformFeedbacks:_emscripten_glDeleteTransformFeedbacks,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_glDrawArraysInstancedBaseInstance:_emscripten_glDrawArraysInstancedBaseInstance,emscripten_glDrawArraysInstancedBaseInstanceANGLE:_emscripten_glDrawArraysInstancedBaseInstanceANGLE,emscripten_glDrawArraysInstancedBaseInstanceWEBGL:_emscripten_glDrawArraysInstancedBaseInstanceWEBGL,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_glDrawElementsInstancedBaseVertexBaseInstanceANGLE:_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceANGLE,emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:_emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glDrawRangeElements:_emscripten_glDrawRangeElements,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQuery:_emscripten_glEndQuery,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glEndTransformFeedback:_emscripten_glEndTransformFeedback,emscripten_glFenceSync:_emscripten_glFenceSync,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFramebufferTextureLayer:_emscripten_glFramebufferTextureLayer,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueries:_emscripten_glGenQueries,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenSamplers:_emscripten_glGenSamplers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenTransformFeedbacks:_emscripten_glGenTransformFeedbacks,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetActiveUniformBlockName:_emscripten_glGetActiveUniformBlockName,emscripten_glGetActiveUniformBlockiv:_emscripten_glGetActiveUniformBlockiv,emscripten_glGetActiveUniformsiv:_emscripten_glGetActiveUniformsiv,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteri64v:_emscripten_glGetBufferParameteri64v,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetBufferSubData:_emscripten_glGetBufferSubData,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFragDataLocation:_emscripten_glGetFragDataLocation,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetInteger64i_v:_emscripten_glGetInteger64i_v,emscripten_glGetInteger64v:_emscripten_glGetInteger64v,emscripten_glGetIntegeri_v:_emscripten_glGetIntegeri_v,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetInternalformativ:_emscripten_glGetInternalformativ,emscripten_glGetProgramBinary:_emscripten_glGetProgramBinary,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuiv:_emscripten_glGetQueryObjectuiv,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryiv:_emscripten_glGetQueryiv,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetSamplerParameterfv:_emscripten_glGetSamplerParameterfv,emscripten_glGetSamplerParameteriv:_emscripten_glGetSamplerParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetStringi:_emscripten_glGetStringi,emscripten_glGetSynciv:_emscripten_glGetSynciv,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetTransformFeedbackVarying:_emscripten_glGetTransformFeedbackVarying,emscripten_glGetUniformBlockIndex:_emscripten_glGetUniformBlockIndex,emscripten_glGetUniformIndices:_emscripten_glGetUniformIndices,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetUniformuiv:_emscripten_glGetUniformuiv,emscripten_glGetVertexAttribIiv:_emscripten_glGetVertexAttribIiv,emscripten_glGetVertexAttribIuiv:_emscripten_glGetVertexAttribIuiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glInvalidateFramebuffer:_emscripten_glInvalidateFramebuffer,emscripten_glInvalidateSubFramebuffer:_emscripten_glInvalidateSubFramebuffer,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQuery:_emscripten_glIsQuery,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsSampler:_emscripten_glIsSampler,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsSync:_emscripten_glIsSync,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsTransformFeedback:_emscripten_glIsTransformFeedback,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_glMultiDrawArraysInstancedBaseInstanceANGLE:_emscripten_glMultiDrawArraysInstancedBaseInstanceANGLE,emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL:_emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE:_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE,emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:_emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPauseTransformFeedback:_emscripten_glPauseTransformFeedback,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glProgramBinary:_emscripten_glProgramBinary,emscripten_glProgramParameteri:_emscripten_glProgramParameteri,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadBuffer:_emscripten_glReadBuffer,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glRenderbufferStorageMultisample:_emscripten_glRenderbufferStorageMultisample,emscripten_glResumeTransformFeedback:_emscripten_glResumeTransformFeedback,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glSamplerParameterf:_emscripten_glSamplerParameterf,emscripten_glSamplerParameterfv:_emscripten_glSamplerParameterfv,emscripten_glSamplerParameteri:_emscripten_glSamplerParameteri,emscripten_glSamplerParameteriv:_emscripten_glSamplerParameteriv,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_glTexImage3D:_emscripten_glTexImage3D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexStorage2D:_emscripten_glTexStorage2D,emscripten_glTexStorage3D:_emscripten_glTexStorage3D,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glTexSubImage3D:_emscripten_glTexSubImage3D,emscripten_glTransformFeedbackVaryings:_emscripten_glTransformFeedbackVaryings,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform1ui:_emscripten_glUniform1ui,emscripten_glUniform1uiv:_emscripten_glUniform1uiv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform2ui:_emscripten_glUniform2ui,emscripten_glUniform2uiv:_emscripten_glUniform2uiv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform3ui:_emscripten_glUniform3ui,emscripten_glUniform3uiv:_emscripten_glUniform3uiv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniform4ui:_emscripten_glUniform4ui,emscripten_glUniform4uiv:_emscripten_glUniform4uiv,emscripten_glUniformBlockBinding:_emscripten_glUniformBlockBinding,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix2x3fv:_emscripten_glUniformMatrix2x3fv,emscripten_glUniformMatrix2x4fv:_emscripten_glUniformMatrix2x4fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix3x2fv:_emscripten_glUniformMatrix3x2fv,emscripten_glUniformMatrix3x4fv:_emscripten_glUniformMatrix3x4fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUniformMatrix4x2fv:_emscripten_glUniformMatrix4x2fv,emscripten_glUniformMatrix4x3fv:_emscripten_glUniformMatrix4x3fv,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_glVertexAttribI4i:_emscripten_glVertexAttribI4i,emscripten_glVertexAttribI4iv:_emscripten_glVertexAttribI4iv,emscripten_glVertexAttribI4ui:_emscripten_glVertexAttribI4ui,emscripten_glVertexAttribI4uiv:_emscripten_glVertexAttribI4uiv,emscripten_glVertexAttribIPointer:_emscripten_glVertexAttribIPointer,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_glWaitSync:_emscripten_glWaitSync,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_is_main_browser_thread:_emscripten_is_main_browser_thread,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_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_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_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_EXT_clip_control:_emscripten_webgl_enable_EXT_clip_control,emscripten_webgl_enable_EXT_polygon_offset_clamp:_emscripten_webgl_enable_EXT_polygon_offset_clamp,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_draw_instanced_base_vertex_base_instance:_emscripten_webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance:_emscripten_webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance,emscripten_webgl_enable_WEBGL_polygon_mode:_emscripten_webgl_enable_WEBGL_polygon_mode,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_websocket_close:_emscripten_websocket_close,emscripten_websocket_deinitialize:_emscripten_websocket_deinitialize,emscripten_websocket_delete:_emscripten_websocket_delete,emscripten_websocket_get_buffered_amount:_emscripten_websocket_get_buffered_amount,emscripten_websocket_get_extensions:_emscripten_websocket_get_extensions,emscripten_websocket_get_extensions_length:_emscripten_websocket_get_extensions_length,emscripten_websocket_get_protocol:_emscripten_websocket_get_protocol,emscripten_websocket_get_protocol_length:_emscripten_websocket_get_protocol_length,emscripten_websocket_get_ready_state:_emscripten_websocket_get_ready_state,emscripten_websocket_get_url:_emscripten_websocket_get_url,emscripten_websocket_get_url_length:_emscripten_websocket_get_url_length,emscripten_websocket_is_supported:_emscripten_websocket_is_supported,emscripten_websocket_new:_emscripten_websocket_new,emscripten_websocket_send_binary:_emscripten_websocket_send_binary,emscripten_websocket_send_utf8_text:_emscripten_websocket_send_utf8_text,emscripten_websocket_set_onclose_callback_on_thread:_emscripten_websocket_set_onclose_callback_on_thread,emscripten_websocket_set_onerror_callback_on_thread:_emscripten_websocket_set_onerror_callback_on_thread,emscripten_websocket_set_onmessage_callback_on_thread:_emscripten_websocket_set_onmessage_callback_on_thread,emscripten_websocket_set_onopen_callback_on_thread:_emscripten_websocket_set_onopen_callback_on_thread,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fail_test,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,ffi_call_js,ffi_closure_alloc_js,ffi_closure_free_js,ffi_prep_closure_loc_js,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,gc_register_proxies,get_async_js_call_done_callback,get_length_helper,get_length_string,get_suspender,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQuery:_glBeginQuery,glBeginQueryEXT:_glBeginQueryEXT,glBeginTransformFeedback:_glBeginTransformFeedback,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindBufferBase:_glBindBufferBase,glBindBufferRange:_glBindBufferRange,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindSampler:_glBindSampler,glBindTexture:_glBindTexture,glBindTransformFeedback:_glBindTransformFeedback,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBlitFramebuffer:_glBlitFramebuffer,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearBufferfi:_glClearBufferfi,glClearBufferfv:_glClearBufferfv,glClearBufferiv:_glClearBufferiv,glClearBufferuiv:_glClearBufferuiv,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glClientWaitSync:_glClientWaitSync,glClipControlEXT:_glClipControlEXT,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexImage3D:_glCompressedTexImage3D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCompressedTexSubImage3D:_glCompressedTexSubImage3D,glCopyBufferSubData:_glCopyBufferSubData,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCopyTexSubImage3D:_glCopyTexSubImage3D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueries:_glDeleteQueries,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteSamplers:_glDeleteSamplers,glDeleteShader:_glDeleteShader,glDeleteSync:_glDeleteSync,glDeleteTextures:_glDeleteTextures,glDeleteTransformFeedbacks:_glDeleteTransformFeedbacks,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,glDrawArraysInstancedBaseInstance:_glDrawArraysInstancedBaseInstance,glDrawArraysInstancedBaseInstanceANGLE:_glDrawArraysInstancedBaseInstanceANGLE,glDrawArraysInstancedBaseInstanceWEBGL:_glDrawArraysInstancedBaseInstanceWEBGL,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedBaseVertexBaseInstanceANGLE:_glDrawElementsInstancedBaseVertexBaseInstanceANGLE,glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glDrawRangeElements:_glDrawRangeElements,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQuery:_glEndQuery,glEndQueryEXT:_glEndQueryEXT,glEndTransformFeedback:_glEndTransformFeedback,glFenceSync:_glFenceSync,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFramebufferTextureLayer:_glFramebufferTextureLayer,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueries:_glGenQueries,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenSamplers:_glGenSamplers,glGenTextures:_glGenTextures,glGenTransformFeedbacks:_glGenTransformFeedbacks,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetActiveUniformBlockName:_glGetActiveUniformBlockName,glGetActiveUniformBlockiv:_glGetActiveUniformBlockiv,glGetActiveUniformsiv:_glGetActiveUniformsiv,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteri64v:_glGetBufferParameteri64v,glGetBufferParameteriv:_glGetBufferParameteriv,glGetBufferSubData:_glGetBufferSubData,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFragDataLocation:_glGetFragDataLocation,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetInteger64i_v:_glGetInteger64i_v,glGetInteger64v:_glGetInteger64v,glGetIntegeri_v:_glGetIntegeri_v,glGetIntegerv:_glGetIntegerv,glGetInternalformativ:_glGetInternalformativ,glGetProgramBinary:_glGetProgramBinary,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuiv:_glGetQueryObjectuiv,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryiv:_glGetQueryiv,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetSamplerParameterfv:_glGetSamplerParameterfv,glGetSamplerParameteriv:_glGetSamplerParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetStringi:_glGetStringi,glGetSynciv:_glGetSynciv,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetTransformFeedbackVarying:_glGetTransformFeedbackVarying,glGetUniformBlockIndex:_glGetUniformBlockIndex,glGetUniformIndices:_glGetUniformIndices,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetUniformuiv:_glGetUniformuiv,glGetVertexAttribIiv:_glGetVertexAttribIiv,glGetVertexAttribIuiv:_glGetVertexAttribIuiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glInvalidateFramebuffer:_glInvalidateFramebuffer,glInvalidateSubFramebuffer:_glInvalidateSubFramebuffer,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQuery:_glIsQuery,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsSampler:_glIsSampler,glIsShader:_glIsShader,glIsSync:_glIsSync,glIsTexture:_glIsTexture,glIsTransformFeedback:_glIsTransformFeedback,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedBaseInstanceANGLE:_glMultiDrawArraysInstancedBaseInstanceANGLE,glMultiDrawArraysInstancedBaseInstanceWEBGL:_glMultiDrawArraysInstancedBaseInstanceWEBGL,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE:_glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE,glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPauseTransformFeedback:_glPauseTransformFeedback,glPixelStorei:_glPixelStorei,glPolygonModeWEBGL:_glPolygonModeWEBGL,glPolygonOffset:_glPolygonOffset,glPolygonOffsetClampEXT:_glPolygonOffsetClampEXT,glProgramBinary:_glProgramBinary,glProgramParameteri:_glProgramParameteri,glQueryCounterEXT:_glQueryCounterEXT,glReadBuffer:_glReadBuffer,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glRenderbufferStorageMultisample:_glRenderbufferStorageMultisample,glResumeTransformFeedback:_glResumeTransformFeedback,glSampleCoverage:_glSampleCoverage,glSamplerParameterf:_glSamplerParameterf,glSamplerParameterfv:_glSamplerParameterfv,glSamplerParameteri:_glSamplerParameteri,glSamplerParameteriv:_glSamplerParameteriv,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexImage3D:_glTexImage3D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexStorage2D:_glTexStorage2D,glTexStorage3D:_glTexStorage3D,glTexSubImage2D:_glTexSubImage2D,glTexSubImage3D:_glTexSubImage3D,glTransformFeedbackVaryings:_glTransformFeedbackVaryings,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform1ui:_glUniform1ui,glUniform1uiv:_glUniform1uiv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform2ui:_glUniform2ui,glUniform2uiv:_glUniform2uiv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform3ui:_glUniform3ui,glUniform3uiv:_glUniform3uiv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniform4ui:_glUniform4ui,glUniform4uiv:_glUniform4uiv,glUniformBlockBinding:_glUniformBlockBinding,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix2x3fv:_glUniformMatrix2x3fv,glUniformMatrix2x4fv:_glUniformMatrix2x4fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix3x2fv:_glUniformMatrix3x2fv,glUniformMatrix3x4fv:_glUniformMatrix3x4fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUniformMatrix4x2fv:_glUniformMatrix4x2fv,glUniformMatrix4x3fv:_glUniformMatrix4x3fv,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,glVertexAttribI4i:_glVertexAttribI4i,glVertexAttribI4iv:_glVertexAttribI4iv,glVertexAttribI4ui:_glVertexAttribI4ui,glVertexAttribI4uiv:_glVertexAttribI4uiv,glVertexAttribIPointer:_glVertexAttribIPointer,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glWaitSync:_glWaitSync,handle_next_result_js,hiwire_invalid_ref_js,is_comlink_proxy,is_sentinel:_is_sentinel,js2python_convert,js2python_immutable_js,js2python_js,jslib_init_buffers_js,jslib_init_js,lineColor:_lineColor,lineRGBA:_lineRGBA,memory:wasmMemory,my_dict_converter,new_error,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,proxy_cache_get,proxy_cache_set,pyodide_js_init,pyproxy_AsPyObject,pyproxy_Check,pyproxy_new,pyproxy_new_ex,python2js__default_converter_js,python2js__eager_converter_js,python2js_custom__create_jscontext,random_get:_random_get,raw_call_js,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,restoreState,restore_stderr,rotozoomSurface:_rotozoomSurface,saveState,setNetworkCallback:_setNetworkCallback,set_pyodide_module,set_suspender,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strptime:_strptime,strptime_l:_strptime_l,syncifyHandler,throw_no_gil,wrap_async_generator,wrap_generator,zoomSurface:_zoomSurface};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["__wasm_call_ctors"];var _set_method_docstring=Module["_set_method_docstring"]=wasmExports["set_method_docstring"];var _PyObject_GetAttrString=Module["_PyObject_GetAttrString"]=wasmExports["PyObject_GetAttrString"];var __PyUnicode_FromId=Module["__PyUnicode_FromId"]=wasmExports["_PyUnicode_FromId"];var _PyObject_VectorcallMethod=Module["_PyObject_VectorcallMethod"]=wasmExports["PyObject_VectorcallMethod"];var _PyUnicode_AsUTF8AndSize=Module["_PyUnicode_AsUTF8AndSize"]=wasmExports["PyUnicode_AsUTF8AndSize"];var _malloc=wasmExports["malloc"];var __Py_Dealloc=Module["__Py_Dealloc"]=wasmExports["_Py_Dealloc"];var _PyErr_Format=Module["_PyErr_Format"]=wasmExports["PyErr_Format"];var _add_methods_and_set_docstrings=Module["_add_methods_and_set_docstrings"]=wasmExports["add_methods_and_set_docstrings"];var _PyModule_AddFunctions=Module["_PyModule_AddFunctions"]=wasmExports["PyModule_AddFunctions"];var _docstring_init=Module["_docstring_init"]=wasmExports["docstring_init"];var _PyImport_ImportModule=Module["_PyImport_ImportModule"]=wasmExports["PyImport_ImportModule"];var _dump_traceback=Module["_dump_traceback"]=wasmExports["dump_traceback"];var _fileno=wasmExports["fileno"];var _PyGILState_GetThisThreadState=Module["_PyGILState_GetThisThreadState"]=wasmExports["PyGILState_GetThisThreadState"];var _set_error=Module["_set_error"]=wasmExports["set_error"];var _PyErr_SetObject=Module["_PyErr_SetObject"]=wasmExports["PyErr_SetObject"];var _restore_sys_last_exception=Module["_restore_sys_last_exception"]=wasmExports["restore_sys_last_exception"];var _PySys_GetObject=Module["_PySys_GetObject"]=wasmExports["PySys_GetObject"];var _PyErr_SetRaisedException=Module["_PyErr_SetRaisedException"]=wasmExports["PyErr_SetRaisedException"];var _wrap_exception=Module["_wrap_exception"]=wasmExports["wrap_exception"];var _PyErr_GetRaisedException=Module["_PyErr_GetRaisedException"]=wasmExports["PyErr_GetRaisedException"];var _PyErr_GivenExceptionMatches=Module["_PyErr_GivenExceptionMatches"]=wasmExports["PyErr_GivenExceptionMatches"];var _PyErr_Print=Module["_PyErr_Print"]=wasmExports["PyErr_Print"];var __PyObject_GetAttrId=Module["__PyObject_GetAttrId"]=wasmExports["_PyObject_GetAttrId"];var _PyUnicode_AsUTF8=Module["_PyUnicode_AsUTF8"]=wasmExports["PyUnicode_AsUTF8"];var _PySys_WriteStderr=Module["_PySys_WriteStderr"]=wasmExports["PySys_WriteStderr"];var _PyErr_DisplayException=Module["_PyErr_DisplayException"]=wasmExports["PyErr_DisplayException"];var _JsvString_FromId=Module["_JsvString_FromId"]=wasmExports["JsvString_FromId"];var _pythonexc2js=Module["_pythonexc2js"]=wasmExports["pythonexc2js"];var _trigger_fatal_error=Module["_trigger_fatal_error"]=wasmExports["trigger_fatal_error"];var _raw_call=Module["_raw_call"]=wasmExports["raw_call"];var _JsProxy_Val=Module["_JsProxy_Val"]=wasmExports["JsProxy_Val"];var _error_handling_init=Module["_error_handling_init"]=wasmExports["error_handling_init"];var _hiwire_invalid_ref=Module["_hiwire_invalid_ref"]=wasmExports["hiwire_invalid_ref"];var _init_pyodide_proxy=Module["_init_pyodide_proxy"]=wasmExports["init_pyodide_proxy"];var _python2js=Module["_python2js"]=wasmExports["python2js"];var _PyInit__pyodide_core=Module["_PyInit__pyodide_core"]=wasmExports["PyInit__pyodide_core"];var _PyErr_Occurred=Module["_PyErr_Occurred"]=wasmExports["PyErr_Occurred"];var __PyErr_FormatFromCause=Module["__PyErr_FormatFromCause"]=wasmExports["_PyErr_FormatFromCause"];var _PyModule_Create2=Module["_PyModule_Create2"]=wasmExports["PyModule_Create2"];var _PyImport_GetModuleDict=Module["_PyImport_GetModuleDict"]=wasmExports["PyImport_GetModuleDict"];var _PyDict_SetItemString=Module["_PyDict_SetItemString"]=wasmExports["PyDict_SetItemString"];var _jslib_init=Module["_jslib_init"]=wasmExports["jslib_init"];var _python2js_init=Module["_python2js_init"]=wasmExports["python2js_init"];var _jsproxy_init=Module["_jsproxy_init"]=wasmExports["jsproxy_init"];var _jsproxy_call_init=Module["_jsproxy_call_init"]=wasmExports["jsproxy_call_init"];var _pyproxy_init=Module["_pyproxy_init"]=wasmExports["pyproxy_init"];var _jsbind_init=Module["_jsbind_init"]=wasmExports["jsbind_init"];var _pyodide_export=Module["_pyodide_export"]=wasmExports["pyodide_export"];var _PyUnicode_Data=Module["_PyUnicode_Data"]=wasmExports["PyUnicode_Data"];var __js2python_none=Module["__js2python_none"]=wasmExports["_js2python_none"];var __js2python_null=Module["__js2python_null"]=wasmExports["_js2python_null"];var __js2python_true=Module["__js2python_true"]=wasmExports["_js2python_true"];var __js2python_false=Module["__js2python_false"]=wasmExports["_js2python_false"];var __js2python_pyproxy=Module["__js2python_pyproxy"]=wasmExports["_js2python_pyproxy"];var _js2python_immutable=Module["_js2python_immutable"]=wasmExports["js2python_immutable"];var _js2python=Module["_js2python"]=wasmExports["js2python"];var _JsProxy_getflags=Module["_JsProxy_getflags"]=wasmExports["JsProxy_getflags"];var _PyLong_AsLong=Module["_PyLong_AsLong"]=wasmExports["PyLong_AsLong"];var _JsProxy_is_py_json=Module["_JsProxy_is_py_json"]=wasmExports["JsProxy_is_py_json"];var _js2python_as_py_json=Module["_js2python_as_py_json"]=wasmExports["js2python_as_py_json"];var _hiwire_get=Module["_hiwire_get"]=wasmExports["hiwire_get"];var _JsProxy_create_with_type=Module["_JsProxy_create_with_type"]=wasmExports["JsProxy_create_with_type"];var _JsProxy_bind_sig=Module["_JsProxy_bind_sig"]=wasmExports["JsProxy_bind_sig"];var _JsRef_toVal=Module["_JsRef_toVal"]=wasmExports["JsRef_toVal"];var _PyErr_SetString=Module["_PyErr_SetString"]=wasmExports["PyErr_SetString"];var _JsProxy_create_with_this=Module["_JsProxy_create_with_this"]=wasmExports["JsProxy_create_with_this"];var _JsProxy_bind_class=Module["_JsProxy_bind_class"]=wasmExports["JsProxy_bind_class"];var _clear_method_call_singleton=Module["_clear_method_call_singleton"]=wasmExports["clear_method_call_singleton"];var _hiwire_decref=Module["_hiwire_decref"]=wasmExports["hiwire_decref"];var _JsProxy_GetMethod=Module["_JsProxy_GetMethod"]=wasmExports["JsProxy_GetMethod"];var __PyObject_GenericGetAttrWithDict=Module["__PyObject_GenericGetAttrWithDict"]=wasmExports["_PyObject_GenericGetAttrWithDict"];var _strcmp=Module["_strcmp"]=wasmExports["strcmp"];var _PyArg_ParseTuple=Module["_PyArg_ParseTuple"]=wasmExports["PyArg_ParseTuple"];var _Js2PyConverter_convert=Module["_Js2PyConverter_convert"]=wasmExports["Js2PyConverter_convert"];var _hiwire_new=Module["_hiwire_new"]=wasmExports["hiwire_new"];var _hiwire_incref=Module["_hiwire_incref"]=wasmExports["hiwire_incref"];var _JsProxy_GetAttr=Module["_JsProxy_GetAttr"]=wasmExports["JsProxy_GetAttr"];var _handle_next_result=Module["_handle_next_result"]=wasmExports["handle_next_result"];var _free=Module["_free"]=wasmExports["free"];var _JsProxy_create_objmap=Module["_JsProxy_create_objmap"]=wasmExports["JsProxy_create_objmap"];var _JsProxy_am_send=Module["_JsProxy_am_send"]=wasmExports["JsProxy_am_send"];var _python2js_track_proxies=Module["_python2js_track_proxies"]=wasmExports["python2js_track_proxies"];var _JsvObject_CallMethodId_OneArg=Module["_JsvObject_CallMethodId_OneArg"]=wasmExports["JsvObject_CallMethodId_OneArg"];var _JsProxy_IterNext=Module["_JsProxy_IterNext"]=wasmExports["JsProxy_IterNext"];var __PyGen_SetStopIterationValue=Module["__PyGen_SetStopIterationValue"]=wasmExports["_PyGen_SetStopIterationValue"];var _JsGenerator_send=Module["_JsGenerator_send"]=wasmExports["JsGenerator_send"];var _PyErr_SetNone=Module["_PyErr_SetNone"]=wasmExports["PyErr_SetNone"];var _JsException_js_error_getter=Module["_JsException_js_error_getter"]=wasmExports["JsException_js_error_getter"];var _process_throw_args=Module["_process_throw_args"]=wasmExports["process_throw_args"];var _PyErr_NormalizeException=Module["_PyErr_NormalizeException"]=wasmExports["PyErr_NormalizeException"];var _PyException_GetTraceback=Module["_PyException_GetTraceback"]=wasmExports["PyException_GetTraceback"];var _PyException_SetTraceback=Module["_PyException_SetTraceback"]=wasmExports["PyException_SetTraceback"];var _PyErr_Restore=Module["_PyErr_Restore"]=wasmExports["PyErr_Restore"];var _PyErr_ExceptionMatches=Module["_PyErr_ExceptionMatches"]=wasmExports["PyErr_ExceptionMatches"];var _PyErr_Clear=Module["_PyErr_Clear"]=wasmExports["PyErr_Clear"];var _JsvObject_CallMethodId_NoArgs=Module["_JsvObject_CallMethodId_NoArgs"]=wasmExports["JsvObject_CallMethodId_NoArgs"];var _PyErr_Fetch=Module["_PyErr_Fetch"]=wasmExports["PyErr_Fetch"];var __agen_handle_result_js_c=Module["__agen_handle_result_js_c"]=wasmExports["_agen_handle_result_js_c"];var _PyObject_CallOneArg=Module["_PyObject_CallOneArg"]=wasmExports["PyObject_CallOneArg"];var __agen_handle_result=Module["__agen_handle_result"]=wasmExports["_agen_handle_result"];var _JsArray_sq_item=Module["_JsArray_sq_item"]=wasmExports["JsArray_sq_item"];var _JsArray_sq_ass_item=Module["_JsArray_sq_ass_item"]=wasmExports["JsArray_sq_ass_item"];var _JsTypedArray_sq_ass_item=Module["_JsTypedArray_sq_ass_item"]=wasmExports["JsTypedArray_sq_ass_item"];var _JsMap_update=Module["_JsMap_update"]=wasmExports["JsMap_update"];var _wrap_promise=Module["_wrap_promise"]=wasmExports["wrap_promise"];var _PyTuple_GetItem=Module["_PyTuple_GetItem"]=wasmExports["PyTuple_GetItem"];var _JsvObject_CallMethodId=Module["_JsvObject_CallMethodId"]=wasmExports["JsvObject_CallMethodId"];var _JsModule_GetAll=Module["_JsModule_GetAll"]=wasmExports["JsModule_GetAll"];var _PyType_IsSubtype=Module["_PyType_IsSubtype"]=wasmExports["PyType_IsSubtype"];var _JsProxy_Check=Module["_JsProxy_Check"]=wasmExports["JsProxy_Check"];var _JsBuffer_CopyIntoMemoryView=Module["_JsBuffer_CopyIntoMemoryView"]=wasmExports["JsBuffer_CopyIntoMemoryView"];var _PyMem_Malloc=Module["_PyMem_Malloc"]=wasmExports["PyMem_Malloc"];var _PyMemoryView_FromObject=Module["_PyMemoryView_FromObject"]=wasmExports["PyMemoryView_FromObject"];var _JsBuffer_cinit=Module["_JsBuffer_cinit"]=wasmExports["JsBuffer_cinit"];var _hiwire_new_deduplicate=Module["_hiwire_new_deduplicate"]=wasmExports["hiwire_new_deduplicate"];var _JsRef_new=Module["_JsRef_new"]=wasmExports["JsRef_new"];var _PyTuple_Pack=Module["_PyTuple_Pack"]=wasmExports["PyTuple_Pack"];var _PyLong_FromLong=Module["_PyLong_FromLong"]=wasmExports["PyLong_FromLong"];var _PyDict_GetItemWithError=Module["_PyDict_GetItemWithError"]=wasmExports["PyDict_GetItemWithError"];var _PyObject_SelfIter=Module["_PyObject_SelfIter"]=wasmExports["PyObject_SelfIter"];var _PyVectorcall_Call=Module["_PyVectorcall_Call"]=wasmExports["PyVectorcall_Call"];var _PyErr_NoMemory=Module["_PyErr_NoMemory"]=wasmExports["PyErr_NoMemory"];var _PyType_FromSpecWithBases=Module["_PyType_FromSpecWithBases"]=wasmExports["PyType_FromSpecWithBases"];var _PyObject_SetAttr=Module["_PyObject_SetAttr"]=wasmExports["PyObject_SetAttr"];var _PyMem_Free=Module["_PyMem_Free"]=wasmExports["PyMem_Free"];var _PyDict_SetItem=Module["_PyDict_SetItem"]=wasmExports["PyDict_SetItem"];var _JsProxy_create=Module["_JsProxy_create"]=wasmExports["JsProxy_create"];var _JsProxy_init_docstrings=Module["_JsProxy_init_docstrings"]=wasmExports["JsProxy_init_docstrings"];var _run_sync_not_supported=Module["_run_sync_not_supported"]=wasmExports["run_sync_not_supported"];var _run_sync=Module["_run_sync"]=wasmExports["run_sync"];var _py_is_awaitable=Module["_py_is_awaitable"]=wasmExports["py_is_awaitable"];var _JsvPromise_Syncify=Module["_JsvPromise_Syncify"]=wasmExports["JsvPromise_Syncify"];var _can_run_sync=Module["_can_run_sync"]=wasmExports["can_run_sync"];var _PyDict_New=Module["_PyDict_New"]=wasmExports["PyDict_New"];var _PyObject_SetAttrString=Module["_PyObject_SetAttrString"]=wasmExports["PyObject_SetAttrString"];var _PyModule_AddObject=Module["_PyModule_AddObject"]=wasmExports["PyModule_AddObject"];var _PyType_Ready=Module["_PyType_Ready"]=wasmExports["PyType_Ready"];var _JsMethod_Vectorcall_impl=Module["_JsMethod_Vectorcall_impl"]=wasmExports["JsMethod_Vectorcall_impl"];var _JsvObject_CallMethodId_TwoArgs=Module["_JsvObject_CallMethodId_TwoArgs"]=wasmExports["JsvObject_CallMethodId_TwoArgs"];var _PyObject_Repr=Module["_PyObject_Repr"]=wasmExports["PyObject_Repr"];var _PyIndex_Check=Module["_PyIndex_Check"]=wasmExports["PyIndex_Check"];var _PyNumber_AsSsize_t=Module["_PyNumber_AsSsize_t"]=wasmExports["PyNumber_AsSsize_t"];var _PySlice_Unpack=Module["_PySlice_Unpack"]=wasmExports["PySlice_Unpack"];var _PySlice_AdjustIndices=Module["_PySlice_AdjustIndices"]=wasmExports["PySlice_AdjustIndices"];var _PySequence_Fast=Module["_PySequence_Fast"]=wasmExports["PySequence_Fast"];var _PyArg_ParseTupleAndKeywords=Module["_PyArg_ParseTupleAndKeywords"]=wasmExports["PyArg_ParseTupleAndKeywords"];var _PySet_New=Module["_PySet_New"]=wasmExports["PySet_New"];var __PySet_Update=Module["__PySet_Update"]=wasmExports["_PySet_Update"];var _PyUnicode_FromString=Module["_PyUnicode_FromString"]=wasmExports["PyUnicode_FromString"];var _PySet_Discard=Module["_PySet_Discard"]=wasmExports["PySet_Discard"];var _PyList_New=Module["_PyList_New"]=wasmExports["PyList_New"];var _PyList_Extend=Module["_PyList_Extend"]=wasmExports["PyList_Extend"];var _PyList_Sort=Module["_PyList_Sort"]=wasmExports["PyList_Sort"];var __PyArg_ParseStack=Module["__PyArg_ParseStack"]=wasmExports["_PyArg_ParseStack"];var _PyObject_GetIter=Module["_PyObject_GetIter"]=wasmExports["PyObject_GetIter"];var _PyObject_RichCompareBool=Module["_PyObject_RichCompareBool"]=wasmExports["PyObject_RichCompareBool"];var __PyArg_ParseStackAndKeywords=Module["__PyArg_ParseStackAndKeywords"]=wasmExports["_PyArg_ParseStackAndKeywords"];var _hiwire_pop=Module["_hiwire_pop"]=wasmExports["hiwire_pop"];var _puts=Module["_puts"]=wasmExports["puts"];var _PyObject_GenericSetAttr=Module["_PyObject_GenericSetAttr"]=wasmExports["PyObject_GenericSetAttr"];var __Py_HashBytes=Module["__Py_HashBytes"]=wasmExports["_Py_HashBytes"];var _JsMethod_Construct_impl=Module["_JsMethod_Construct_impl"]=wasmExports["JsMethod_Construct_impl"];var __PyArg_CheckPositional=Module["__PyArg_CheckPositional"]=wasmExports["_PyArg_CheckPositional"];var _PyNumber_Index=Module["_PyNumber_Index"]=wasmExports["PyNumber_Index"];var _PyLong_AsSsize_t=Module["_PyLong_AsSsize_t"]=wasmExports["PyLong_AsSsize_t"];var _PyLong_FromSsize_t=Module["_PyLong_FromSsize_t"]=wasmExports["PyLong_FromSsize_t"];var _PyObject_GetItem=Module["_PyObject_GetItem"]=wasmExports["PyObject_GetItem"];var _PyObject_DelItem=Module["_PyObject_DelItem"]=wasmExports["PyObject_DelItem"];var _PyObject_SetItem=Module["_PyObject_SetItem"]=wasmExports["PyObject_SetItem"];var _PyObject_GetBuffer=Module["_PyObject_GetBuffer"]=wasmExports["PyObject_GetBuffer"];var _PyBuffer_Release=Module["_PyBuffer_Release"]=wasmExports["PyBuffer_Release"];var _PyBytes_FromStringAndSize=Module["_PyBytes_FromStringAndSize"]=wasmExports["PyBytes_FromStringAndSize"];var _PyObject_Vectorcall=Module["_PyObject_Vectorcall"]=wasmExports["PyObject_Vectorcall"];var _Py_EnterRecursiveCall=Module["_Py_EnterRecursiveCall"]=wasmExports["Py_EnterRecursiveCall"];var _Py_LeaveRecursiveCall=Module["_Py_LeaveRecursiveCall"]=wasmExports["Py_LeaveRecursiveCall"];var _Py2JsConverter_convert=Module["_Py2JsConverter_convert"]=wasmExports["Py2JsConverter_convert"];var _PyUnicode_FromFormat=Module["_PyUnicode_FromFormat"]=wasmExports["PyUnicode_FromFormat"];var _PyType_GenericNew=Module["_PyType_GenericNew"]=wasmExports["PyType_GenericNew"];var _PyObject_IsInstance=Module["_PyObject_IsInstance"]=wasmExports["PyObject_IsInstance"];var _python2js_inner=Module["_python2js_inner"]=wasmExports["python2js_inner"];var _python2js_custom=Module["_python2js_custom"]=wasmExports["python2js_custom"];var _PyObject_GC_UnTrack=Module["_PyObject_GC_UnTrack"]=wasmExports["PyObject_GC_UnTrack"];var _check_gil=Module["_check_gil"]=wasmExports["check_gil"];var _PyGILState_Check=Module["_PyGILState_Check"]=wasmExports["PyGILState_Check"];var _PyGen_GetCode=Module["_PyGen_GetCode"]=wasmExports["PyGen_GetCode"];var _pyproxy_getflags=Module["_pyproxy_getflags"]=wasmExports["pyproxy_getflags"];var _PyObject_HasAttr=Module["_PyObject_HasAttr"]=wasmExports["PyObject_HasAttr"];var _PyObject_IsSubclass=Module["_PyObject_IsSubclass"]=wasmExports["PyObject_IsSubclass"];var __pyproxy_repr=Module["__pyproxy_repr"]=wasmExports["_pyproxy_repr"];var _PyObject_Str=Module["_PyObject_Str"]=wasmExports["PyObject_Str"];var __pyproxy_type=Module["__pyproxy_type"]=wasmExports["_pyproxy_type"];var __pyproxy_hasattr=Module["__pyproxy_hasattr"]=wasmExports["_pyproxy_hasattr"];var _python2js_json_adaptor=Module["_python2js_json_adaptor"]=wasmExports["python2js_json_adaptor"];var __pyproxy_getattr=Module["__pyproxy_getattr"]=wasmExports["_pyproxy_getattr"];var __PyObject_GetMethod=Module["__PyObject_GetMethod"]=wasmExports["_PyObject_GetMethod"];var __pyproxy_setattr=Module["__pyproxy_setattr"]=wasmExports["_pyproxy_setattr"];var __pyproxy_delattr=Module["__pyproxy_delattr"]=wasmExports["_pyproxy_delattr"];var _PyObject_DelAttr=Module["_PyObject_DelAttr"]=wasmExports["PyObject_DelAttr"];var __pyproxy_getitem=Module["__pyproxy_getitem"]=wasmExports["_pyproxy_getitem"];var __pyproxy_setitem=Module["__pyproxy_setitem"]=wasmExports["_pyproxy_setitem"];var __pyproxy_delitem=Module["__pyproxy_delitem"]=wasmExports["_pyproxy_delitem"];var __pyproxy_slice_assign=Module["__pyproxy_slice_assign"]=wasmExports["_pyproxy_slice_assign"];var _PySequence_Size=Module["_PySequence_Size"]=wasmExports["PySequence_Size"];var _PySequence_GetSlice=Module["_PySequence_GetSlice"]=wasmExports["PySequence_GetSlice"];var _PySequence_SetSlice=Module["_PySequence_SetSlice"]=wasmExports["PySequence_SetSlice"];var _python2js_with_depth=Module["_python2js_with_depth"]=wasmExports["python2js_with_depth"];var __pyproxy_pop=Module["__pyproxy_pop"]=wasmExports["_pyproxy_pop"];var __pyproxy_contains=Module["__pyproxy_contains"]=wasmExports["_pyproxy_contains"];var _PySequence_Contains=Module["_PySequence_Contains"]=wasmExports["PySequence_Contains"];var __pyproxy_ownKeys=Module["__pyproxy_ownKeys"]=wasmExports["_pyproxy_ownKeys"];var _PyObject_Dir=Module["_PyObject_Dir"]=wasmExports["PyObject_Dir"];var _PyList_Size=Module["_PyList_Size"]=wasmExports["PyList_Size"];var _PyList_GetItem=Module["_PyList_GetItem"]=wasmExports["PyList_GetItem"];var __pyproxy_apply=Module["__pyproxy_apply"]=wasmExports["_pyproxy_apply"];var _PyTuple_New=Module["_PyTuple_New"]=wasmExports["PyTuple_New"];var __pyproxy_apply_promising=Module["__pyproxy_apply_promising"]=wasmExports["_pyproxy_apply_promising"];var __iscoroutinefunction=Module["__iscoroutinefunction"]=wasmExports["_iscoroutinefunction"];var __pyproxy_iter_next=Module["__pyproxy_iter_next"]=wasmExports["_pyproxy_iter_next"];var _PyIter_Next=Module["_PyIter_Next"]=wasmExports["PyIter_Next"];var __pyproxyGen_Send=Module["__pyproxyGen_Send"]=wasmExports["_pyproxyGen_Send"];var _PyIter_Send=Module["_PyIter_Send"]=wasmExports["PyIter_Send"];var __pyproxyGen_return=Module["__pyproxyGen_return"]=wasmExports["_pyproxyGen_return"];var __PyGen_FetchStopIterationValue=Module["__PyGen_FetchStopIterationValue"]=wasmExports["_PyGen_FetchStopIterationValue"];var __pyproxyGen_throw=Module["__pyproxyGen_throw"]=wasmExports["_pyproxyGen_throw"];var __pyproxyGen_asend=Module["__pyproxyGen_asend"]=wasmExports["_pyproxyGen_asend"];var __pyproxyGen_areturn=Module["__pyproxyGen_areturn"]=wasmExports["_pyproxyGen_areturn"];var __pyproxyGen_athrow=Module["__pyproxyGen_athrow"]=wasmExports["_pyproxyGen_athrow"];var __pyproxy_aiter_next=Module["__pyproxy_aiter_next"]=wasmExports["_pyproxy_aiter_next"];var _FutureDoneCallback_call_resolve=Module["_FutureDoneCallback_call_resolve"]=wasmExports["FutureDoneCallback_call_resolve"];var _FutureDoneCallback_call_reject=Module["_FutureDoneCallback_call_reject"]=wasmExports["FutureDoneCallback_call_reject"];var _FutureDoneCallback_call=Module["_FutureDoneCallback_call"]=wasmExports["FutureDoneCallback_call"];var _PyArg_UnpackTuple=Module["_PyArg_UnpackTuple"]=wasmExports["PyArg_UnpackTuple"];var __pyproxy_ensure_future=Module["__pyproxy_ensure_future"]=wasmExports["_pyproxy_ensure_future"];var __pyproxy_get_buffer=Module["__pyproxy_get_buffer"]=wasmExports["_pyproxy_get_buffer"];var _PyBuffer_FillContiguousStrides=Module["_PyBuffer_FillContiguousStrides"]=wasmExports["PyBuffer_FillContiguousStrides"];var _PyBuffer_IsContiguous=Module["_PyBuffer_IsContiguous"]=wasmExports["PyBuffer_IsContiguous"];var _create_promise_handles_result_helper=Module["_create_promise_handles_result_helper"]=wasmExports["create_promise_handles_result_helper"];var __python2js_buffer=Module["__python2js_buffer"]=wasmExports["_python2js_buffer"];var _Jsv_GetNull=Module["_Jsv_GetNull"]=wasmExports["Jsv_GetNull"];var _jslib_init_buffers=Module["_jslib_init_buffers"]=wasmExports["jslib_init_buffers"];var _JsRef_pop=Module["_JsRef_pop"]=wasmExports["JsRef_pop"];var _JsrString_FromId=Module["_JsrString_FromId"]=wasmExports["JsrString_FromId"];var _hiwire_intern=Module["_hiwire_intern"]=wasmExports["hiwire_intern"];var __python2js=Module["__python2js"]=wasmExports["_python2js"];var _PySequence_GetItem=Module["_PySequence_GetItem"]=wasmExports["PySequence_GetItem"];var _PyObject_CheckBuffer=Module["_PyObject_CheckBuffer"]=wasmExports["PyObject_CheckBuffer"];var _PyFloat_AsDouble=Module["_PyFloat_AsDouble"]=wasmExports["PyFloat_AsDouble"];var _python2js__default_converter=Module["_python2js__default_converter"]=wasmExports["python2js__default_converter"];var _python2js__eager_converter=Module["_python2js__eager_converter"]=wasmExports["python2js__eager_converter"];var _PyLong_AsLongAndOverflow=Module["_PyLong_AsLongAndOverflow"]=wasmExports["PyLong_AsLongAndOverflow"];var __PyLong_NumBits=Module["__PyLong_NumBits"]=wasmExports["_PyLong_NumBits"];var __PyLong_AsByteArray=Module["__PyLong_AsByteArray"]=wasmExports["_PyLong_AsByteArray"];var _saveAsyncioState=Module["_saveAsyncioState"]=wasmExports["saveAsyncioState"];var _PyObject_Hash=Module["_PyObject_Hash"]=wasmExports["PyObject_Hash"];var __PyDict_GetItem_KnownHash=Module["__PyDict_GetItem_KnownHash"]=wasmExports["_PyDict_GetItem_KnownHash"];var _restoreAsyncioState=Module["_restoreAsyncioState"]=wasmExports["restoreAsyncioState"];var _captureThreadState=Module["_captureThreadState"]=wasmExports["captureThreadState"];var _PyInterpreterState_Get=Module["_PyInterpreterState_Get"]=wasmExports["PyInterpreterState_Get"];var _PyThreadState_New=Module["_PyThreadState_New"]=wasmExports["PyThreadState_New"];var _PyThreadState_Swap=Module["_PyThreadState_Swap"]=wasmExports["PyThreadState_Swap"];var _restoreThreadState=Module["_restoreThreadState"]=wasmExports["restoreThreadState"];var _PyThreadState_Delete=Module["_PyThreadState_Delete"]=wasmExports["PyThreadState_Delete"];var _print_stdout=Module["_print_stdout"]=wasmExports["print_stdout"];var _fiprintf=Module["_fiprintf"]=wasmExports["fiprintf"];var _print_stderr=Module["_print_stderr"]=wasmExports["print_stderr"];var _main=Module["_main"]=wasmExports["__main_argc_argv"];var _PyImport_AppendInittab=Module["_PyImport_AppendInittab"]=wasmExports["PyImport_AppendInittab"];var _PyPreConfig_InitPythonConfig=Module["_PyPreConfig_InitPythonConfig"]=wasmExports["PyPreConfig_InitPythonConfig"];var _Py_PreInitializeFromBytesArgs=Module["_Py_PreInitializeFromBytesArgs"]=wasmExports["Py_PreInitializeFromBytesArgs"];var _PyStatus_Exception=Module["_PyStatus_Exception"]=wasmExports["PyStatus_Exception"];var _PyConfig_InitPythonConfig=Module["_PyConfig_InitPythonConfig"]=wasmExports["PyConfig_InitPythonConfig"];var _PyConfig_SetBytesArgv=Module["_PyConfig_SetBytesArgv"]=wasmExports["PyConfig_SetBytesArgv"];var _PyConfig_SetBytesString=Module["_PyConfig_SetBytesString"]=wasmExports["PyConfig_SetBytesString"];var _Py_InitializeFromConfig=Module["_Py_InitializeFromConfig"]=wasmExports["Py_InitializeFromConfig"];var _PyConfig_Clear=Module["_PyConfig_Clear"]=wasmExports["PyConfig_Clear"];var _Py_ExitStatusException=Module["_Py_ExitStatusException"]=wasmExports["Py_ExitStatusException"];var _run_main=Module["_run_main"]=wasmExports["run_main"];var _run_main_promising=Module["_run_main_promising"]=wasmExports["run_main_promising"];var _Py_GetBuildInfo=Module["_Py_GetBuildInfo"]=wasmExports["Py_GetBuildInfo"];var _PyOS_snprintf=Module["_PyOS_snprintf"]=wasmExports["PyOS_snprintf"];var __PyToken_OneChar=Module["__PyToken_OneChar"]=wasmExports["_PyToken_OneChar"];var __PyToken_TwoChars=Module["__PyToken_TwoChars"]=wasmExports["_PyToken_TwoChars"];var __PyToken_ThreeChars=Module["__PyToken_ThreeChars"]=wasmExports["_PyToken_ThreeChars"];var _strlen=Module["_strlen"]=wasmExports["strlen"];var _PyUnicode_DecodeUTF8=Module["_PyUnicode_DecodeUTF8"]=wasmExports["PyUnicode_DecodeUTF8"];var __PyArena_Malloc=Module["__PyArena_Malloc"]=wasmExports["_PyArena_Malloc"];var _strncpy=Module["_strncpy"]=wasmExports["strncpy"];var _PyMem_Realloc=Module["_PyMem_Realloc"]=wasmExports["PyMem_Realloc"];var _PyMem_Calloc=Module["_PyMem_Calloc"]=wasmExports["PyMem_Calloc"];var _strncmp=Module["_strncmp"]=wasmExports["strncmp"];var __PyArena_AddPyObject=Module["__PyArena_AddPyObject"]=wasmExports["_PyArena_AddPyObject"];var _PyBytes_AsString=Module["_PyBytes_AsString"]=wasmExports["PyBytes_AsString"];var __PyImport_GetModuleAttrString=Module["__PyImport_GetModuleAttrString"]=wasmExports["_PyImport_GetModuleAttrString"];var _PyUnicode_InternFromString=Module["_PyUnicode_InternFromString"]=wasmExports["PyUnicode_InternFromString"];var __PyType_Name=Module["__PyType_Name"]=wasmExports["_PyType_Name"];var __PyUnicode_InternImmortal=Module["__PyUnicode_InternImmortal"]=wasmExports["_PyUnicode_InternImmortal"];var _PyBytes_AsStringAndSize=Module["_PyBytes_AsStringAndSize"]=wasmExports["PyBytes_AsStringAndSize"];var _strchr=Module["_strchr"]=wasmExports["strchr"];var _PyUnicode_CompareWithASCIIString=Module["_PyUnicode_CompareWithASCIIString"]=wasmExports["PyUnicode_CompareWithASCIIString"];var ___errno_location=Module["___errno_location"]=wasmExports["__errno_location"];var _PyOS_strtoul=Module["_PyOS_strtoul"]=wasmExports["PyOS_strtoul"];var _PyLong_FromString=Module["_PyLong_FromString"]=wasmExports["PyLong_FromString"];var _PyOS_strtol=Module["_PyOS_strtol"]=wasmExports["PyOS_strtol"];var _PyOS_string_to_double=Module["_PyOS_string_to_double"]=wasmExports["PyOS_string_to_double"];var _PyComplex_FromCComplex=Module["_PyComplex_FromCComplex"]=wasmExports["PyComplex_FromCComplex"];var _PyFloat_FromDouble=Module["_PyFloat_FromDouble"]=wasmExports["PyFloat_FromDouble"];var _Py_BuildValue=Module["_Py_BuildValue"]=wasmExports["Py_BuildValue"];var _PyUnicode_FromFormatV=Module["_PyUnicode_FromFormatV"]=wasmExports["PyUnicode_FromFormatV"];var __PyErr_ProgramDecodedTextObject=Module["__PyErr_ProgramDecodedTextObject"]=wasmExports["_PyErr_ProgramDecodedTextObject"];var _PyUnicode_FromStringAndSize=Module["_PyUnicode_FromStringAndSize"]=wasmExports["PyUnicode_FromStringAndSize"];var _PyBytes_FromString=Module["_PyBytes_FromString"]=wasmExports["PyBytes_FromString"];var _PyBytes_Concat=Module["_PyBytes_Concat"]=wasmExports["PyBytes_Concat"];var __PyUnicodeWriter_Init=Module["__PyUnicodeWriter_Init"]=wasmExports["_PyUnicodeWriter_Init"];var __PyUnicodeWriter_WriteStr=Module["__PyUnicodeWriter_WriteStr"]=wasmExports["_PyUnicodeWriter_WriteStr"];var __PyUnicodeWriter_Dealloc=Module["__PyUnicodeWriter_Dealloc"]=wasmExports["_PyUnicodeWriter_Dealloc"];var __PyUnicodeWriter_Finish=Module["__PyUnicodeWriter_Finish"]=wasmExports["_PyUnicodeWriter_Finish"];var _strpbrk=Module["_strpbrk"]=wasmExports["strpbrk"];var _PyUnicode_DecodeUTF8Stateful=Module["_PyUnicode_DecodeUTF8Stateful"]=wasmExports["PyUnicode_DecodeUTF8Stateful"];var _siprintf=Module["_siprintf"]=wasmExports["siprintf"];var __PyUnicode_DecodeUnicodeEscapeInternal=Module["__PyUnicode_DecodeUnicodeEscapeInternal"]=wasmExports["_PyUnicode_DecodeUnicodeEscapeInternal"];var __PyErr_BadInternalCall=Module["__PyErr_BadInternalCall"]=wasmExports["_PyErr_BadInternalCall"];var __PyBytes_DecodeEscape=Module["__PyBytes_DecodeEscape"]=wasmExports["_PyBytes_DecodeEscape"];var _PyErr_WarnExplicitObject=Module["_PyErr_WarnExplicitObject"]=wasmExports["PyErr_WarnExplicitObject"];var _PySys_Audit=Module["_PySys_Audit"]=wasmExports["PySys_Audit"];var _memchr=Module["_memchr"]=wasmExports["memchr"];var __Py_FatalErrorFunc=Module["__Py_FatalErrorFunc"]=wasmExports["_Py_FatalErrorFunc"];var _memcmp=Module["_memcmp"]=wasmExports["memcmp"];var __PyUnicode_ScanIdentifier=Module["__PyUnicode_ScanIdentifier"]=wasmExports["_PyUnicode_ScanIdentifier"];var _PyUnicode_Substring=Module["_PyUnicode_Substring"]=wasmExports["PyUnicode_Substring"];var _PyUnicode_AsUTF8String=Module["_PyUnicode_AsUTF8String"]=wasmExports["PyUnicode_AsUTF8String"];var __PyUnicode_IsPrintable=Module["__PyUnicode_IsPrintable"]=wasmExports["_PyUnicode_IsPrintable"];var _PyOS_Readline=Module["_PyOS_Readline"]=wasmExports["PyOS_Readline"];var _strcpy=Module["_strcpy"]=wasmExports["strcpy"];var _PyObject_CallNoArgs=Module["_PyObject_CallNoArgs"]=wasmExports["PyObject_CallNoArgs"];var __Py_UniversalNewlineFgetsWithSize=Module["__Py_UniversalNewlineFgetsWithSize"]=wasmExports["_Py_UniversalNewlineFgetsWithSize"];var _fopencookie=Module["_fopencookie"]=wasmExports["fopencookie"];var _fclose=Module["_fclose"]=wasmExports["fclose"];var _getc=Module["_getc"]=wasmExports["getc"];var _ungetc=Module["_ungetc"]=wasmExports["ungetc"];var _ftell=Module["_ftell"]=wasmExports["ftell"];var _lseek=Module["_lseek"]=wasmExports["lseek"];var _PyErr_SetFromErrnoWithFilename=Module["_PyErr_SetFromErrnoWithFilename"]=wasmExports["PyErr_SetFromErrnoWithFilename"];var _PyObject_CallFunction=Module["_PyObject_CallFunction"]=wasmExports["PyObject_CallFunction"];var _PyObject_GetAttr=Module["_PyObject_GetAttr"]=wasmExports["PyObject_GetAttr"];var __PyObject_MakeTpCall=Module["__PyObject_MakeTpCall"]=wasmExports["_PyObject_MakeTpCall"];var __Py_CheckFunctionResult=Module["__Py_CheckFunctionResult"]=wasmExports["_Py_CheckFunctionResult"];var _read=Module["_read"]=wasmExports["read"];var _PyUnicode_Decode=Module["_PyUnicode_Decode"]=wasmExports["PyUnicode_Decode"];var _strcspn=Module["_strcspn"]=wasmExports["strcspn"];var _fflush=wasmExports["fflush"];var _fputs=Module["_fputs"]=wasmExports["fputs"];var _PyMem_RawFree=Module["_PyMem_RawFree"]=wasmExports["PyMem_RawFree"];var _PyEval_RestoreThread=Module["_PyEval_RestoreThread"]=wasmExports["PyEval_RestoreThread"];var _PyEval_SaveThread=Module["_PyEval_SaveThread"]=wasmExports["PyEval_SaveThread"];var _PyMem_RawRealloc=Module["_PyMem_RawRealloc"]=wasmExports["PyMem_RawRealloc"];var _clearerr=Module["_clearerr"]=wasmExports["clearerr"];var _fgets=Module["_fgets"]=wasmExports["fgets"];var _feof=Module["_feof"]=wasmExports["feof"];var _PyErr_CheckSignals=Module["_PyErr_CheckSignals"]=wasmExports["PyErr_CheckSignals"];var _PyMutex_Lock=Module["_PyMutex_Lock"]=wasmExports["PyMutex_Lock"];var _isatty=Module["_isatty"]=wasmExports["isatty"];var _PyMutex_Unlock=Module["_PyMutex_Unlock"]=wasmExports["PyMutex_Unlock"];var _PyObject_Type=Module["_PyObject_Type"]=wasmExports["PyObject_Type"];var __PyErr_SetString=Module["__PyErr_SetString"]=wasmExports["_PyErr_SetString"];var _PyObject_Size=Module["_PyObject_Size"]=wasmExports["PyObject_Size"];var _PyMapping_Size=Module["_PyMapping_Size"]=wasmExports["PyMapping_Size"];var _PyObject_Length=Module["_PyObject_Length"]=wasmExports["PyObject_Length"];var _PyObject_LengthHint=Module["_PyObject_LengthHint"]=wasmExports["PyObject_LengthHint"];var __PyErr_ExceptionMatches=Module["__PyErr_ExceptionMatches"]=wasmExports["_PyErr_ExceptionMatches"];var __PyErr_Clear=Module["__PyErr_Clear"]=wasmExports["_PyErr_Clear"];var __PyObject_LookupSpecial=Module["__PyObject_LookupSpecial"]=wasmExports["_PyObject_LookupSpecial"];var _Py_GenericAlias=Module["_Py_GenericAlias"]=wasmExports["Py_GenericAlias"];var _PyObject_GetOptionalAttr=Module["_PyObject_GetOptionalAttr"]=wasmExports["PyObject_GetOptionalAttr"];var __PyNumber_Index=Module["__PyNumber_Index"]=wasmExports["_PyNumber_Index"];var __PyErr_Format=Module["__PyErr_Format"]=wasmExports["_PyErr_Format"];var _PyMapping_GetOptionalItem=Module["_PyMapping_GetOptionalItem"]=wasmExports["PyMapping_GetOptionalItem"];var _PyDict_GetItemRef=Module["_PyDict_GetItemRef"]=wasmExports["PyDict_GetItemRef"];var _PySequence_SetItem=Module["_PySequence_SetItem"]=wasmExports["PySequence_SetItem"];var _PySequence_DelItem=Module["_PySequence_DelItem"]=wasmExports["PySequence_DelItem"];var _PyObject_DelItemString=Module["_PyObject_DelItemString"]=wasmExports["PyObject_DelItemString"];var _PyObject_CheckReadBuffer=Module["_PyObject_CheckReadBuffer"]=wasmExports["PyObject_CheckReadBuffer"];var _PyObject_AsCharBuffer=Module["_PyObject_AsCharBuffer"]=wasmExports["PyObject_AsCharBuffer"];var _PyObject_AsReadBuffer=Module["_PyObject_AsReadBuffer"]=wasmExports["PyObject_AsReadBuffer"];var _PyObject_AsWriteBuffer=Module["_PyObject_AsWriteBuffer"]=wasmExports["PyObject_AsWriteBuffer"];var _PyBuffer_GetPointer=Module["_PyBuffer_GetPointer"]=wasmExports["PyBuffer_GetPointer"];var _PyBuffer_SizeFromFormat=Module["_PyBuffer_SizeFromFormat"]=wasmExports["PyBuffer_SizeFromFormat"];var _PyObject_CallFunctionObjArgs=Module["_PyObject_CallFunctionObjArgs"]=wasmExports["PyObject_CallFunctionObjArgs"];var _PyBuffer_FromContiguous=Module["_PyBuffer_FromContiguous"]=wasmExports["PyBuffer_FromContiguous"];var _PyObject_CopyData=Module["_PyObject_CopyData"]=wasmExports["PyObject_CopyData"];var _PyBuffer_FillInfo=Module["_PyBuffer_FillInfo"]=wasmExports["PyBuffer_FillInfo"];var __PyBuffer_ReleaseInInterpreter=Module["__PyBuffer_ReleaseInInterpreter"]=wasmExports["_PyBuffer_ReleaseInInterpreter"];var __PyBuffer_ReleaseInInterpreterAndRawFree=Module["__PyBuffer_ReleaseInInterpreterAndRawFree"]=wasmExports["_PyBuffer_ReleaseInInterpreterAndRawFree"];var _PyObject_Format=Module["_PyObject_Format"]=wasmExports["PyObject_Format"];var _PyUnicode_New=Module["_PyUnicode_New"]=wasmExports["PyUnicode_New"];var _PyNumber_Check=Module["_PyNumber_Check"]=wasmExports["PyNumber_Check"];var _PyNumber_Or=Module["_PyNumber_Or"]=wasmExports["PyNumber_Or"];var _PyNumber_Xor=Module["_PyNumber_Xor"]=wasmExports["PyNumber_Xor"];var _PyNumber_And=Module["_PyNumber_And"]=wasmExports["PyNumber_And"];var _PyNumber_Lshift=Module["_PyNumber_Lshift"]=wasmExports["PyNumber_Lshift"];var _PyNumber_Rshift=Module["_PyNumber_Rshift"]=wasmExports["PyNumber_Rshift"];var _PyNumber_Subtract=Module["_PyNumber_Subtract"]=wasmExports["PyNumber_Subtract"];var _PyNumber_Divmod=Module["_PyNumber_Divmod"]=wasmExports["PyNumber_Divmod"];var _PyNumber_Add=Module["_PyNumber_Add"]=wasmExports["PyNumber_Add"];var _PyNumber_Multiply=Module["_PyNumber_Multiply"]=wasmExports["PyNumber_Multiply"];var _PyNumber_MatrixMultiply=Module["_PyNumber_MatrixMultiply"]=wasmExports["PyNumber_MatrixMultiply"];var _PyNumber_FloorDivide=Module["_PyNumber_FloorDivide"]=wasmExports["PyNumber_FloorDivide"];var _PyNumber_TrueDivide=Module["_PyNumber_TrueDivide"]=wasmExports["PyNumber_TrueDivide"];var _PyNumber_Remainder=Module["_PyNumber_Remainder"]=wasmExports["PyNumber_Remainder"];var _PyNumber_Power=Module["_PyNumber_Power"]=wasmExports["PyNumber_Power"];var _PyNumber_InPlaceOr=Module["_PyNumber_InPlaceOr"]=wasmExports["PyNumber_InPlaceOr"];var _PyNumber_InPlaceXor=Module["_PyNumber_InPlaceXor"]=wasmExports["PyNumber_InPlaceXor"];var _PyNumber_InPlaceAnd=Module["_PyNumber_InPlaceAnd"]=wasmExports["PyNumber_InPlaceAnd"];var _PyNumber_InPlaceLshift=Module["_PyNumber_InPlaceLshift"]=wasmExports["PyNumber_InPlaceLshift"];var _PyNumber_InPlaceRshift=Module["_PyNumber_InPlaceRshift"]=wasmExports["PyNumber_InPlaceRshift"];var _PyNumber_InPlaceSubtract=Module["_PyNumber_InPlaceSubtract"]=wasmExports["PyNumber_InPlaceSubtract"];var _PyNumber_InPlaceMatrixMultiply=Module["_PyNumber_InPlaceMatrixMultiply"]=wasmExports["PyNumber_InPlaceMatrixMultiply"];var _PyNumber_InPlaceFloorDivide=Module["_PyNumber_InPlaceFloorDivide"]=wasmExports["PyNumber_InPlaceFloorDivide"];var _PyNumber_InPlaceTrueDivide=Module["_PyNumber_InPlaceTrueDivide"]=wasmExports["PyNumber_InPlaceTrueDivide"];var _PyNumber_InPlaceRemainder=Module["_PyNumber_InPlaceRemainder"]=wasmExports["PyNumber_InPlaceRemainder"];var _PyNumber_InPlaceAdd=Module["_PyNumber_InPlaceAdd"]=wasmExports["PyNumber_InPlaceAdd"];var _PyNumber_InPlaceMultiply=Module["_PyNumber_InPlaceMultiply"]=wasmExports["PyNumber_InPlaceMultiply"];var _PyNumber_InPlacePower=Module["_PyNumber_InPlacePower"]=wasmExports["PyNumber_InPlacePower"];var _PyNumber_Negative=Module["_PyNumber_Negative"]=wasmExports["PyNumber_Negative"];var _PyNumber_Positive=Module["_PyNumber_Positive"]=wasmExports["PyNumber_Positive"];var _PyNumber_Invert=Module["_PyNumber_Invert"]=wasmExports["PyNumber_Invert"];var _PyNumber_Absolute=Module["_PyNumber_Absolute"]=wasmExports["PyNumber_Absolute"];var _PyErr_WarnFormat=Module["_PyErr_WarnFormat"]=wasmExports["PyErr_WarnFormat"];var __PyLong_Copy=Module["__PyLong_Copy"]=wasmExports["_PyLong_Copy"];var _PyNumber_Long=Module["_PyNumber_Long"]=wasmExports["PyNumber_Long"];var _PyErr_WarnEx=Module["_PyErr_WarnEx"]=wasmExports["PyErr_WarnEx"];var _PyLong_FromUnicodeObject=Module["_PyLong_FromUnicodeObject"]=wasmExports["PyLong_FromUnicodeObject"];var _PyNumber_Float=Module["_PyNumber_Float"]=wasmExports["PyNumber_Float"];var _PyLong_AsDouble=Module["_PyLong_AsDouble"]=wasmExports["PyLong_AsDouble"];var _PyFloat_FromString=Module["_PyFloat_FromString"]=wasmExports["PyFloat_FromString"];var _PyNumber_ToBase=Module["_PyNumber_ToBase"]=wasmExports["PyNumber_ToBase"];var __PyLong_Format=Module["__PyLong_Format"]=wasmExports["_PyLong_Format"];var _PySequence_Check=Module["_PySequence_Check"]=wasmExports["PySequence_Check"];var _PySequence_Length=Module["_PySequence_Length"]=wasmExports["PySequence_Length"];var _PySequence_Concat=Module["_PySequence_Concat"]=wasmExports["PySequence_Concat"];var _PySequence_Repeat=Module["_PySequence_Repeat"]=wasmExports["PySequence_Repeat"];var _PySequence_InPlaceConcat=Module["_PySequence_InPlaceConcat"]=wasmExports["PySequence_InPlaceConcat"];var _PySequence_InPlaceRepeat=Module["_PySequence_InPlaceRepeat"]=wasmExports["PySequence_InPlaceRepeat"];var __PySlice_FromIndices=Module["__PySlice_FromIndices"]=wasmExports["_PySlice_FromIndices"];var _PySequence_DelSlice=Module["_PySequence_DelSlice"]=wasmExports["PySequence_DelSlice"];var _PySequence_Tuple=Module["_PySequence_Tuple"]=wasmExports["PySequence_Tuple"];var _PyList_AsTuple=Module["_PyList_AsTuple"]=wasmExports["PyList_AsTuple"];var __PyTuple_Resize=Module["__PyTuple_Resize"]=wasmExports["_PyTuple_Resize"];var _PySeqIter_New=Module["_PySeqIter_New"]=wasmExports["PySeqIter_New"];var _PySequence_List=Module["_PySequence_List"]=wasmExports["PySequence_List"];var __PyList_Extend=Module["__PyList_Extend"]=wasmExports["_PyList_Extend"];var _PySequence_Count=Module["_PySequence_Count"]=wasmExports["PySequence_Count"];var _PySequence_In=Module["_PySequence_In"]=wasmExports["PySequence_In"];var _PySequence_Index=Module["_PySequence_Index"]=wasmExports["PySequence_Index"];var _PyMapping_Check=Module["_PyMapping_Check"]=wasmExports["PyMapping_Check"];var _PyMapping_Length=Module["_PyMapping_Length"]=wasmExports["PyMapping_Length"];var _PyMapping_GetItemString=Module["_PyMapping_GetItemString"]=wasmExports["PyMapping_GetItemString"];var _PyMapping_GetOptionalItemString=Module["_PyMapping_GetOptionalItemString"]=wasmExports["PyMapping_GetOptionalItemString"];var _PyMapping_SetItemString=Module["_PyMapping_SetItemString"]=wasmExports["PyMapping_SetItemString"];var _PyMapping_HasKeyStringWithError=Module["_PyMapping_HasKeyStringWithError"]=wasmExports["PyMapping_HasKeyStringWithError"];var _PyMapping_HasKeyWithError=Module["_PyMapping_HasKeyWithError"]=wasmExports["PyMapping_HasKeyWithError"];var _PyMapping_HasKeyString=Module["_PyMapping_HasKeyString"]=wasmExports["PyMapping_HasKeyString"];var _PyErr_FormatUnraisable=Module["_PyErr_FormatUnraisable"]=wasmExports["PyErr_FormatUnraisable"];var _PyMapping_HasKey=Module["_PyMapping_HasKey"]=wasmExports["PyMapping_HasKey"];var _PyMapping_Keys=Module["_PyMapping_Keys"]=wasmExports["PyMapping_Keys"];var _PyDict_Keys=Module["_PyDict_Keys"]=wasmExports["PyDict_Keys"];var _PyMapping_Items=Module["_PyMapping_Items"]=wasmExports["PyMapping_Items"];var _PyDict_Items=Module["_PyDict_Items"]=wasmExports["PyDict_Items"];var _PyMapping_Values=Module["_PyMapping_Values"]=wasmExports["PyMapping_Values"];var _PyDict_Values=Module["_PyDict_Values"]=wasmExports["PyDict_Values"];var __Py_CheckRecursiveCall=Module["__Py_CheckRecursiveCall"]=wasmExports["_Py_CheckRecursiveCall"];var _PyObject_IsTrue=Module["_PyObject_IsTrue"]=wasmExports["PyObject_IsTrue"];var _PyIter_Check=Module["_PyIter_Check"]=wasmExports["PyIter_Check"];var _PyObject_GetAIter=Module["_PyObject_GetAIter"]=wasmExports["PyObject_GetAIter"];var _PyAIter_Check=Module["_PyAIter_Check"]=wasmExports["PyAIter_Check"];var _PyBool_FromLong=Module["_PyBool_FromLong"]=wasmExports["PyBool_FromLong"];var __PyArg_NoKeywords=Module["__PyArg_NoKeywords"]=wasmExports["_PyArg_NoKeywords"];var _memrchr=Module["_memrchr"]=wasmExports["memrchr"];var _PyByteArray_FromObject=Module["_PyByteArray_FromObject"]=wasmExports["PyByteArray_FromObject"];var _PyByteArray_FromStringAndSize=Module["_PyByteArray_FromStringAndSize"]=wasmExports["PyByteArray_FromStringAndSize"];var __PyObject_New=Module["__PyObject_New"]=wasmExports["_PyObject_New"];var _PyByteArray_Size=Module["_PyByteArray_Size"]=wasmExports["PyByteArray_Size"];var _PyByteArray_AsString=Module["_PyByteArray_AsString"]=wasmExports["PyByteArray_AsString"];var _PyByteArray_Resize=Module["_PyByteArray_Resize"]=wasmExports["PyByteArray_Resize"];var _PyByteArray_Concat=Module["_PyByteArray_Concat"]=wasmExports["PyByteArray_Concat"];var __Py_GetConfig=Module["__Py_GetConfig"]=wasmExports["_Py_GetConfig"];var __PyObject_GC_New=Module["__PyObject_GC_New"]=wasmExports["_PyObject_GC_New"];var __PyArg_UnpackKeywords=Module["__PyArg_UnpackKeywords"]=wasmExports["_PyArg_UnpackKeywords"];var __PyArg_BadArgument=Module["__PyArg_BadArgument"]=wasmExports["_PyArg_BadArgument"];var _PyUnicode_AsEncodedString=Module["_PyUnicode_AsEncodedString"]=wasmExports["PyUnicode_AsEncodedString"];var _PyBuffer_ToContiguous=Module["_PyBuffer_ToContiguous"]=wasmExports["PyBuffer_ToContiguous"];var _PyObject_GC_Del=Module["_PyObject_GC_Del"]=wasmExports["PyObject_GC_Del"];var __PyBytes_Repeat=Module["__PyBytes_Repeat"]=wasmExports["_PyBytes_Repeat"];var __PyObject_GetState=Module["__PyObject_GetState"]=wasmExports["_PyObject_GetState"];var _PyUnicode_DecodeLatin1=Module["_PyUnicode_DecodeLatin1"]=wasmExports["PyUnicode_DecodeLatin1"];var _PyLong_AsInt=Module["_PyLong_AsInt"]=wasmExports["PyLong_AsInt"];var _PyLong_FromSize_t=Module["_PyLong_FromSize_t"]=wasmExports["PyLong_FromSize_t"];var __PyEval_SliceIndex=Module["__PyEval_SliceIndex"]=wasmExports["_PyEval_SliceIndex"];var _PyUnicode_GetDefaultEncoding=Module["_PyUnicode_GetDefaultEncoding"]=wasmExports["PyUnicode_GetDefaultEncoding"];var _PyUnicode_FromEncodedObject=Module["_PyUnicode_FromEncodedObject"]=wasmExports["PyUnicode_FromEncodedObject"];var _PyList_Append=Module["_PyList_Append"]=wasmExports["PyList_Append"];var _PyList_Reverse=Module["_PyList_Reverse"]=wasmExports["PyList_Reverse"];var __PyEval_GetBuiltin=Module["__PyEval_GetBuiltin"]=wasmExports["_PyEval_GetBuiltin"];var _PyObject_GenericGetAttr=Module["_PyObject_GenericGetAttr"]=wasmExports["PyObject_GenericGetAttr"];var _PyType_GenericAlloc=Module["_PyType_GenericAlloc"]=wasmExports["PyType_GenericAlloc"];var _PyObject_Free=Module["_PyObject_Free"]=wasmExports["PyObject_Free"];var _PyObject_Malloc=Module["_PyObject_Malloc"]=wasmExports["PyObject_Malloc"];var __Py_NewReference=Module["__Py_NewReference"]=wasmExports["_Py_NewReference"];var _PyObject_Calloc=Module["_PyObject_Calloc"]=wasmExports["PyObject_Calloc"];var _PyBytes_FromFormatV=Module["_PyBytes_FromFormatV"]=wasmExports["PyBytes_FromFormatV"];var __PyBytesWriter_Resize=Module["__PyBytesWriter_Resize"]=wasmExports["_PyBytesWriter_Resize"];var __PyBytesWriter_Finish=Module["__PyBytesWriter_Finish"]=wasmExports["_PyBytesWriter_Finish"];var __PyBytesWriter_Init=Module["__PyBytesWriter_Init"]=wasmExports["_PyBytesWriter_Init"];var __PyBytesWriter_Alloc=Module["__PyBytesWriter_Alloc"]=wasmExports["_PyBytesWriter_Alloc"];var __PyBytesWriter_WriteBytes=Module["__PyBytesWriter_WriteBytes"]=wasmExports["_PyBytesWriter_WriteBytes"];var __PyBytes_Resize=Module["__PyBytes_Resize"]=wasmExports["_PyBytes_Resize"];var __PyBytesWriter_Dealloc=Module["__PyBytesWriter_Dealloc"]=wasmExports["_PyBytesWriter_Dealloc"];var _PyBytes_FromFormat=Module["_PyBytes_FromFormat"]=wasmExports["PyBytes_FromFormat"];var _PyObject_ASCII=Module["_PyObject_ASCII"]=wasmExports["PyObject_ASCII"];var _PyOS_double_to_string=Module["_PyOS_double_to_string"]=wasmExports["PyOS_double_to_string"];var __PyBytesWriter_Prepare=Module["__PyBytesWriter_Prepare"]=wasmExports["_PyBytesWriter_Prepare"];var _PyBytes_DecodeEscape=Module["_PyBytes_DecodeEscape"]=wasmExports["PyBytes_DecodeEscape"];var _PyBytes_Size=Module["_PyBytes_Size"]=wasmExports["PyBytes_Size"];var __PyBytes_Find=Module["__PyBytes_Find"]=wasmExports["_PyBytes_Find"];var __PyBytes_ReverseFind=Module["__PyBytes_ReverseFind"]=wasmExports["_PyBytes_ReverseFind"];var _PyBytes_Repr=Module["_PyBytes_Repr"]=wasmExports["PyBytes_Repr"];var __PyBytes_Join=Module["__PyBytes_Join"]=wasmExports["_PyBytes_Join"];var _PyBytes_FromObject=Module["_PyBytes_FromObject"]=wasmExports["PyBytes_FromObject"];var _PyErr_BadArgument=Module["_PyErr_BadArgument"]=wasmExports["PyErr_BadArgument"];var _PyObject_Realloc=Module["_PyObject_Realloc"]=wasmExports["PyObject_Realloc"];var __Py_NewReferenceNoTotal=Module["__Py_NewReferenceNoTotal"]=wasmExports["_Py_NewReferenceNoTotal"];var _PyBytes_ConcatAndDel=Module["_PyBytes_ConcatAndDel"]=wasmExports["PyBytes_ConcatAndDel"];var _PyVectorcall_Function=Module["_PyVectorcall_Function"]=wasmExports["PyVectorcall_Function"];var __PyDict_FromItems=Module["__PyDict_FromItems"]=wasmExports["_PyDict_FromItems"];var _PyDict_Next=Module["_PyDict_Next"]=wasmExports["PyDict_Next"];var _PyObject_VectorcallDict=Module["_PyObject_VectorcallDict"]=wasmExports["PyObject_VectorcallDict"];var _PyModule_GetNameObject=Module["_PyModule_GetNameObject"]=wasmExports["PyModule_GetNameObject"];var _PyCallable_Check=Module["_PyCallable_Check"]=wasmExports["PyCallable_Check"];var __PyStack_AsDict=Module["__PyStack_AsDict"]=wasmExports["_PyStack_AsDict"];var _PyObject_Call=Module["_PyObject_Call"]=wasmExports["PyObject_Call"];var _PyCFunction_Call=Module["_PyCFunction_Call"]=wasmExports["PyCFunction_Call"];var _PyEval_CallObjectWithKeywords=Module["_PyEval_CallObjectWithKeywords"]=wasmExports["PyEval_CallObjectWithKeywords"];var _PyObject_CallObject=Module["_PyObject_CallObject"]=wasmExports["PyObject_CallObject"];var _PyEval_CallFunction=Module["_PyEval_CallFunction"]=wasmExports["PyEval_CallFunction"];var __PyObject_CallFunction_SizeT=Module["__PyObject_CallFunction_SizeT"]=wasmExports["_PyObject_CallFunction_SizeT"];var _PyObject_CallMethod=Module["_PyObject_CallMethod"]=wasmExports["PyObject_CallMethod"];var _PyEval_CallMethod=Module["_PyEval_CallMethod"]=wasmExports["PyEval_CallMethod"];var __PyObject_CallMethod=Module["__PyObject_CallMethod"]=wasmExports["_PyObject_CallMethod"];var __PyObject_CallMethodId=Module["__PyObject_CallMethodId"]=wasmExports["_PyObject_CallMethodId"];var __PyObject_CallMethod_SizeT=Module["__PyObject_CallMethod_SizeT"]=wasmExports["_PyObject_CallMethod_SizeT"];var _PyObject_CallMethodObjArgs=Module["_PyObject_CallMethodObjArgs"]=wasmExports["PyObject_CallMethodObjArgs"];var _PyVectorcall_NARGS=Module["_PyVectorcall_NARGS"]=wasmExports["PyVectorcall_NARGS"];var _PyCapsule_New=Module["_PyCapsule_New"]=wasmExports["PyCapsule_New"];var _PyCapsule_IsValid=Module["_PyCapsule_IsValid"]=wasmExports["PyCapsule_IsValid"];var _PyCapsule_GetPointer=Module["_PyCapsule_GetPointer"]=wasmExports["PyCapsule_GetPointer"];var _PyCapsule_GetName=Module["_PyCapsule_GetName"]=wasmExports["PyCapsule_GetName"];var _PyCapsule_GetDestructor=Module["_PyCapsule_GetDestructor"]=wasmExports["PyCapsule_GetDestructor"];var _PyCapsule_GetContext=Module["_PyCapsule_GetContext"]=wasmExports["PyCapsule_GetContext"];var _PyCapsule_SetPointer=Module["_PyCapsule_SetPointer"]=wasmExports["PyCapsule_SetPointer"];var _PyCapsule_SetName=Module["_PyCapsule_SetName"]=wasmExports["PyCapsule_SetName"];var _PyCapsule_SetDestructor=Module["_PyCapsule_SetDestructor"]=wasmExports["PyCapsule_SetDestructor"];var _PyCapsule_SetContext=Module["_PyCapsule_SetContext"]=wasmExports["PyCapsule_SetContext"];var __PyCapsule_SetTraverse=Module["__PyCapsule_SetTraverse"]=wasmExports["_PyCapsule_SetTraverse"];var _PyCapsule_Import=Module["_PyCapsule_Import"]=wasmExports["PyCapsule_Import"];var _PyCell_New=Module["_PyCell_New"]=wasmExports["PyCell_New"];var _PyCell_Get=Module["_PyCell_Get"]=wasmExports["PyCell_Get"];var _PyCell_Set=Module["_PyCell_Set"]=wasmExports["PyCell_Set"];var _PyObject_RichCompare=Module["_PyObject_RichCompare"]=wasmExports["PyObject_RichCompare"];var _PyMethod_Function=Module["_PyMethod_Function"]=wasmExports["PyMethod_Function"];var _PyMethod_Self=Module["_PyMethod_Self"]=wasmExports["PyMethod_Self"];var _PyMethod_New=Module["_PyMethod_New"]=wasmExports["PyMethod_New"];var _PyObject_ClearWeakRefs=Module["_PyObject_ClearWeakRefs"]=wasmExports["PyObject_ClearWeakRefs"];var _PyObject_GenericHash=Module["_PyObject_GenericHash"]=wasmExports["PyObject_GenericHash"];var __PyType_GetDict=Module["__PyType_GetDict"]=wasmExports["_PyType_GetDict"];var __PyType_LookupRef=Module["__PyType_LookupRef"]=wasmExports["_PyType_LookupRef"];var _PyInstanceMethod_New=Module["_PyInstanceMethod_New"]=wasmExports["PyInstanceMethod_New"];var _PyInstanceMethod_Function=Module["_PyInstanceMethod_Function"]=wasmExports["PyInstanceMethod_Function"];var _PyCode_AddWatcher=Module["_PyCode_AddWatcher"]=wasmExports["PyCode_AddWatcher"];var _PyCode_ClearWatcher=Module["_PyCode_ClearWatcher"]=wasmExports["PyCode_ClearWatcher"];var __PyObject_NewVar=Module["__PyObject_NewVar"]=wasmExports["_PyObject_NewVar"];var __PyUnicode_InternMortal=Module["__PyUnicode_InternMortal"]=wasmExports["_PyUnicode_InternMortal"];var _PyUnstable_Code_NewWithPosOnlyArgs=Module["_PyUnstable_Code_NewWithPosOnlyArgs"]=wasmExports["PyUnstable_Code_NewWithPosOnlyArgs"];var _PyUnicode_Compare=Module["_PyUnicode_Compare"]=wasmExports["PyUnicode_Compare"];var _PyUnstable_Code_New=Module["_PyUnstable_Code_New"]=wasmExports["PyUnstable_Code_New"];var _PyCode_NewEmpty=Module["_PyCode_NewEmpty"]=wasmExports["PyCode_NewEmpty"];var _PyUnicode_DecodeFSDefault=Module["_PyUnicode_DecodeFSDefault"]=wasmExports["PyUnicode_DecodeFSDefault"];var _PyCode_Addr2Line=Module["_PyCode_Addr2Line"]=wasmExports["PyCode_Addr2Line"];var __PyCode_CheckLineNumber=Module["__PyCode_CheckLineNumber"]=wasmExports["_PyCode_CheckLineNumber"];var _PyCode_Addr2Location=Module["_PyCode_Addr2Location"]=wasmExports["PyCode_Addr2Location"];var _PyUnstable_Code_GetExtra=Module["_PyUnstable_Code_GetExtra"]=wasmExports["PyUnstable_Code_GetExtra"];var _PyUnstable_Code_SetExtra=Module["_PyUnstable_Code_SetExtra"]=wasmExports["PyUnstable_Code_SetExtra"];var _PyCode_GetVarnames=Module["_PyCode_GetVarnames"]=wasmExports["PyCode_GetVarnames"];var _PyCode_GetCellvars=Module["_PyCode_GetCellvars"]=wasmExports["PyCode_GetCellvars"];var _PyCode_GetFreevars=Module["_PyCode_GetFreevars"]=wasmExports["PyCode_GetFreevars"];var _PyCode_GetCode=Module["_PyCode_GetCode"]=wasmExports["PyCode_GetCode"];var __PyCode_ConstantKey=Module["__PyCode_ConstantKey"]=wasmExports["_PyCode_ConstantKey"];var _PyComplex_AsCComplex=Module["_PyComplex_AsCComplex"]=wasmExports["PyComplex_AsCComplex"];var __PySet_NextEntry=Module["__PySet_NextEntry"]=wasmExports["_PySet_NextEntry"];var _PyFrozenSet_New=Module["_PyFrozenSet_New"]=wasmExports["PyFrozenSet_New"];var _PyLong_FromVoidPtr=Module["_PyLong_FromVoidPtr"]=wasmExports["PyLong_FromVoidPtr"];var __PyUnicode_Copy=Module["__PyUnicode_Copy"]=wasmExports["_PyUnicode_Copy"];var __Py_c_sum=Module["__Py_c_sum"]=wasmExports["_Py_c_sum"];var __Py_c_diff=Module["__Py_c_diff"]=wasmExports["_Py_c_diff"];var __Py_c_neg=Module["__Py_c_neg"]=wasmExports["_Py_c_neg"];var __Py_c_prod=Module["__Py_c_prod"]=wasmExports["_Py_c_prod"];var __Py_c_quot=Module["__Py_c_quot"]=wasmExports["_Py_c_quot"];var __Py_c_pow=Module["__Py_c_pow"]=wasmExports["_Py_c_pow"];var _atan2=Module["_atan2"]=wasmExports["atan2"];var _hypot=Module["_hypot"]=wasmExports["hypot"];var _pow=Module["_pow"]=wasmExports["pow"];var _log=Module["_log"]=wasmExports["log"];var _exp=Module["_exp"]=wasmExports["exp"];var _sin=Module["_sin"]=wasmExports["sin"];var _cos=Module["_cos"]=wasmExports["cos"];var __Py_c_abs=Module["__Py_c_abs"]=wasmExports["_Py_c_abs"];var _PyComplex_FromDoubles=Module["_PyComplex_FromDoubles"]=wasmExports["PyComplex_FromDoubles"];var _PyComplex_RealAsDouble=Module["_PyComplex_RealAsDouble"]=wasmExports["PyComplex_RealAsDouble"];var _PyComplex_ImagAsDouble=Module["_PyComplex_ImagAsDouble"]=wasmExports["PyComplex_ImagAsDouble"];var __Py_HashDouble=Module["__Py_HashDouble"]=wasmExports["_Py_HashDouble"];var __PyUnicode_TransformDecimalAndSpaceToASCII=Module["__PyUnicode_TransformDecimalAndSpaceToASCII"]=wasmExports["_PyUnicode_TransformDecimalAndSpaceToASCII"];var _PyCMethod_New=Module["_PyCMethod_New"]=wasmExports["PyCMethod_New"];var _PyMember_GetOne=Module["_PyMember_GetOne"]=wasmExports["PyMember_GetOne"];var _PyMember_SetOne=Module["_PyMember_SetOne"]=wasmExports["PyMember_SetOne"];var _PyTuple_GetSlice=Module["_PyTuple_GetSlice"]=wasmExports["PyTuple_GetSlice"];var _PyDescr_NewMethod=Module["_PyDescr_NewMethod"]=wasmExports["PyDescr_NewMethod"];var __PyObject_FunctionStr=Module["__PyObject_FunctionStr"]=wasmExports["_PyObject_FunctionStr"];var _PyDescr_NewClassMethod=Module["_PyDescr_NewClassMethod"]=wasmExports["PyDescr_NewClassMethod"];var _PyDescr_NewMember=Module["_PyDescr_NewMember"]=wasmExports["PyDescr_NewMember"];var _PyDescr_NewGetSet=Module["_PyDescr_NewGetSet"]=wasmExports["PyDescr_NewGetSet"];var _PyDescr_NewWrapper=Module["_PyDescr_NewWrapper"]=wasmExports["PyDescr_NewWrapper"];var _PyDescr_IsData=Module["_PyDescr_IsData"]=wasmExports["PyDescr_IsData"];var _PyDictProxy_New=Module["_PyDictProxy_New"]=wasmExports["PyDictProxy_New"];var _PyThreadState_Get=Module["_PyThreadState_Get"]=wasmExports["PyThreadState_Get"];var __PyTrash_thread_deposit_object=Module["__PyTrash_thread_deposit_object"]=wasmExports["_PyTrash_thread_deposit_object"];var __PyTrash_thread_destroy_chain=Module["__PyTrash_thread_destroy_chain"]=wasmExports["_PyTrash_thread_destroy_chain"];var _Py_HashPointer=Module["_Py_HashPointer"]=wasmExports["Py_HashPointer"];var _PyWrapper_New=Module["_PyWrapper_New"]=wasmExports["PyWrapper_New"];var _PyType_GetQualName=Module["_PyType_GetQualName"]=wasmExports["PyType_GetQualName"];var _PyDict_Contains=Module["_PyDict_Contains"]=wasmExports["PyDict_Contains"];var __PyUnicode_EqualToASCIIString=Module["__PyUnicode_EqualToASCIIString"]=wasmExports["_PyUnicode_EqualToASCIIString"];var _PyException_GetCause=Module["_PyException_GetCause"]=wasmExports["PyException_GetCause"];var _PyException_SetCause=Module["_PyException_SetCause"]=wasmExports["PyException_SetCause"];var _PyException_GetContext=Module["_PyException_GetContext"]=wasmExports["PyException_GetContext"];var _PyException_SetContext=Module["_PyException_SetContext"]=wasmExports["PyException_SetContext"];var _PyException_GetArgs=Module["_PyException_GetArgs"]=wasmExports["PyException_GetArgs"];var _PyException_SetArgs=Module["_PyException_SetArgs"]=wasmExports["PyException_SetArgs"];var _PyExceptionClass_Name=Module["_PyExceptionClass_Name"]=wasmExports["PyExceptionClass_Name"];var _PyUnstable_Exc_PrepReraiseStar=Module["_PyUnstable_Exc_PrepReraiseStar"]=wasmExports["PyUnstable_Exc_PrepReraiseStar"];var _PyUnicodeEncodeError_GetEncoding=Module["_PyUnicodeEncodeError_GetEncoding"]=wasmExports["PyUnicodeEncodeError_GetEncoding"];var _PyUnicodeDecodeError_GetEncoding=Module["_PyUnicodeDecodeError_GetEncoding"]=wasmExports["PyUnicodeDecodeError_GetEncoding"];var _PyUnicodeEncodeError_GetObject=Module["_PyUnicodeEncodeError_GetObject"]=wasmExports["PyUnicodeEncodeError_GetObject"];var _PyUnicodeDecodeError_GetObject=Module["_PyUnicodeDecodeError_GetObject"]=wasmExports["PyUnicodeDecodeError_GetObject"];var _PyUnicodeTranslateError_GetObject=Module["_PyUnicodeTranslateError_GetObject"]=wasmExports["PyUnicodeTranslateError_GetObject"];var _PyUnicodeEncodeError_GetStart=Module["_PyUnicodeEncodeError_GetStart"]=wasmExports["PyUnicodeEncodeError_GetStart"];var _PyUnicodeDecodeError_GetStart=Module["_PyUnicodeDecodeError_GetStart"]=wasmExports["PyUnicodeDecodeError_GetStart"];var _PyUnicodeTranslateError_GetStart=Module["_PyUnicodeTranslateError_GetStart"]=wasmExports["PyUnicodeTranslateError_GetStart"];var _PyUnicodeEncodeError_SetStart=Module["_PyUnicodeEncodeError_SetStart"]=wasmExports["PyUnicodeEncodeError_SetStart"];var _PyUnicodeDecodeError_SetStart=Module["_PyUnicodeDecodeError_SetStart"]=wasmExports["PyUnicodeDecodeError_SetStart"];var _PyUnicodeTranslateError_SetStart=Module["_PyUnicodeTranslateError_SetStart"]=wasmExports["PyUnicodeTranslateError_SetStart"];var _PyUnicodeEncodeError_GetEnd=Module["_PyUnicodeEncodeError_GetEnd"]=wasmExports["PyUnicodeEncodeError_GetEnd"];var _PyUnicodeDecodeError_GetEnd=Module["_PyUnicodeDecodeError_GetEnd"]=wasmExports["PyUnicodeDecodeError_GetEnd"];var _PyUnicodeTranslateError_GetEnd=Module["_PyUnicodeTranslateError_GetEnd"]=wasmExports["PyUnicodeTranslateError_GetEnd"];var _PyUnicodeEncodeError_SetEnd=Module["_PyUnicodeEncodeError_SetEnd"]=wasmExports["PyUnicodeEncodeError_SetEnd"];var _PyUnicodeDecodeError_SetEnd=Module["_PyUnicodeDecodeError_SetEnd"]=wasmExports["PyUnicodeDecodeError_SetEnd"];var _PyUnicodeTranslateError_SetEnd=Module["_PyUnicodeTranslateError_SetEnd"]=wasmExports["PyUnicodeTranslateError_SetEnd"];var _PyUnicodeEncodeError_GetReason=Module["_PyUnicodeEncodeError_GetReason"]=wasmExports["PyUnicodeEncodeError_GetReason"];var _PyUnicodeDecodeError_GetReason=Module["_PyUnicodeDecodeError_GetReason"]=wasmExports["PyUnicodeDecodeError_GetReason"];var _PyUnicodeTranslateError_GetReason=Module["_PyUnicodeTranslateError_GetReason"]=wasmExports["PyUnicodeTranslateError_GetReason"];var _PyUnicodeEncodeError_SetReason=Module["_PyUnicodeEncodeError_SetReason"]=wasmExports["PyUnicodeEncodeError_SetReason"];var _PyUnicodeDecodeError_SetReason=Module["_PyUnicodeDecodeError_SetReason"]=wasmExports["PyUnicodeDecodeError_SetReason"];var _PyUnicodeTranslateError_SetReason=Module["_PyUnicodeTranslateError_SetReason"]=wasmExports["PyUnicodeTranslateError_SetReason"];var _PyUnicodeDecodeError_Create=Module["_PyUnicodeDecodeError_Create"]=wasmExports["PyUnicodeDecodeError_Create"];var _PyModule_GetDict=Module["_PyModule_GetDict"]=wasmExports["PyModule_GetDict"];var _PyErr_NewException=Module["_PyErr_NewException"]=wasmExports["PyErr_NewException"];var _PySet_Add=Module["_PySet_Add"]=wasmExports["PySet_Add"];var _PySet_Contains=Module["_PySet_Contains"]=wasmExports["PySet_Contains"];var _PyTuple_Size=Module["_PyTuple_Size"]=wasmExports["PyTuple_Size"];var _PyDict_Copy=Module["_PyDict_Copy"]=wasmExports["PyDict_Copy"];var _PyUnicode_ReadChar=Module["_PyUnicode_ReadChar"]=wasmExports["PyUnicode_ReadChar"];var _PyObject_GenericGetDict=Module["_PyObject_GenericGetDict"]=wasmExports["PyObject_GenericGetDict"];var _PyObject_GenericSetDict=Module["_PyObject_GenericSetDict"]=wasmExports["PyObject_GenericSetDict"];var _PyObject_HasAttrWithError=Module["_PyObject_HasAttrWithError"]=wasmExports["PyObject_HasAttrWithError"];var _PyList_SetSlice=Module["_PyList_SetSlice"]=wasmExports["PyList_SetSlice"];var __PyUnicodeWriter_WriteASCIIString=Module["__PyUnicodeWriter_WriteASCIIString"]=wasmExports["_PyUnicodeWriter_WriteASCIIString"];var _PyObject_GC_Track=Module["_PyObject_GC_Track"]=wasmExports["PyObject_GC_Track"];var __Py_union_type_or=Module["__Py_union_type_or"]=wasmExports["_Py_union_type_or"];var _PyErr_WriteUnraisable=Module["_PyErr_WriteUnraisable"]=wasmExports["PyErr_WriteUnraisable"];var __PyGen_yf=Module["__PyGen_yf"]=wasmExports["_PyGen_yf"];var _PyObject_CallFinalizerFromDealloc=Module["_PyObject_CallFinalizerFromDealloc"]=wasmExports["PyObject_CallFinalizerFromDealloc"];var __Py_MakeCoro=Module["__Py_MakeCoro"]=wasmExports["_Py_MakeCoro"];var __PyObject_GC_NewVar=Module["__PyObject_GC_NewVar"]=wasmExports["_PyObject_GC_NewVar"];var _PyUnstable_InterpreterFrame_GetLine=Module["_PyUnstable_InterpreterFrame_GetLine"]=wasmExports["PyUnstable_InterpreterFrame_GetLine"];var _PyGen_NewWithQualName=Module["_PyGen_NewWithQualName"]=wasmExports["PyGen_NewWithQualName"];var _PyGen_New=Module["_PyGen_New"]=wasmExports["PyGen_New"];var __PyCoro_GetAwaitableIter=Module["__PyCoro_GetAwaitableIter"]=wasmExports["_PyCoro_GetAwaitableIter"];var _PyCoro_New=Module["_PyCoro_New"]=wasmExports["PyCoro_New"];var _PyAsyncGen_New=Module["_PyAsyncGen_New"]=wasmExports["PyAsyncGen_New"];var __PyEval_EvalFrameDefault=Module["__PyEval_EvalFrameDefault"]=wasmExports["_PyEval_EvalFrameDefault"];var _PyFile_FromFd=Module["_PyFile_FromFd"]=wasmExports["PyFile_FromFd"];var _PyFile_GetLine=Module["_PyFile_GetLine"]=wasmExports["PyFile_GetLine"];var _PyFile_WriteObject=Module["_PyFile_WriteObject"]=wasmExports["PyFile_WriteObject"];var _PyFile_WriteString=Module["_PyFile_WriteString"]=wasmExports["PyFile_WriteString"];var _PyObject_AsFileDescriptor=Module["_PyObject_AsFileDescriptor"]=wasmExports["PyObject_AsFileDescriptor"];var __PyLong_FileDescriptor_Converter=Module["__PyLong_FileDescriptor_Converter"]=wasmExports["_PyLong_FileDescriptor_Converter"];var _flockfile=Module["_flockfile"]=wasmExports["flockfile"];var _getc_unlocked=Module["_getc_unlocked"]=wasmExports["getc_unlocked"];var _funlockfile=Module["_funlockfile"]=wasmExports["funlockfile"];var _Py_UniversalNewlineFgets=Module["_Py_UniversalNewlineFgets"]=wasmExports["Py_UniversalNewlineFgets"];var _PyFile_NewStdPrinter=Module["_PyFile_NewStdPrinter"]=wasmExports["PyFile_NewStdPrinter"];var _PyFile_SetOpenCodeHook=Module["_PyFile_SetOpenCodeHook"]=wasmExports["PyFile_SetOpenCodeHook"];var _Py_IsInitialized=Module["_Py_IsInitialized"]=wasmExports["Py_IsInitialized"];var _PyFile_OpenCodeObject=Module["_PyFile_OpenCodeObject"]=wasmExports["PyFile_OpenCodeObject"];var _PyFile_OpenCode=Module["_PyFile_OpenCode"]=wasmExports["PyFile_OpenCode"];var __PyUnicode_AsUTF8String=Module["__PyUnicode_AsUTF8String"]=wasmExports["_PyUnicode_AsUTF8String"];var __Py_write=Module["__Py_write"]=wasmExports["_Py_write"];var _PyFloat_GetMax=Module["_PyFloat_GetMax"]=wasmExports["PyFloat_GetMax"];var _PyFloat_GetMin=Module["_PyFloat_GetMin"]=wasmExports["PyFloat_GetMin"];var _PyFloat_GetInfo=Module["_PyFloat_GetInfo"]=wasmExports["PyFloat_GetInfo"];var _PyStructSequence_New=Module["_PyStructSequence_New"]=wasmExports["PyStructSequence_New"];var _PyStructSequence_SetItem=Module["_PyStructSequence_SetItem"]=wasmExports["PyStructSequence_SetItem"];var __PyFloat_ExactDealloc=Module["__PyFloat_ExactDealloc"]=wasmExports["_PyFloat_ExactDealloc"];var __PyLong_Sign=Module["__PyLong_Sign"]=wasmExports["_PyLong_Sign"];var _frexp=Module["_frexp"]=wasmExports["frexp"];var _modf=Module["_modf"]=wasmExports["modf"];var _PyLong_FromDouble=Module["_PyLong_FromDouble"]=wasmExports["PyLong_FromDouble"];var __PyLong_Lshift=Module["__PyLong_Lshift"]=wasmExports["_PyLong_Lshift"];var _PyFloat_Pack2=Module["_PyFloat_Pack2"]=wasmExports["PyFloat_Pack2"];var _ldexp=Module["_ldexp"]=wasmExports["ldexp"];var _PyFloat_Pack4=Module["_PyFloat_Pack4"]=wasmExports["PyFloat_Pack4"];var _PyFloat_Pack8=Module["_PyFloat_Pack8"]=wasmExports["PyFloat_Pack8"];var _PyFloat_Unpack2=Module["_PyFloat_Unpack2"]=wasmExports["PyFloat_Unpack2"];var _PyFloat_Unpack4=Module["_PyFloat_Unpack4"]=wasmExports["PyFloat_Unpack4"];var _PyFloat_Unpack8=Module["_PyFloat_Unpack8"]=wasmExports["PyFloat_Unpack8"];var _fmod=Module["_fmod"]=wasmExports["fmod"];var _PyErr_SetFromErrno=Module["_PyErr_SetFromErrno"]=wasmExports["PyErr_SetFromErrno"];var _round=Module["_round"]=wasmExports["round"];var _strtol=Module["_strtol"]=wasmExports["strtol"];var _Py_ReprEnter=Module["_Py_ReprEnter"]=wasmExports["Py_ReprEnter"];var _PyDict_Update=Module["_PyDict_Update"]=wasmExports["PyDict_Update"];var _Py_ReprLeave=Module["_Py_ReprLeave"]=wasmExports["Py_ReprLeave"];var _PyDict_Size=Module["_PyDict_Size"]=wasmExports["PyDict_Size"];var _PyFrame_GetLineNumber=Module["_PyFrame_GetLineNumber"]=wasmExports["PyFrame_GetLineNumber"];var _PyFrame_New=Module["_PyFrame_New"]=wasmExports["PyFrame_New"];var _PyFrame_GetVar=Module["_PyFrame_GetVar"]=wasmExports["PyFrame_GetVar"];var __PyUnicode_Equal=Module["__PyUnicode_Equal"]=wasmExports["_PyUnicode_Equal"];var _PyFrame_GetVarString=Module["_PyFrame_GetVarString"]=wasmExports["PyFrame_GetVarString"];var _PyFrame_FastToLocalsWithError=Module["_PyFrame_FastToLocalsWithError"]=wasmExports["PyFrame_FastToLocalsWithError"];var _PyFrame_FastToLocals=Module["_PyFrame_FastToLocals"]=wasmExports["PyFrame_FastToLocals"];var _PyFrame_LocalsToFast=Module["_PyFrame_LocalsToFast"]=wasmExports["PyFrame_LocalsToFast"];var __PyFrame_IsEntryFrame=Module["__PyFrame_IsEntryFrame"]=wasmExports["_PyFrame_IsEntryFrame"];var _PyFrame_GetCode=Module["_PyFrame_GetCode"]=wasmExports["PyFrame_GetCode"];var _PyFrame_GetBack=Module["_PyFrame_GetBack"]=wasmExports["PyFrame_GetBack"];var _PyFrame_GetLocals=Module["_PyFrame_GetLocals"]=wasmExports["PyFrame_GetLocals"];var _PyFrame_GetGlobals=Module["_PyFrame_GetGlobals"]=wasmExports["PyFrame_GetGlobals"];var _PyFrame_GetBuiltins=Module["_PyFrame_GetBuiltins"]=wasmExports["PyFrame_GetBuiltins"];var _PyFrame_GetLasti=Module["_PyFrame_GetLasti"]=wasmExports["PyFrame_GetLasti"];var _PyFrame_GetGenerator=Module["_PyFrame_GetGenerator"]=wasmExports["PyFrame_GetGenerator"];var __PyErr_SetKeyError=Module["__PyErr_SetKeyError"]=wasmExports["_PyErr_SetKeyError"];var _PyDict_DelItem=Module["_PyDict_DelItem"]=wasmExports["PyDict_DelItem"];var _PyDict_GetItem=Module["_PyDict_GetItem"]=wasmExports["PyDict_GetItem"];var _PyDict_Pop=Module["_PyDict_Pop"]=wasmExports["PyDict_Pop"];var _PyCompile_OpcodeStackEffect=Module["_PyCompile_OpcodeStackEffect"]=wasmExports["PyCompile_OpcodeStackEffect"];var _PyFunction_AddWatcher=Module["_PyFunction_AddWatcher"]=wasmExports["PyFunction_AddWatcher"];var _PyFunction_ClearWatcher=Module["_PyFunction_ClearWatcher"]=wasmExports["PyFunction_ClearWatcher"];var _PyFunction_NewWithQualName=Module["_PyFunction_NewWithQualName"]=wasmExports["PyFunction_NewWithQualName"];var __PyFunction_SetVersion=Module["__PyFunction_SetVersion"]=wasmExports["_PyFunction_SetVersion"];var _PyFunction_New=Module["_PyFunction_New"]=wasmExports["PyFunction_New"];var _PyFunction_GetCode=Module["_PyFunction_GetCode"]=wasmExports["PyFunction_GetCode"];var _PyFunction_GetGlobals=Module["_PyFunction_GetGlobals"]=wasmExports["PyFunction_GetGlobals"];var _PyFunction_GetModule=Module["_PyFunction_GetModule"]=wasmExports["PyFunction_GetModule"];var _PyFunction_GetDefaults=Module["_PyFunction_GetDefaults"]=wasmExports["PyFunction_GetDefaults"];var _PyFunction_SetDefaults=Module["_PyFunction_SetDefaults"]=wasmExports["PyFunction_SetDefaults"];var _PyFunction_SetVectorcall=Module["_PyFunction_SetVectorcall"]=wasmExports["PyFunction_SetVectorcall"];var _PyFunction_GetKwDefaults=Module["_PyFunction_GetKwDefaults"]=wasmExports["PyFunction_GetKwDefaults"];var _PyFunction_SetKwDefaults=Module["_PyFunction_SetKwDefaults"]=wasmExports["PyFunction_SetKwDefaults"];var _PyFunction_GetClosure=Module["_PyFunction_GetClosure"]=wasmExports["PyFunction_GetClosure"];var _PyFunction_SetClosure=Module["_PyFunction_SetClosure"]=wasmExports["PyFunction_SetClosure"];var _PyFunction_GetAnnotations=Module["_PyFunction_GetAnnotations"]=wasmExports["PyFunction_GetAnnotations"];var _PyFunction_SetAnnotations=Module["_PyFunction_SetAnnotations"]=wasmExports["PyFunction_SetAnnotations"];var _PyClassMethod_New=Module["_PyClassMethod_New"]=wasmExports["PyClassMethod_New"];var _PyStaticMethod_New=Module["_PyStaticMethod_New"]=wasmExports["PyStaticMethod_New"];var _PyCallIter_New=Module["_PyCallIter_New"]=wasmExports["PyCallIter_New"];var _PyList_GetItemRef=Module["_PyList_GetItemRef"]=wasmExports["PyList_GetItemRef"];var _PyList_SetItem=Module["_PyList_SetItem"]=wasmExports["PyList_SetItem"];var _PyList_Insert=Module["_PyList_Insert"]=wasmExports["PyList_Insert"];var __PyList_AppendTakeRefListResize=Module["__PyList_AppendTakeRefListResize"]=wasmExports["_PyList_AppendTakeRefListResize"];var _PyList_GetSlice=Module["_PyList_GetSlice"]=wasmExports["PyList_GetSlice"];var __PySet_NextEntryRef=Module["__PySet_NextEntryRef"]=wasmExports["_PySet_NextEntryRef"];var _PyList_Clear=Module["_PyList_Clear"]=wasmExports["PyList_Clear"];var __PyList_FromArraySteal=Module["__PyList_FromArraySteal"]=wasmExports["_PyList_FromArraySteal"];var __PyUnicodeWriter_WriteChar=Module["__PyUnicodeWriter_WriteChar"]=wasmExports["_PyUnicodeWriter_WriteChar"];var __PyEval_SliceIndexNotNone=Module["__PyEval_SliceIndexNotNone"]=wasmExports["_PyEval_SliceIndexNotNone"];var _PyObject_HashNotImplemented=Module["_PyObject_HashNotImplemented"]=wasmExports["PyObject_HashNotImplemented"];var __PyLong_New=Module["__PyLong_New"]=wasmExports["_PyLong_New"];var __PyLong_FromDigits=Module["__PyLong_FromDigits"]=wasmExports["_PyLong_FromDigits"];var _PyLong_FromUnsignedLong=Module["_PyLong_FromUnsignedLong"]=wasmExports["PyLong_FromUnsignedLong"];var _PyLong_FromUnsignedLongLong=Module["_PyLong_FromUnsignedLongLong"]=wasmExports["PyLong_FromUnsignedLongLong"];var _PyLong_AsUnsignedLong=Module["_PyLong_AsUnsignedLong"]=wasmExports["PyLong_AsUnsignedLong"];var _PyLong_AsSize_t=Module["_PyLong_AsSize_t"]=wasmExports["PyLong_AsSize_t"];var _PyLong_AsUnsignedLongMask=Module["_PyLong_AsUnsignedLongMask"]=wasmExports["PyLong_AsUnsignedLongMask"];var __PyLong_FromByteArray=Module["__PyLong_FromByteArray"]=wasmExports["_PyLong_FromByteArray"];var _PyLong_AsNativeBytes=Module["_PyLong_AsNativeBytes"]=wasmExports["PyLong_AsNativeBytes"];var _PyLong_FromNativeBytes=Module["_PyLong_FromNativeBytes"]=wasmExports["PyLong_FromNativeBytes"];var _PyLong_FromUnsignedNativeBytes=Module["_PyLong_FromUnsignedNativeBytes"]=wasmExports["PyLong_FromUnsignedNativeBytes"];var _PyLong_AsVoidPtr=Module["_PyLong_AsVoidPtr"]=wasmExports["PyLong_AsVoidPtr"];var _PyLong_FromLongLong=Module["_PyLong_FromLongLong"]=wasmExports["PyLong_FromLongLong"];var _PyLong_AsLongLong=Module["_PyLong_AsLongLong"]=wasmExports["PyLong_AsLongLong"];var _PyLong_AsUnsignedLongLong=Module["_PyLong_AsUnsignedLongLong"]=wasmExports["PyLong_AsUnsignedLongLong"];var _PyLong_AsUnsignedLongLongMask=Module["_PyLong_AsUnsignedLongLongMask"]=wasmExports["PyLong_AsUnsignedLongLongMask"];var _PyLong_AsLongLongAndOverflow=Module["_PyLong_AsLongLongAndOverflow"]=wasmExports["PyLong_AsLongLongAndOverflow"];var __PyLong_UnsignedShort_Converter=Module["__PyLong_UnsignedShort_Converter"]=wasmExports["_PyLong_UnsignedShort_Converter"];var __PyLong_UnsignedInt_Converter=Module["__PyLong_UnsignedInt_Converter"]=wasmExports["_PyLong_UnsignedInt_Converter"];var __PyLong_UnsignedLong_Converter=Module["__PyLong_UnsignedLong_Converter"]=wasmExports["_PyLong_UnsignedLong_Converter"];var __PyLong_UnsignedLongLong_Converter=Module["__PyLong_UnsignedLongLong_Converter"]=wasmExports["_PyLong_UnsignedLongLong_Converter"];var __PyLong_Size_t_Converter=Module["__PyLong_Size_t_Converter"]=wasmExports["_PyLong_Size_t_Converter"];var __PyUnicodeWriter_PrepareInternal=Module["__PyUnicodeWriter_PrepareInternal"]=wasmExports["_PyUnicodeWriter_PrepareInternal"];var __PyLong_Frexp=Module["__PyLong_Frexp"]=wasmExports["_PyLong_Frexp"];var __PyLong_Add=Module["__PyLong_Add"]=wasmExports["_PyLong_Add"];var __PyLong_Subtract=Module["__PyLong_Subtract"]=wasmExports["_PyLong_Subtract"];var __PyLong_Multiply=Module["__PyLong_Multiply"]=wasmExports["_PyLong_Multiply"];var __PyLong_Rshift=Module["__PyLong_Rshift"]=wasmExports["_PyLong_Rshift"];var __PyLong_GCD=Module["__PyLong_GCD"]=wasmExports["_PyLong_GCD"];var __PyLong_DivmodNear=Module["__PyLong_DivmodNear"]=wasmExports["_PyLong_DivmodNear"];var _PyLong_GetInfo=Module["_PyLong_GetInfo"]=wasmExports["PyLong_GetInfo"];var _PyUnstable_Long_IsCompact=Module["_PyUnstable_Long_IsCompact"]=wasmExports["PyUnstable_Long_IsCompact"];var _PyUnstable_Long_CompactValue=Module["_PyUnstable_Long_CompactValue"]=wasmExports["PyUnstable_Long_CompactValue"];var _PyObject_Bytes=Module["_PyObject_Bytes"]=wasmExports["PyObject_Bytes"];var __PyObject_AssertFailed=Module["__PyObject_AssertFailed"]=wasmExports["_PyObject_AssertFailed"];var _PyObject_IS_GC=Module["_PyObject_IS_GC"]=wasmExports["PyObject_IS_GC"];var __PyDict_NewPresized=Module["__PyDict_NewPresized"]=wasmExports["_PyDict_NewPresized"];var __PyDict_GetItemRef_KnownHash_LockHeld=Module["__PyDict_GetItemRef_KnownHash_LockHeld"]=wasmExports["_PyDict_GetItemRef_KnownHash_LockHeld"];var __PyDict_GetItemStringWithError=Module["__PyDict_GetItemStringWithError"]=wasmExports["_PyDict_GetItemStringWithError"];var __PyDict_LoadGlobal=Module["__PyDict_LoadGlobal"]=wasmExports["_PyDict_LoadGlobal"];var __PyDict_SetItem_Take2=Module["__PyDict_SetItem_Take2"]=wasmExports["_PyDict_SetItem_Take2"];var __PyDict_SetItem_KnownHash_LockHeld=Module["__PyDict_SetItem_KnownHash_LockHeld"]=wasmExports["_PyDict_SetItem_KnownHash_LockHeld"];var __PyDict_SetItem_KnownHash=Module["__PyDict_SetItem_KnownHash"]=wasmExports["_PyDict_SetItem_KnownHash"];var __PyDict_DelItem_KnownHash=Module["__PyDict_DelItem_KnownHash"]=wasmExports["_PyDict_DelItem_KnownHash"];var __PyDict_DelItemIf=Module["__PyDict_DelItemIf"]=wasmExports["_PyDict_DelItemIf"];var _PyDict_Clear=Module["_PyDict_Clear"]=wasmExports["PyDict_Clear"];var _PyDict_PopString=Module["_PyDict_PopString"]=wasmExports["PyDict_PopString"];var __PyDict_Pop=Module["__PyDict_Pop"]=wasmExports["_PyDict_Pop"];var _PyDict_MergeFromSeq2=Module["_PyDict_MergeFromSeq2"]=wasmExports["PyDict_MergeFromSeq2"];var _PyDict_Merge=Module["_PyDict_Merge"]=wasmExports["PyDict_Merge"];var __PyDict_MergeEx=Module["__PyDict_MergeEx"]=wasmExports["_PyDict_MergeEx"];var _PyDict_SetDefaultRef=Module["_PyDict_SetDefaultRef"]=wasmExports["PyDict_SetDefaultRef"];var _PyDict_SetDefault=Module["_PyDict_SetDefault"]=wasmExports["PyDict_SetDefault"];var __PyDict_SizeOf=Module["__PyDict_SizeOf"]=wasmExports["_PyDict_SizeOf"];var _PyDict_ContainsString=Module["_PyDict_ContainsString"]=wasmExports["PyDict_ContainsString"];var _PyDict_GetItemString=Module["_PyDict_GetItemString"]=wasmExports["PyDict_GetItemString"];var _PyDict_GetItemStringRef=Module["_PyDict_GetItemStringRef"]=wasmExports["PyDict_GetItemStringRef"];var _PyDict_DelItemString=Module["_PyDict_DelItemString"]=wasmExports["PyDict_DelItemString"];var _PyObject_VisitManagedDict=Module["_PyObject_VisitManagedDict"]=wasmExports["PyObject_VisitManagedDict"];var __PyObject_SetManagedDict=Module["__PyObject_SetManagedDict"]=wasmExports["_PyObject_SetManagedDict"];var _PyObject_ClearManagedDict=Module["_PyObject_ClearManagedDict"]=wasmExports["PyObject_ClearManagedDict"];var _PyDict_Watch=Module["_PyDict_Watch"]=wasmExports["PyDict_Watch"];var _PyDict_Unwatch=Module["_PyDict_Unwatch"]=wasmExports["PyDict_Unwatch"];var _PyDict_AddWatcher=Module["_PyDict_AddWatcher"]=wasmExports["PyDict_AddWatcher"];var _PyDict_ClearWatcher=Module["_PyDict_ClearWatcher"]=wasmExports["PyDict_ClearWatcher"];var _PyArg_ValidateKeywordArguments=Module["_PyArg_ValidateKeywordArguments"]=wasmExports["PyArg_ValidateKeywordArguments"];var _PyODict_New=Module["_PyODict_New"]=wasmExports["PyODict_New"];var _PyODict_SetItem=Module["_PyODict_SetItem"]=wasmExports["PyODict_SetItem"];var __PyErr_ChainExceptions1=Module["__PyErr_ChainExceptions1"]=wasmExports["_PyErr_ChainExceptions1"];var _PyODict_DelItem=Module["_PyODict_DelItem"]=wasmExports["PyODict_DelItem"];var _PyMemoryView_FromMemory=Module["_PyMemoryView_FromMemory"]=wasmExports["PyMemoryView_FromMemory"];var _PyMemoryView_FromBuffer=Module["_PyMemoryView_FromBuffer"]=wasmExports["PyMemoryView_FromBuffer"];var _PyMemoryView_GetContiguous=Module["_PyMemoryView_GetContiguous"]=wasmExports["PyMemoryView_GetContiguous"];var _PyUnicode_AsASCIIString=Module["_PyUnicode_AsASCIIString"]=wasmExports["PyUnicode_AsASCIIString"];var _PyCFunction_New=Module["_PyCFunction_New"]=wasmExports["PyCFunction_New"];var _PyCFunction_NewEx=Module["_PyCFunction_NewEx"]=wasmExports["PyCFunction_NewEx"];var _PyCFunction_GetFunction=Module["_PyCFunction_GetFunction"]=wasmExports["PyCFunction_GetFunction"];var _PyCFunction_GetSelf=Module["_PyCFunction_GetSelf"]=wasmExports["PyCFunction_GetSelf"];var _PyCFunction_GetFlags=Module["_PyCFunction_GetFlags"]=wasmExports["PyCFunction_GetFlags"];var _PyModuleDef_Init=Module["_PyModuleDef_Init"]=wasmExports["PyModuleDef_Init"];var _PyModule_NewObject=Module["_PyModule_NewObject"]=wasmExports["PyModule_NewObject"];var _PyModule_New=Module["_PyModule_New"]=wasmExports["PyModule_New"];var _PyModule_SetDocString=Module["_PyModule_SetDocString"]=wasmExports["PyModule_SetDocString"];var _PyModule_FromDefAndSpec2=Module["_PyModule_FromDefAndSpec2"]=wasmExports["PyModule_FromDefAndSpec2"];var _PyModule_ExecDef=Module["_PyModule_ExecDef"]=wasmExports["PyModule_ExecDef"];var _PyModule_GetName=Module["_PyModule_GetName"]=wasmExports["PyModule_GetName"];var _PyModule_GetFilenameObject=Module["_PyModule_GetFilenameObject"]=wasmExports["PyModule_GetFilenameObject"];var _PyModule_GetFilename=Module["_PyModule_GetFilename"]=wasmExports["PyModule_GetFilename"];var _PyModule_GetDef=Module["_PyModule_GetDef"]=wasmExports["PyModule_GetDef"];var _PyModule_GetState=Module["_PyModule_GetState"]=wasmExports["PyModule_GetState"];var _PyUnicode_AsWideChar=Module["_PyUnicode_AsWideChar"]=wasmExports["PyUnicode_AsWideChar"];var _wcsrchr=Module["_wcsrchr"]=wasmExports["wcsrchr"];var _wcscmp=Module["_wcscmp"]=wasmExports["wcscmp"];var _PySys_FormatStderr=Module["_PySys_FormatStderr"]=wasmExports["PySys_FormatStderr"];var _PyUnicode_Join=Module["_PyUnicode_Join"]=wasmExports["PyUnicode_Join"];var __PyNamespace_New=Module["__PyNamespace_New"]=wasmExports["_PyNamespace_New"];var __PyArg_NoPositional=Module["__PyArg_NoPositional"]=wasmExports["_PyArg_NoPositional"];var __PyUnicode_CheckConsistency=Module["__PyUnicode_CheckConsistency"]=wasmExports["_PyUnicode_CheckConsistency"];var __PyObject_IsFreed=Module["__PyObject_IsFreed"]=wasmExports["_PyObject_IsFreed"];var _fwrite=Module["_fwrite"]=wasmExports["fwrite"];var _fputc=Module["_fputc"]=wasmExports["fputc"];var __PyObject_Dump=Module["__PyObject_Dump"]=wasmExports["_PyObject_Dump"];var _Py_IncRef=Module["_Py_IncRef"]=wasmExports["Py_IncRef"];var _Py_DecRef=Module["_Py_DecRef"]=wasmExports["Py_DecRef"];var __Py_IncRef=Module["__Py_IncRef"]=wasmExports["_Py_IncRef"];var __Py_DecRef=Module["__Py_DecRef"]=wasmExports["_Py_DecRef"];var _PyObject_Init=Module["_PyObject_Init"]=wasmExports["PyObject_Init"];var _PyObject_InitVar=Module["_PyObject_InitVar"]=wasmExports["PyObject_InitVar"];var _PyObject_CallFinalizer=Module["_PyObject_CallFinalizer"]=wasmExports["PyObject_CallFinalizer"];var __Py_ResurrectReference=Module["__Py_ResurrectReference"]=wasmExports["_Py_ResurrectReference"];var _PyObject_Print=Module["_PyObject_Print"]=wasmExports["PyObject_Print"];var _ferror=Module["_ferror"]=wasmExports["ferror"];var __Py_BreakPoint=Module["__Py_BreakPoint"]=wasmExports["_Py_BreakPoint"];var _PyGILState_Ensure=Module["_PyGILState_Ensure"]=wasmExports["PyGILState_Ensure"];var _PyGILState_Release=Module["_PyGILState_Release"]=wasmExports["PyGILState_Release"];var _PyUnicode_DecodeASCII=Module["_PyUnicode_DecodeASCII"]=wasmExports["PyUnicode_DecodeASCII"];var _PyObject_HasAttrStringWithError=Module["_PyObject_HasAttrStringWithError"]=wasmExports["PyObject_HasAttrStringWithError"];var _PyObject_GetOptionalAttrString=Module["_PyObject_GetOptionalAttrString"]=wasmExports["PyObject_GetOptionalAttrString"];var _PyObject_HasAttrString=Module["_PyObject_HasAttrString"]=wasmExports["PyObject_HasAttrString"];var _PyObject_DelAttrString=Module["_PyObject_DelAttrString"]=wasmExports["PyObject_DelAttrString"];var __PyObject_GetDictPtr=Module["__PyObject_GetDictPtr"]=wasmExports["_PyObject_GetDictPtr"];var __PyObject_GenericSetAttrWithDict=Module["__PyObject_GenericSetAttrWithDict"]=wasmExports["_PyObject_GenericSetAttrWithDict"];var _PyObject_Not=Module["_PyObject_Not"]=wasmExports["PyObject_Not"];var _PyThreadState_GetDict=Module["_PyThreadState_GetDict"]=wasmExports["PyThreadState_GetDict"];var _PyObject_GET_WEAKREFS_LISTPTR=Module["_PyObject_GET_WEAKREFS_LISTPTR"]=wasmExports["PyObject_GET_WEAKREFS_LISTPTR"];var _Py_NewRef=Module["_Py_NewRef"]=wasmExports["Py_NewRef"];var _Py_XNewRef=Module["_Py_XNewRef"]=wasmExports["Py_XNewRef"];var _Py_Is=Module["_Py_Is"]=wasmExports["Py_Is"];var _Py_IsNone=Module["_Py_IsNone"]=wasmExports["Py_IsNone"];var _Py_IsTrue=Module["_Py_IsTrue"]=wasmExports["Py_IsTrue"];var _Py_IsFalse=Module["_Py_IsFalse"]=wasmExports["Py_IsFalse"];var __Py_SetRefcnt=Module["__Py_SetRefcnt"]=wasmExports["_Py_SetRefcnt"];var _PyRefTracer_SetTracer=Module["_PyRefTracer_SetTracer"]=wasmExports["PyRefTracer_SetTracer"];var _PyRefTracer_GetTracer=Module["_PyRefTracer_GetTracer"]=wasmExports["PyRefTracer_GetTracer"];var _Py_GetConstant=Module["_Py_GetConstant"]=wasmExports["Py_GetConstant"];var _Py_GetConstantBorrowed=Module["_Py_GetConstantBorrowed"]=wasmExports["Py_GetConstantBorrowed"];var _sleep=Module["_sleep"]=wasmExports["sleep"];var _abort=Module["_abort"]=wasmExports["abort"];var _getenv=Module["_getenv"]=wasmExports["getenv"];var _sbrk=Module["_sbrk"]=wasmExports["sbrk"];var _clock_gettime=Module["_clock_gettime"]=wasmExports["clock_gettime"];var _vsnprintf=Module["_vsnprintf"]=wasmExports["vsnprintf"];var _atexit=Module["_atexit"]=wasmExports["atexit"];var _strstr=Module["_strstr"]=wasmExports["strstr"];var _snprintf=Module["_snprintf"]=wasmExports["snprintf"];var _calloc=wasmExports["calloc"];var _realloc=wasmExports["realloc"];var __PyMem_GetCurrentAllocatorName=Module["__PyMem_GetCurrentAllocatorName"]=wasmExports["_PyMem_GetCurrentAllocatorName"];var _PyMem_SetupDebugHooks=Module["_PyMem_SetupDebugHooks"]=wasmExports["PyMem_SetupDebugHooks"];var _PyMem_GetAllocator=Module["_PyMem_GetAllocator"]=wasmExports["PyMem_GetAllocator"];var _PyMem_SetAllocator=Module["_PyMem_SetAllocator"]=wasmExports["PyMem_SetAllocator"];var _PyObject_GetArenaAllocator=Module["_PyObject_GetArenaAllocator"]=wasmExports["PyObject_GetArenaAllocator"];var _PyObject_SetArenaAllocator=Module["_PyObject_SetArenaAllocator"]=wasmExports["PyObject_SetArenaAllocator"];var _PyMem_RawMalloc=Module["_PyMem_RawMalloc"]=wasmExports["PyMem_RawMalloc"];var _PyMem_RawCalloc=Module["_PyMem_RawCalloc"]=wasmExports["PyMem_RawCalloc"];var _wcslen=Module["_wcslen"]=wasmExports["wcslen"];var __PyMem_Strdup=Module["__PyMem_Strdup"]=wasmExports["_PyMem_Strdup"];var _PyPickleBuffer_FromObject=Module["_PyPickleBuffer_FromObject"]=wasmExports["PyPickleBuffer_FromObject"];var _PyPickleBuffer_GetBuffer=Module["_PyPickleBuffer_GetBuffer"]=wasmExports["PyPickleBuffer_GetBuffer"];var _PyPickleBuffer_Release=Module["_PyPickleBuffer_Release"]=wasmExports["PyPickleBuffer_Release"];var __PySlice_GetLongIndices=Module["__PySlice_GetLongIndices"]=wasmExports["_PySlice_GetLongIndices"];var __PySet_Contains=Module["__PySet_Contains"]=wasmExports["_PySet_Contains"];var _PySet_Size=Module["_PySet_Size"]=wasmExports["PySet_Size"];var _PySet_Clear=Module["_PySet_Clear"]=wasmExports["PySet_Clear"];var _PySet_Pop=Module["_PySet_Pop"]=wasmExports["PySet_Pop"];var _PySlice_New=Module["_PySlice_New"]=wasmExports["PySlice_New"];var _PySlice_GetIndices=Module["_PySlice_GetIndices"]=wasmExports["PySlice_GetIndices"];var _PySlice_GetIndicesEx=Module["_PySlice_GetIndicesEx"]=wasmExports["PySlice_GetIndicesEx"];var _PyStructSequence_GetItem=Module["_PyStructSequence_GetItem"]=wasmExports["PyStructSequence_GetItem"];var _PyStructSequence_InitType2=Module["_PyStructSequence_InitType2"]=wasmExports["PyStructSequence_InitType2"];var _PyStructSequence_InitType=Module["_PyStructSequence_InitType"]=wasmExports["PyStructSequence_InitType"];var __PyStructSequence_NewType=Module["__PyStructSequence_NewType"]=wasmExports["_PyStructSequence_NewType"];var _PyStructSequence_NewType=Module["_PyStructSequence_NewType"]=wasmExports["PyStructSequence_NewType"];var _PyTuple_SetItem=Module["_PyTuple_SetItem"]=wasmExports["PyTuple_SetItem"];var __PyTuple_FromArraySteal=Module["__PyTuple_FromArraySteal"]=wasmExports["_PyTuple_FromArraySteal"];var __PyObject_GC_Resize=Module["__PyObject_GC_Resize"]=wasmExports["_PyObject_GC_Resize"];var _PyType_GetDict=Module["_PyType_GetDict"]=wasmExports["PyType_GetDict"];var _strrchr=Module["_strrchr"]=wasmExports["strrchr"];var _PyType_ClearCache=Module["_PyType_ClearCache"]=wasmExports["PyType_ClearCache"];var _PyType_AddWatcher=Module["_PyType_AddWatcher"]=wasmExports["PyType_AddWatcher"];var _PyType_ClearWatcher=Module["_PyType_ClearWatcher"]=wasmExports["PyType_ClearWatcher"];var _PyType_Watch=Module["_PyType_Watch"]=wasmExports["PyType_Watch"];var _PyType_Unwatch=Module["_PyType_Unwatch"]=wasmExports["PyType_Unwatch"];var _PyType_Modified=Module["_PyType_Modified"]=wasmExports["PyType_Modified"];var _PyUnstable_Type_AssignVersionTag=Module["_PyUnstable_Type_AssignVersionTag"]=wasmExports["PyUnstable_Type_AssignVersionTag"];var _PyType_GetFullyQualifiedName=Module["_PyType_GetFullyQualifiedName"]=wasmExports["PyType_GetFullyQualifiedName"];var _PyType_GetFlags=Module["_PyType_GetFlags"]=wasmExports["PyType_GetFlags"];var _PyType_SUPPORTS_WEAKREFS=Module["_PyType_SUPPORTS_WEAKREFS"]=wasmExports["PyType_SUPPORTS_WEAKREFS"];var _PyType_FromMetaclass=Module["_PyType_FromMetaclass"]=wasmExports["PyType_FromMetaclass"];var _PyType_FromModuleAndSpec=Module["_PyType_FromModuleAndSpec"]=wasmExports["PyType_FromModuleAndSpec"];var _PyType_FromSpec=Module["_PyType_FromSpec"]=wasmExports["PyType_FromSpec"];var _PyType_GetName=Module["_PyType_GetName"]=wasmExports["PyType_GetName"];var _PyType_GetModuleName=Module["_PyType_GetModuleName"]=wasmExports["PyType_GetModuleName"];var _PyType_GetSlot=Module["_PyType_GetSlot"]=wasmExports["PyType_GetSlot"];var _PyType_GetModule=Module["_PyType_GetModule"]=wasmExports["PyType_GetModule"];var _PyType_GetModuleState=Module["_PyType_GetModuleState"]=wasmExports["PyType_GetModuleState"];var _PyType_GetModuleByDef=Module["_PyType_GetModuleByDef"]=wasmExports["PyType_GetModuleByDef"];var __PyType_GetModuleByDef2=Module["__PyType_GetModuleByDef2"]=wasmExports["_PyType_GetModuleByDef2"];var _PyObject_GetTypeData=Module["_PyObject_GetTypeData"]=wasmExports["PyObject_GetTypeData"];var _PyType_GetTypeDataSize=Module["_PyType_GetTypeDataSize"]=wasmExports["PyType_GetTypeDataSize"];var _PyObject_GetItemData=Module["_PyObject_GetItemData"]=wasmExports["PyObject_GetItemData"];var __PyType_Lookup=Module["__PyType_Lookup"]=wasmExports["_PyType_Lookup"];var _PyUnicode_IsIdentifier=Module["_PyUnicode_IsIdentifier"]=wasmExports["PyUnicode_IsIdentifier"];var _PyEval_GetGlobals=Module["_PyEval_GetGlobals"]=wasmExports["PyEval_GetGlobals"];var __PyStaticType_InitForExtension=Module["__PyStaticType_InitForExtension"]=wasmExports["_PyStaticType_InitForExtension"];var __PySuper_Lookup=Module["__PySuper_Lookup"]=wasmExports["_PySuper_Lookup"];var _PyWeakref_NewRef=Module["_PyWeakref_NewRef"]=wasmExports["PyWeakref_NewRef"];var _PyImport_GetModule=Module["_PyImport_GetModule"]=wasmExports["PyImport_GetModule"];var _PyImport_Import=Module["_PyImport_Import"]=wasmExports["PyImport_Import"];var __PyArg_UnpackKeywordsWithVararg=Module["__PyArg_UnpackKeywordsWithVararg"]=wasmExports["_PyArg_UnpackKeywordsWithVararg"];var __Py_hashtable_len=Module["__Py_hashtable_len"]=wasmExports["_Py_hashtable_len"];var __Py_GetErrorHandler=Module["__Py_GetErrorHandler"]=wasmExports["_Py_GetErrorHandler"];var _PyUnicode_CopyCharacters=Module["_PyUnicode_CopyCharacters"]=wasmExports["PyUnicode_CopyCharacters"];var _PyUnicode_Resize=Module["_PyUnicode_Resize"]=wasmExports["PyUnicode_Resize"];var _PyUnicode_FromWideChar=Module["_PyUnicode_FromWideChar"]=wasmExports["PyUnicode_FromWideChar"];var _PyUnicode_FromKindAndData=Module["_PyUnicode_FromKindAndData"]=wasmExports["PyUnicode_FromKindAndData"];var _PyUnicode_AsUCS4=Module["_PyUnicode_AsUCS4"]=wasmExports["PyUnicode_AsUCS4"];var _PyUnicode_AsUCS4Copy=Module["_PyUnicode_AsUCS4Copy"]=wasmExports["PyUnicode_AsUCS4Copy"];var _PyUnicode_Fill=Module["_PyUnicode_Fill"]=wasmExports["PyUnicode_Fill"];var _PyUnicode_AsWideCharString=Module["_PyUnicode_AsWideCharString"]=wasmExports["PyUnicode_AsWideCharString"];var _PyUnicode_FromOrdinal=Module["_PyUnicode_FromOrdinal"]=wasmExports["PyUnicode_FromOrdinal"];var _PyUnicode_FromObject=Module["_PyUnicode_FromObject"]=wasmExports["PyUnicode_FromObject"];var _PyCodec_LookupError=Module["_PyCodec_LookupError"]=wasmExports["PyCodec_LookupError"];var _PyUnicode_DecodeUTF16Stateful=Module["_PyUnicode_DecodeUTF16Stateful"]=wasmExports["PyUnicode_DecodeUTF16Stateful"];var _PyUnicode_DecodeUTF32Stateful=Module["_PyUnicode_DecodeUTF32Stateful"]=wasmExports["PyUnicode_DecodeUTF32Stateful"];var _PyUnicode_DecodeUTF16=Module["_PyUnicode_DecodeUTF16"]=wasmExports["PyUnicode_DecodeUTF16"];var _PyUnicode_DecodeUTF32=Module["_PyUnicode_DecodeUTF32"]=wasmExports["PyUnicode_DecodeUTF32"];var _PyUnicode_AsDecodedObject=Module["_PyUnicode_AsDecodedObject"]=wasmExports["PyUnicode_AsDecodedObject"];var _PyCodec_Decode=Module["_PyCodec_Decode"]=wasmExports["PyCodec_Decode"];var _PyUnicode_AsDecodedUnicode=Module["_PyUnicode_AsDecodedUnicode"]=wasmExports["PyUnicode_AsDecodedUnicode"];var _PyUnicode_AsEncodedObject=Module["_PyUnicode_AsEncodedObject"]=wasmExports["PyUnicode_AsEncodedObject"];var _PyCodec_Encode=Module["_PyCodec_Encode"]=wasmExports["PyCodec_Encode"];var _PyUnicode_EncodeLocale=Module["_PyUnicode_EncodeLocale"]=wasmExports["PyUnicode_EncodeLocale"];var __Py_EncodeLocaleEx=Module["__Py_EncodeLocaleEx"]=wasmExports["_Py_EncodeLocaleEx"];var _PyCodec_StrictErrors=Module["_PyCodec_StrictErrors"]=wasmExports["PyCodec_StrictErrors"];var _PyUnicode_EncodeFSDefault=Module["_PyUnicode_EncodeFSDefault"]=wasmExports["PyUnicode_EncodeFSDefault"];var __PyUnicode_EncodeUTF16=Module["__PyUnicode_EncodeUTF16"]=wasmExports["_PyUnicode_EncodeUTF16"];var __PyUnicode_EncodeUTF32=Module["__PyUnicode_EncodeUTF32"]=wasmExports["_PyUnicode_EncodeUTF32"];var _PyUnicode_AsEncodedUnicode=Module["_PyUnicode_AsEncodedUnicode"]=wasmExports["PyUnicode_AsEncodedUnicode"];var _PyUnicode_DecodeLocaleAndSize=Module["_PyUnicode_DecodeLocaleAndSize"]=wasmExports["PyUnicode_DecodeLocaleAndSize"];var __Py_DecodeLocaleEx=Module["__Py_DecodeLocaleEx"]=wasmExports["_Py_DecodeLocaleEx"];var _PyUnicode_DecodeLocale=Module["_PyUnicode_DecodeLocale"]=wasmExports["PyUnicode_DecodeLocale"];var _PyUnicode_DecodeFSDefaultAndSize=Module["_PyUnicode_DecodeFSDefaultAndSize"]=wasmExports["PyUnicode_DecodeFSDefaultAndSize"];var _PyUnicode_FSConverter=Module["_PyUnicode_FSConverter"]=wasmExports["PyUnicode_FSConverter"];var _PyOS_FSPath=Module["_PyOS_FSPath"]=wasmExports["PyOS_FSPath"];var _PyUnicode_FSDecoder=Module["_PyUnicode_FSDecoder"]=wasmExports["PyUnicode_FSDecoder"];var _wmemchr=Module["_wmemchr"]=wasmExports["wmemchr"];var __PyUnicode_AsUTF8NoNUL=Module["__PyUnicode_AsUTF8NoNUL"]=wasmExports["_PyUnicode_AsUTF8NoNUL"];var _PyUnicode_GetSize=Module["_PyUnicode_GetSize"]=wasmExports["PyUnicode_GetSize"];var _PyUnicode_GetLength=Module["_PyUnicode_GetLength"]=wasmExports["PyUnicode_GetLength"];var _PyUnicode_WriteChar=Module["_PyUnicode_WriteChar"]=wasmExports["PyUnicode_WriteChar"];var _PyUnicode_DecodeUTF7=Module["_PyUnicode_DecodeUTF7"]=wasmExports["PyUnicode_DecodeUTF7"];var _PyUnicode_DecodeUTF7Stateful=Module["_PyUnicode_DecodeUTF7Stateful"]=wasmExports["PyUnicode_DecodeUTF7Stateful"];var _PyUnicode_AsUTF32String=Module["_PyUnicode_AsUTF32String"]=wasmExports["PyUnicode_AsUTF32String"];var _PyUnicode_AsUTF16String=Module["_PyUnicode_AsUTF16String"]=wasmExports["PyUnicode_AsUTF16String"];var _PyUnicode_DecodeUnicodeEscape=Module["_PyUnicode_DecodeUnicodeEscape"]=wasmExports["PyUnicode_DecodeUnicodeEscape"];var _PyUnicode_AsUnicodeEscapeString=Module["_PyUnicode_AsUnicodeEscapeString"]=wasmExports["PyUnicode_AsUnicodeEscapeString"];var _PyUnicode_DecodeRawUnicodeEscape=Module["_PyUnicode_DecodeRawUnicodeEscape"]=wasmExports["PyUnicode_DecodeRawUnicodeEscape"];var _PyUnicode_AsRawUnicodeEscapeString=Module["_PyUnicode_AsRawUnicodeEscapeString"]=wasmExports["PyUnicode_AsRawUnicodeEscapeString"];var _PyUnicode_AsLatin1String=Module["_PyUnicode_AsLatin1String"]=wasmExports["PyUnicode_AsLatin1String"];var __PyUnicodeWriter_PrepareKindInternal=Module["__PyUnicodeWriter_PrepareKindInternal"]=wasmExports["_PyUnicodeWriter_PrepareKindInternal"];var _PyUnicode_DecodeCharmap=Module["_PyUnicode_DecodeCharmap"]=wasmExports["PyUnicode_DecodeCharmap"];var _PyUnicode_BuildEncodingMap=Module["_PyUnicode_BuildEncodingMap"]=wasmExports["PyUnicode_BuildEncodingMap"];var _PyUnicode_AsCharmapString=Module["_PyUnicode_AsCharmapString"]=wasmExports["PyUnicode_AsCharmapString"];var _PyUnicode_Translate=Module["_PyUnicode_Translate"]=wasmExports["PyUnicode_Translate"];var __PyUnicode_IsWhitespace=Module["__PyUnicode_IsWhitespace"]=wasmExports["_PyUnicode_IsWhitespace"];var __PyUnicode_ToDecimalDigit=Module["__PyUnicode_ToDecimalDigit"]=wasmExports["_PyUnicode_ToDecimalDigit"];var _PyUnicode_Count=Module["_PyUnicode_Count"]=wasmExports["PyUnicode_Count"];var _PyUnicode_Find=Module["_PyUnicode_Find"]=wasmExports["PyUnicode_Find"];var _PyUnicode_FindChar=Module["_PyUnicode_FindChar"]=wasmExports["PyUnicode_FindChar"];var _PyUnicode_Tailmatch=Module["_PyUnicode_Tailmatch"]=wasmExports["PyUnicode_Tailmatch"];var __PyUnicode_JoinArray=Module["__PyUnicode_JoinArray"]=wasmExports["_PyUnicode_JoinArray"];var _PyUnicode_Splitlines=Module["_PyUnicode_Splitlines"]=wasmExports["PyUnicode_Splitlines"];var __PyUnicode_IsLinebreak=Module["__PyUnicode_IsLinebreak"]=wasmExports["_PyUnicode_IsLinebreak"];var _wmemcmp=Module["_wmemcmp"]=wasmExports["wmemcmp"];var _PyUnicode_EqualToUTF8=Module["_PyUnicode_EqualToUTF8"]=wasmExports["PyUnicode_EqualToUTF8"];var _PyUnicode_EqualToUTF8AndSize=Module["_PyUnicode_EqualToUTF8AndSize"]=wasmExports["PyUnicode_EqualToUTF8AndSize"];var _PyUnicode_RichCompare=Module["_PyUnicode_RichCompare"]=wasmExports["PyUnicode_RichCompare"];var _PyUnicode_Contains=Module["_PyUnicode_Contains"]=wasmExports["PyUnicode_Contains"];var _PyUnicode_Concat=Module["_PyUnicode_Concat"]=wasmExports["PyUnicode_Concat"];var _PyUnicode_Append=Module["_PyUnicode_Append"]=wasmExports["PyUnicode_Append"];var _PyUnicode_AppendAndDel=Module["_PyUnicode_AppendAndDel"]=wasmExports["PyUnicode_AppendAndDel"];var _PyUnicode_Replace=Module["_PyUnicode_Replace"]=wasmExports["PyUnicode_Replace"];var _PyUnicode_Split=Module["_PyUnicode_Split"]=wasmExports["PyUnicode_Split"];var _PyUnicode_Partition=Module["_PyUnicode_Partition"]=wasmExports["PyUnicode_Partition"];var _PyUnicode_RPartition=Module["_PyUnicode_RPartition"]=wasmExports["PyUnicode_RPartition"];var _PyUnicode_RSplit=Module["_PyUnicode_RSplit"]=wasmExports["PyUnicode_RSplit"];var __PyUnicodeWriter_WriteSubstring=Module["__PyUnicodeWriter_WriteSubstring"]=wasmExports["_PyUnicodeWriter_WriteSubstring"];var __PyUnicodeWriter_WriteLatin1String=Module["__PyUnicodeWriter_WriteLatin1String"]=wasmExports["_PyUnicodeWriter_WriteLatin1String"];var _PyUnicode_Format=Module["_PyUnicode_Format"]=wasmExports["PyUnicode_Format"];var __PyUnicode_ExactDealloc=Module["__PyUnicode_ExactDealloc"]=wasmExports["_PyUnicode_ExactDealloc"];var __Py_hashtable_new_full=Module["__Py_hashtable_new_full"]=wasmExports["_Py_hashtable_new_full"];var __Py_hashtable_get=Module["__Py_hashtable_get"]=wasmExports["_Py_hashtable_get"];var __Py_hashtable_set=Module["__Py_hashtable_set"]=wasmExports["_Py_hashtable_set"];var __PyUnicode_InternInPlace=Module["__PyUnicode_InternInPlace"]=wasmExports["_PyUnicode_InternInPlace"];var _PyUnicode_InternInPlace=Module["_PyUnicode_InternInPlace"]=wasmExports["PyUnicode_InternInPlace"];var _PyUnicode_InternImmortal=Module["_PyUnicode_InternImmortal"]=wasmExports["PyUnicode_InternImmortal"];var __Py_hashtable_destroy=Module["__Py_hashtable_destroy"]=wasmExports["_Py_hashtable_destroy"];var _PyInit__string=Module["_PyInit__string"]=wasmExports["PyInit__string"];var __PyUnicode_IsLowercase=Module["__PyUnicode_IsLowercase"]=wasmExports["_PyUnicode_IsLowercase"];var __PyUnicode_IsUppercase=Module["__PyUnicode_IsUppercase"]=wasmExports["_PyUnicode_IsUppercase"];var __PyUnicode_IsTitlecase=Module["__PyUnicode_IsTitlecase"]=wasmExports["_PyUnicode_IsTitlecase"];var __PyUnicode_IsDecimalDigit=Module["__PyUnicode_IsDecimalDigit"]=wasmExports["_PyUnicode_IsDecimalDigit"];var __PyUnicode_IsDigit=Module["__PyUnicode_IsDigit"]=wasmExports["_PyUnicode_IsDigit"];var __PyUnicode_IsNumeric=Module["__PyUnicode_IsNumeric"]=wasmExports["_PyUnicode_IsNumeric"];var __PyUnicode_IsAlpha=Module["__PyUnicode_IsAlpha"]=wasmExports["_PyUnicode_IsAlpha"];var __PyUnicode_ToNumeric=Module["__PyUnicode_ToNumeric"]=wasmExports["_PyUnicode_ToNumeric"];var __PyUnicode_ToTitlecase=Module["__PyUnicode_ToTitlecase"]=wasmExports["_PyUnicode_ToTitlecase"];var __PyUnicode_ToDigit=Module["__PyUnicode_ToDigit"]=wasmExports["_PyUnicode_ToDigit"];var __PyUnicode_ToUppercase=Module["__PyUnicode_ToUppercase"]=wasmExports["_PyUnicode_ToUppercase"];var __PyUnicode_ToLowercase=Module["__PyUnicode_ToLowercase"]=wasmExports["_PyUnicode_ToLowercase"];var __PyWeakref_ClearRef=Module["__PyWeakref_ClearRef"]=wasmExports["_PyWeakref_ClearRef"];var _PyWeakref_NewProxy=Module["_PyWeakref_NewProxy"]=wasmExports["PyWeakref_NewProxy"];var _PyWeakref_GetRef=Module["_PyWeakref_GetRef"]=wasmExports["PyWeakref_GetRef"];var _PyWeakref_GetObject=Module["_PyWeakref_GetObject"]=wasmExports["PyWeakref_GetObject"];var _PyUnstable_Object_ClearWeakRefsNoCallbacks=Module["_PyUnstable_Object_ClearWeakRefsNoCallbacks"]=wasmExports["PyUnstable_Object_ClearWeakRefsNoCallbacks"];var __PyWeakref_IsDead=Module["__PyWeakref_IsDead"]=wasmExports["_PyWeakref_IsDead"];var _PyErr_ResourceWarning=Module["_PyErr_ResourceWarning"]=wasmExports["PyErr_ResourceWarning"];var _PyErr_WarnExplicit=Module["_PyErr_WarnExplicit"]=wasmExports["PyErr_WarnExplicit"];var _PyErr_WarnExplicitFormat=Module["_PyErr_WarnExplicitFormat"]=wasmExports["PyErr_WarnExplicitFormat"];var __Py_IsInterpreterFinalizing=Module["__Py_IsInterpreterFinalizing"]=wasmExports["_Py_IsInterpreterFinalizing"];var __PyWarnings_Init=Module["__PyWarnings_Init"]=wasmExports["_PyWarnings_Init"];var _PyThreadState_GetFrame=Module["_PyThreadState_GetFrame"]=wasmExports["PyThreadState_GetFrame"];var __PySys_GetAttr=Module["__PySys_GetAttr"]=wasmExports["_PySys_GetAttr"];var __Py_DisplaySourceLine=Module["__Py_DisplaySourceLine"]=wasmExports["_Py_DisplaySourceLine"];var _PyModule_AddObjectRef=Module["_PyModule_AddObjectRef"]=wasmExports["PyModule_AddObjectRef"];var _PyInit__ast=Module["_PyInit__ast"]=wasmExports["PyInit__ast"];var __PyOnceFlag_CallOnceSlow=Module["__PyOnceFlag_CallOnceSlow"]=wasmExports["_PyOnceFlag_CallOnceSlow"];var _PyModule_AddIntConstant=Module["_PyModule_AddIntConstant"]=wasmExports["PyModule_AddIntConstant"];var _PyInit__tokenize=Module["_PyInit__tokenize"]=wasmExports["PyInit__tokenize"];var _PyModule_AddType=Module["_PyModule_AddType"]=wasmExports["PyModule_AddType"];var _PyErr_SyntaxLocationObject=Module["_PyErr_SyntaxLocationObject"]=wasmExports["PyErr_SyntaxLocationObject"];var _PyImport_ImportModuleLevelObject=Module["_PyImport_ImportModuleLevelObject"]=wasmExports["PyImport_ImportModuleLevelObject"];var _PyEval_MergeCompilerFlags=Module["_PyEval_MergeCompilerFlags"]=wasmExports["PyEval_MergeCompilerFlags"];var __PyArena_New=Module["__PyArena_New"]=wasmExports["_PyArena_New"];var __PyArena_Free=Module["__PyArena_Free"]=wasmExports["_PyArena_Free"];var __PyAST_Compile=Module["__PyAST_Compile"]=wasmExports["_PyAST_Compile"];var _Py_CompileStringObject=Module["_Py_CompileStringObject"]=wasmExports["Py_CompileStringObject"];var _PyEval_GetBuiltins=Module["_PyEval_GetBuiltins"]=wasmExports["PyEval_GetBuiltins"];var _PyEval_EvalCode=Module["_PyEval_EvalCode"]=wasmExports["PyEval_EvalCode"];var _PyRun_StringFlags=Module["_PyRun_StringFlags"]=wasmExports["PyRun_StringFlags"];var _PyEval_EvalCodeEx=Module["_PyEval_EvalCodeEx"]=wasmExports["PyEval_EvalCodeEx"];var _Py_GetRecursionLimit=Module["_Py_GetRecursionLimit"]=wasmExports["Py_GetRecursionLimit"];var _Py_SetRecursionLimit=Module["_Py_SetRecursionLimit"]=wasmExports["Py_SetRecursionLimit"];var __PyEval_MatchKeys=Module["__PyEval_MatchKeys"]=wasmExports["_PyEval_MatchKeys"];var __PyEval_MatchClass=Module["__PyEval_MatchClass"]=wasmExports["_PyEval_MatchClass"];var __PyEvalFramePushAndInit=Module["__PyEvalFramePushAndInit"]=wasmExports["_PyEvalFramePushAndInit"];var _PyEval_EvalFrame=Module["_PyEval_EvalFrame"]=wasmExports["PyEval_EvalFrame"];var _PyEval_EvalFrameEx=Module["_PyEval_EvalFrameEx"]=wasmExports["PyEval_EvalFrameEx"];var __PyEval_FrameClearAndPop=Module["__PyEval_FrameClearAndPop"]=wasmExports["_PyEval_FrameClearAndPop"];var _PyTraceBack_Here=Module["_PyTraceBack_Here"]=wasmExports["PyTraceBack_Here"];var __Py_HandlePending=Module["__Py_HandlePending"]=wasmExports["_Py_HandlePending"];var __PyEval_CheckExceptStarTypeValid=Module["__PyEval_CheckExceptStarTypeValid"]=wasmExports["_PyEval_CheckExceptStarTypeValid"];var __PyEval_ExceptionGroupMatch=Module["__PyEval_ExceptionGroupMatch"]=wasmExports["_PyEval_ExceptionGroupMatch"];var _PyErr_SetHandledException=Module["_PyErr_SetHandledException"]=wasmExports["PyErr_SetHandledException"];var __PyEval_FormatExcCheckArg=Module["__PyEval_FormatExcCheckArg"]=wasmExports["_PyEval_FormatExcCheckArg"];var __PyEval_FormatKwargsError=Module["__PyEval_FormatKwargsError"]=wasmExports["_PyEval_FormatKwargsError"];var __PyEval_FormatExcUnbound=Module["__PyEval_FormatExcUnbound"]=wasmExports["_PyEval_FormatExcUnbound"];var __PyThreadState_PopFrame=Module["__PyThreadState_PopFrame"]=wasmExports["_PyThreadState_PopFrame"];var __PyEval_UnpackIterable=Module["__PyEval_UnpackIterable"]=wasmExports["_PyEval_UnpackIterable"];var __PyEval_CheckExceptTypeValid=Module["__PyEval_CheckExceptTypeValid"]=wasmExports["_PyEval_CheckExceptTypeValid"];var __PyEval_MonitorRaise=Module["__PyEval_MonitorRaise"]=wasmExports["_PyEval_MonitorRaise"];var __PyEval_FormatAwaitableError=Module["__PyEval_FormatAwaitableError"]=wasmExports["_PyEval_FormatAwaitableError"];var _PyThreadState_EnterTracing=Module["_PyThreadState_EnterTracing"]=wasmExports["PyThreadState_EnterTracing"];var _PyThreadState_LeaveTracing=Module["_PyThreadState_LeaveTracing"]=wasmExports["PyThreadState_LeaveTracing"];var _PyEval_SetProfile=Module["_PyEval_SetProfile"]=wasmExports["PyEval_SetProfile"];var __PyEval_SetProfile=Module["__PyEval_SetProfile"]=wasmExports["_PyEval_SetProfile"];var _PyEval_SetProfileAllThreads=Module["_PyEval_SetProfileAllThreads"]=wasmExports["PyEval_SetProfileAllThreads"];var _PyInterpreterState_ThreadHead=Module["_PyInterpreterState_ThreadHead"]=wasmExports["PyInterpreterState_ThreadHead"];var _PyThreadState_Next=Module["_PyThreadState_Next"]=wasmExports["PyThreadState_Next"];var _PyEval_SetTrace=Module["_PyEval_SetTrace"]=wasmExports["PyEval_SetTrace"];var _PyEval_SetTraceAllThreads=Module["_PyEval_SetTraceAllThreads"]=wasmExports["PyEval_SetTraceAllThreads"];var _PyEval_GetFrame=Module["_PyEval_GetFrame"]=wasmExports["PyEval_GetFrame"];var _PyEval_GetLocals=Module["_PyEval_GetLocals"]=wasmExports["PyEval_GetLocals"];var _PyEval_GetFrameLocals=Module["_PyEval_GetFrameLocals"]=wasmExports["PyEval_GetFrameLocals"];var _PyEval_GetFrameGlobals=Module["_PyEval_GetFrameGlobals"]=wasmExports["PyEval_GetFrameGlobals"];var _PyEval_GetFrameBuiltins=Module["_PyEval_GetFrameBuiltins"]=wasmExports["PyEval_GetFrameBuiltins"];var _PyEval_GetFuncName=Module["_PyEval_GetFuncName"]=wasmExports["PyEval_GetFuncName"];var _PyEval_GetFuncDesc=Module["_PyEval_GetFuncDesc"]=wasmExports["PyEval_GetFuncDesc"];var _PyUnstable_Eval_RequestCodeExtraIndex=Module["_PyUnstable_Eval_RequestCodeExtraIndex"]=wasmExports["PyUnstable_Eval_RequestCodeExtraIndex"];var _PyCodec_Register=Module["_PyCodec_Register"]=wasmExports["PyCodec_Register"];var _PyCodec_Unregister=Module["_PyCodec_Unregister"]=wasmExports["PyCodec_Unregister"];var _PyCodec_KnownEncoding=Module["_PyCodec_KnownEncoding"]=wasmExports["PyCodec_KnownEncoding"];var _PyCodec_Encoder=Module["_PyCodec_Encoder"]=wasmExports["PyCodec_Encoder"];var _PyCodec_Decoder=Module["_PyCodec_Decoder"]=wasmExports["PyCodec_Decoder"];var _PyCodec_IncrementalEncoder=Module["_PyCodec_IncrementalEncoder"]=wasmExports["PyCodec_IncrementalEncoder"];var _PyCodec_IncrementalDecoder=Module["_PyCodec_IncrementalDecoder"]=wasmExports["PyCodec_IncrementalDecoder"];var _PyCodec_StreamReader=Module["_PyCodec_StreamReader"]=wasmExports["PyCodec_StreamReader"];var _PyCodec_StreamWriter=Module["_PyCodec_StreamWriter"]=wasmExports["PyCodec_StreamWriter"];var _PyCodec_RegisterError=Module["_PyCodec_RegisterError"]=wasmExports["PyCodec_RegisterError"];var _PyCodec_IgnoreErrors=Module["_PyCodec_IgnoreErrors"]=wasmExports["PyCodec_IgnoreErrors"];var _PyCodec_ReplaceErrors=Module["_PyCodec_ReplaceErrors"]=wasmExports["PyCodec_ReplaceErrors"];var _PyCodec_XMLCharRefReplaceErrors=Module["_PyCodec_XMLCharRefReplaceErrors"]=wasmExports["PyCodec_XMLCharRefReplaceErrors"];var _PyCodec_BackslashReplaceErrors=Module["_PyCodec_BackslashReplaceErrors"]=wasmExports["PyCodec_BackslashReplaceErrors"];var _PyCodec_NameReplaceErrors=Module["_PyCodec_NameReplaceErrors"]=wasmExports["PyCodec_NameReplaceErrors"];var _PyStatus_NoMemory=Module["_PyStatus_NoMemory"]=wasmExports["PyStatus_NoMemory"];var _PyStatus_Error=Module["_PyStatus_Error"]=wasmExports["PyStatus_Error"];var _PyStatus_Ok=Module["_PyStatus_Ok"]=wasmExports["PyStatus_Ok"];var _PyCompile_OpcodeStackEffectWithJump=Module["_PyCompile_OpcodeStackEffectWithJump"]=wasmExports["PyCompile_OpcodeStackEffectWithJump"];var __PyCompile_OpcodeIsValid=Module["__PyCompile_OpcodeIsValid"]=wasmExports["_PyCompile_OpcodeIsValid"];var __PyCompile_OpcodeHasArg=Module["__PyCompile_OpcodeHasArg"]=wasmExports["_PyCompile_OpcodeHasArg"];var __PyCompile_OpcodeHasConst=Module["__PyCompile_OpcodeHasConst"]=wasmExports["_PyCompile_OpcodeHasConst"];var __PyCompile_OpcodeHasName=Module["__PyCompile_OpcodeHasName"]=wasmExports["_PyCompile_OpcodeHasName"];var __PyCompile_OpcodeHasJump=Module["__PyCompile_OpcodeHasJump"]=wasmExports["_PyCompile_OpcodeHasJump"];var __PyCompile_OpcodeHasFree=Module["__PyCompile_OpcodeHasFree"]=wasmExports["_PyCompile_OpcodeHasFree"];var __PyCompile_OpcodeHasLocal=Module["__PyCompile_OpcodeHasLocal"]=wasmExports["_PyCompile_OpcodeHasLocal"];var __PyCompile_OpcodeHasExc=Module["__PyCompile_OpcodeHasExc"]=wasmExports["_PyCompile_OpcodeHasExc"];var __PyCompile_CleanDoc=Module["__PyCompile_CleanDoc"]=wasmExports["_PyCompile_CleanDoc"];var __PyCompile_CodeGen=Module["__PyCompile_CodeGen"]=wasmExports["_PyCompile_CodeGen"];var __PyCompile_OptimizeCfg=Module["__PyCompile_OptimizeCfg"]=wasmExports["_PyCompile_OptimizeCfg"];var __PyInstructionSequence_New=Module["__PyInstructionSequence_New"]=wasmExports["_PyInstructionSequence_New"];var __PyCompile_Assemble=Module["__PyCompile_Assemble"]=wasmExports["_PyCompile_Assemble"];var _PyCode_Optimize=Module["_PyCode_Optimize"]=wasmExports["PyCode_Optimize"];var _PyErr_ProgramTextObject=Module["_PyErr_ProgramTextObject"]=wasmExports["PyErr_ProgramTextObject"];var __PyContext_NewHamtForTests=Module["__PyContext_NewHamtForTests"]=wasmExports["_PyContext_NewHamtForTests"];var _PyContext_New=Module["_PyContext_New"]=wasmExports["PyContext_New"];var _PyContext_Copy=Module["_PyContext_Copy"]=wasmExports["PyContext_Copy"];var _PyContext_CopyCurrent=Module["_PyContext_CopyCurrent"]=wasmExports["PyContext_CopyCurrent"];var _PyContext_Enter=Module["_PyContext_Enter"]=wasmExports["PyContext_Enter"];var _PyContext_Exit=Module["_PyContext_Exit"]=wasmExports["PyContext_Exit"];var _PyContextVar_New=Module["_PyContextVar_New"]=wasmExports["PyContextVar_New"];var _PyContextVar_Get=Module["_PyContextVar_Get"]=wasmExports["PyContextVar_Get"];var _PyContextVar_Set=Module["_PyContextVar_Set"]=wasmExports["PyContextVar_Set"];var _PyContextVar_Reset=Module["_PyContextVar_Reset"]=wasmExports["PyContextVar_Reset"];var __PyCriticalSection_BeginSlow=Module["__PyCriticalSection_BeginSlow"]=wasmExports["_PyCriticalSection_BeginSlow"];var __PyCriticalSection2_BeginSlow=Module["__PyCriticalSection2_BeginSlow"]=wasmExports["_PyCriticalSection2_BeginSlow"];var __PyCriticalSection_SuspendAll=Module["__PyCriticalSection_SuspendAll"]=wasmExports["_PyCriticalSection_SuspendAll"];var __PyCriticalSection_Resume=Module["__PyCriticalSection_Resume"]=wasmExports["_PyCriticalSection_Resume"];var _PyCriticalSection_Begin=Module["_PyCriticalSection_Begin"]=wasmExports["PyCriticalSection_Begin"];var _PyCriticalSection_End=Module["_PyCriticalSection_End"]=wasmExports["PyCriticalSection_End"];var _PyCriticalSection2_Begin=Module["_PyCriticalSection2_Begin"]=wasmExports["PyCriticalSection2_Begin"];var _PyCriticalSection2_End=Module["_PyCriticalSection2_End"]=wasmExports["PyCriticalSection2_End"];var __PyEval_AddPendingCall=Module["__PyEval_AddPendingCall"]=wasmExports["_PyEval_AddPendingCall"];var __PyCrossInterpreterData_Lookup=Module["__PyCrossInterpreterData_Lookup"]=wasmExports["_PyCrossInterpreterData_Lookup"];var __PyCrossInterpreterData_RegisterClass=Module["__PyCrossInterpreterData_RegisterClass"]=wasmExports["_PyCrossInterpreterData_RegisterClass"];var __PyCrossInterpreterData_UnregisterClass=Module["__PyCrossInterpreterData_UnregisterClass"]=wasmExports["_PyCrossInterpreterData_UnregisterClass"];var __PyCrossInterpreterData_New=Module["__PyCrossInterpreterData_New"]=wasmExports["_PyCrossInterpreterData_New"];var __PyCrossInterpreterData_Free=Module["__PyCrossInterpreterData_Free"]=wasmExports["_PyCrossInterpreterData_Free"];var __PyCrossInterpreterData_Clear=Module["__PyCrossInterpreterData_Clear"]=wasmExports["_PyCrossInterpreterData_Clear"];var __PyCrossInterpreterData_Init=Module["__PyCrossInterpreterData_Init"]=wasmExports["_PyCrossInterpreterData_Init"];var _PyInterpreterState_GetID=Module["_PyInterpreterState_GetID"]=wasmExports["PyInterpreterState_GetID"];var __PyCrossInterpreterData_InitWithSize=Module["__PyCrossInterpreterData_InitWithSize"]=wasmExports["_PyCrossInterpreterData_InitWithSize"];var __PyObject_CheckCrossInterpreterData=Module["__PyObject_CheckCrossInterpreterData"]=wasmExports["_PyObject_CheckCrossInterpreterData"];var __PyObject_GetCrossInterpreterData=Module["__PyObject_GetCrossInterpreterData"]=wasmExports["_PyObject_GetCrossInterpreterData"];var __PyCrossInterpreterData_Release=Module["__PyCrossInterpreterData_Release"]=wasmExports["_PyCrossInterpreterData_Release"];var __PyCrossInterpreterData_NewObject=Module["__PyCrossInterpreterData_NewObject"]=wasmExports["_PyCrossInterpreterData_NewObject"];var __PyInterpreterState_LookUpID=Module["__PyInterpreterState_LookUpID"]=wasmExports["_PyInterpreterState_LookUpID"];var __PyCrossInterpreterData_ReleaseAndRawFree=Module["__PyCrossInterpreterData_ReleaseAndRawFree"]=wasmExports["_PyCrossInterpreterData_ReleaseAndRawFree"];var __PyXI_InitExcInfo=Module["__PyXI_InitExcInfo"]=wasmExports["_PyXI_InitExcInfo"];var __PyXI_FormatExcInfo=Module["__PyXI_FormatExcInfo"]=wasmExports["_PyXI_FormatExcInfo"];var __PyXI_ExcInfoAsObject=Module["__PyXI_ExcInfoAsObject"]=wasmExports["_PyXI_ExcInfoAsObject"];var __PyXI_ClearExcInfo=Module["__PyXI_ClearExcInfo"]=wasmExports["_PyXI_ClearExcInfo"];var __PyXI_ApplyError=Module["__PyXI_ApplyError"]=wasmExports["_PyXI_ApplyError"];var __PyXI_FreeNamespace=Module["__PyXI_FreeNamespace"]=wasmExports["_PyXI_FreeNamespace"];var __PyXI_NamespaceFromNames=Module["__PyXI_NamespaceFromNames"]=wasmExports["_PyXI_NamespaceFromNames"];var __PyXI_FillNamespaceFromDict=Module["__PyXI_FillNamespaceFromDict"]=wasmExports["_PyXI_FillNamespaceFromDict"];var __PyXI_ApplyNamespace=Module["__PyXI_ApplyNamespace"]=wasmExports["_PyXI_ApplyNamespace"];var __PyXI_ApplyCapturedException=Module["__PyXI_ApplyCapturedException"]=wasmExports["_PyXI_ApplyCapturedException"];var __PyXI_HasCapturedException=Module["__PyXI_HasCapturedException"]=wasmExports["_PyXI_HasCapturedException"];var __PyXI_Enter=Module["__PyXI_Enter"]=wasmExports["_PyXI_Enter"];var __PyThreadState_NewBound=Module["__PyThreadState_NewBound"]=wasmExports["_PyThreadState_NewBound"];var __PyInterpreterState_SetRunningMain=Module["__PyInterpreterState_SetRunningMain"]=wasmExports["_PyInterpreterState_SetRunningMain"];var _PyUnstable_InterpreterState_GetMainModule=Module["_PyUnstable_InterpreterState_GetMainModule"]=wasmExports["PyUnstable_InterpreterState_GetMainModule"];var __PyInterpreterState_SetNotRunningMain=Module["__PyInterpreterState_SetNotRunningMain"]=wasmExports["_PyInterpreterState_SetNotRunningMain"];var _PyThreadState_Clear=Module["_PyThreadState_Clear"]=wasmExports["PyThreadState_Clear"];var __PyXI_Exit=Module["__PyXI_Exit"]=wasmExports["_PyXI_Exit"];var _PyErr_PrintEx=Module["_PyErr_PrintEx"]=wasmExports["PyErr_PrintEx"];var __PyXI_NewInterpreter=Module["__PyXI_NewInterpreter"]=wasmExports["_PyXI_NewInterpreter"];var _Py_NewInterpreterFromConfig=Module["_Py_NewInterpreterFromConfig"]=wasmExports["Py_NewInterpreterFromConfig"];var __PyErr_SetFromPyStatus=Module["__PyErr_SetFromPyStatus"]=wasmExports["_PyErr_SetFromPyStatus"];var _PyThreadState_GetInterpreter=Module["_PyThreadState_GetInterpreter"]=wasmExports["PyThreadState_GetInterpreter"];var __PyXI_EndInterpreter=Module["__PyXI_EndInterpreter"]=wasmExports["_PyXI_EndInterpreter"];var __PyInterpreterState_IsReady=Module["__PyInterpreterState_IsReady"]=wasmExports["_PyInterpreterState_IsReady"];var _PyInterpreterState_Delete=Module["_PyInterpreterState_Delete"]=wasmExports["PyInterpreterState_Delete"];var _Py_EndInterpreter=Module["_Py_EndInterpreter"]=wasmExports["Py_EndInterpreter"];var __PyErr_SetLocaleString=Module["__PyErr_SetLocaleString"]=wasmExports["_PyErr_SetLocaleString"];var _PyErr_GetHandledException=Module["_PyErr_GetHandledException"]=wasmExports["PyErr_GetHandledException"];var _PyErr_GetExcInfo=Module["_PyErr_GetExcInfo"]=wasmExports["PyErr_GetExcInfo"];var _PyErr_SetExcInfo=Module["_PyErr_SetExcInfo"]=wasmExports["PyErr_SetExcInfo"];var _PyErr_SetFromErrnoWithFilenameObject=Module["_PyErr_SetFromErrnoWithFilenameObject"]=wasmExports["PyErr_SetFromErrnoWithFilenameObject"];var _PyErr_SetFromErrnoWithFilenameObjects=Module["_PyErr_SetFromErrnoWithFilenameObjects"]=wasmExports["PyErr_SetFromErrnoWithFilenameObjects"];var _strerror=wasmExports["strerror"];var _PyErr_SetImportErrorSubclass=Module["_PyErr_SetImportErrorSubclass"]=wasmExports["PyErr_SetImportErrorSubclass"];var _PyErr_SetImportError=Module["_PyErr_SetImportError"]=wasmExports["PyErr_SetImportError"];var _PyErr_BadInternalCall=Module["_PyErr_BadInternalCall"]=wasmExports["PyErr_BadInternalCall"];var _PyErr_FormatV=Module["_PyErr_FormatV"]=wasmExports["PyErr_FormatV"];var _PyErr_NewExceptionWithDoc=Module["_PyErr_NewExceptionWithDoc"]=wasmExports["PyErr_NewExceptionWithDoc"];var _PyTraceBack_Print=Module["_PyTraceBack_Print"]=wasmExports["PyTraceBack_Print"];var _PyErr_SyntaxLocation=Module["_PyErr_SyntaxLocation"]=wasmExports["PyErr_SyntaxLocation"];var _PyErr_SyntaxLocationEx=Module["_PyErr_SyntaxLocationEx"]=wasmExports["PyErr_SyntaxLocationEx"];var _PyErr_RangedSyntaxLocationObject=Module["_PyErr_RangedSyntaxLocationObject"]=wasmExports["PyErr_RangedSyntaxLocationObject"];var _PyErr_ProgramText=Module["_PyErr_ProgramText"]=wasmExports["PyErr_ProgramText"];var __Py_fopen_obj=Module["__Py_fopen_obj"]=wasmExports["_Py_fopen_obj"];var _PyUnstable_InterpreterFrame_GetCode=Module["_PyUnstable_InterpreterFrame_GetCode"]=wasmExports["PyUnstable_InterpreterFrame_GetCode"];var _PyUnstable_InterpreterFrame_GetLasti=Module["_PyUnstable_InterpreterFrame_GetLasti"]=wasmExports["PyUnstable_InterpreterFrame_GetLasti"];var _Py_FrozenMain=Module["_Py_FrozenMain"]=wasmExports["Py_FrozenMain"];var _Py_GETENV=Module["_Py_GETENV"]=wasmExports["Py_GETENV"];var _Py_GetVersion=Module["_Py_GetVersion"]=wasmExports["Py_GetVersion"];var _Py_GetCopyright=Module["_Py_GetCopyright"]=wasmExports["Py_GetCopyright"];var _PyImport_ImportFrozenModule=Module["_PyImport_ImportFrozenModule"]=wasmExports["PyImport_ImportFrozenModule"];var _PyRun_AnyFileExFlags=Module["_PyRun_AnyFileExFlags"]=wasmExports["PyRun_AnyFileExFlags"];var _Py_FinalizeEx=Module["_Py_FinalizeEx"]=wasmExports["Py_FinalizeEx"];var _PyGC_Enable=Module["_PyGC_Enable"]=wasmExports["PyGC_Enable"];var _PyGC_Disable=Module["_PyGC_Disable"]=wasmExports["PyGC_Disable"];var _PyGC_IsEnabled=Module["_PyGC_IsEnabled"]=wasmExports["PyGC_IsEnabled"];var _PyGC_Collect=Module["_PyGC_Collect"]=wasmExports["PyGC_Collect"];var _PyTime_PerfCounterRaw=Module["_PyTime_PerfCounterRaw"]=wasmExports["PyTime_PerfCounterRaw"];var _PyTime_AsSecondsDouble=Module["_PyTime_AsSecondsDouble"]=wasmExports["PyTime_AsSecondsDouble"];var _PyUnstable_Object_GC_NewWithExtraData=Module["_PyUnstable_Object_GC_NewWithExtraData"]=wasmExports["PyUnstable_Object_GC_NewWithExtraData"];var _PyObject_GC_IsTracked=Module["_PyObject_GC_IsTracked"]=wasmExports["PyObject_GC_IsTracked"];var _PyObject_GC_IsFinalized=Module["_PyObject_GC_IsFinalized"]=wasmExports["PyObject_GC_IsFinalized"];var _PyUnstable_GC_VisitObjects=Module["_PyUnstable_GC_VisitObjects"]=wasmExports["PyUnstable_GC_VisitObjects"];var _PyArg_Parse=Module["_PyArg_Parse"]=wasmExports["PyArg_Parse"];var __PyArg_Parse_SizeT=Module["__PyArg_Parse_SizeT"]=wasmExports["_PyArg_Parse_SizeT"];var __PyArg_ParseTuple_SizeT=Module["__PyArg_ParseTuple_SizeT"]=wasmExports["_PyArg_ParseTuple_SizeT"];var _PyArg_VaParse=Module["_PyArg_VaParse"]=wasmExports["PyArg_VaParse"];var __PyArg_VaParse_SizeT=Module["__PyArg_VaParse_SizeT"]=wasmExports["_PyArg_VaParse_SizeT"];var __PyArg_ParseTupleAndKeywords_SizeT=Module["__PyArg_ParseTupleAndKeywords_SizeT"]=wasmExports["_PyArg_ParseTupleAndKeywords_SizeT"];var _PyArg_VaParseTupleAndKeywords=Module["_PyArg_VaParseTupleAndKeywords"]=wasmExports["PyArg_VaParseTupleAndKeywords"];var __PyArg_VaParseTupleAndKeywords_SizeT=Module["__PyArg_VaParseTupleAndKeywords_SizeT"]=wasmExports["_PyArg_VaParseTupleAndKeywords_SizeT"];var __PyArg_ParseTupleAndKeywordsFast=Module["__PyArg_ParseTupleAndKeywordsFast"]=wasmExports["_PyArg_ParseTupleAndKeywordsFast"];var _Py_GetCompiler=Module["_Py_GetCompiler"]=wasmExports["Py_GetCompiler"];var _Py_GetPlatform=Module["_Py_GetPlatform"]=wasmExports["Py_GetPlatform"];var _PyEval_ThreadsInitialized=Module["_PyEval_ThreadsInitialized"]=wasmExports["PyEval_ThreadsInitialized"];var _PyThread_init_thread=Module["_PyThread_init_thread"]=wasmExports["PyThread_init_thread"];var _pthread_cond_destroy=Module["_pthread_cond_destroy"]=wasmExports["pthread_cond_destroy"];var _pthread_mutex_destroy=Module["_pthread_mutex_destroy"]=wasmExports["pthread_mutex_destroy"];var _PyEval_InitThreads=Module["_PyEval_InitThreads"]=wasmExports["PyEval_InitThreads"];var _PyEval_AcquireLock=Module["_PyEval_AcquireLock"]=wasmExports["PyEval_AcquireLock"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=wasmExports["pthread_mutex_lock"];var _pthread_cond_timedwait=Module["_pthread_cond_timedwait"]=wasmExports["pthread_cond_timedwait"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=wasmExports["pthread_mutex_unlock"];var _pthread_cond_signal=Module["_pthread_cond_signal"]=wasmExports["pthread_cond_signal"];var _PyThread_exit_thread=Module["_PyThread_exit_thread"]=wasmExports["PyThread_exit_thread"];var _PyThread_get_thread_ident=Module["_PyThread_get_thread_ident"]=wasmExports["PyThread_get_thread_ident"];var _PyEval_ReleaseLock=Module["_PyEval_ReleaseLock"]=wasmExports["PyEval_ReleaseLock"];var _pthread_cond_wait=Module["_pthread_cond_wait"]=wasmExports["pthread_cond_wait"];var _PyEval_AcquireThread=Module["_PyEval_AcquireThread"]=wasmExports["PyEval_AcquireThread"];var _PyEval_ReleaseThread=Module["_PyEval_ReleaseThread"]=wasmExports["PyEval_ReleaseThread"];var _Py_AddPendingCall=Module["_Py_AddPendingCall"]=wasmExports["Py_AddPendingCall"];var __PyEval_MakePendingCalls=Module["__PyEval_MakePendingCalls"]=wasmExports["_PyEval_MakePendingCalls"];var _Py_MakePendingCalls=Module["_Py_MakePendingCalls"]=wasmExports["Py_MakePendingCalls"];var _pthread_mutex_init=Module["_pthread_mutex_init"]=wasmExports["pthread_mutex_init"];var __Py_hashtable_hash_ptr=Module["__Py_hashtable_hash_ptr"]=wasmExports["_Py_hashtable_hash_ptr"];var __Py_hashtable_compare_direct=Module["__Py_hashtable_compare_direct"]=wasmExports["_Py_hashtable_compare_direct"];var __Py_hashtable_size=Module["__Py_hashtable_size"]=wasmExports["_Py_hashtable_size"];var __Py_hashtable_steal=Module["__Py_hashtable_steal"]=wasmExports["_Py_hashtable_steal"];var __Py_hashtable_foreach=Module["__Py_hashtable_foreach"]=wasmExports["_Py_hashtable_foreach"];var __Py_hashtable_new=Module["__Py_hashtable_new"]=wasmExports["_Py_hashtable_new"];var __Py_hashtable_clear=Module["__Py_hashtable_clear"]=wasmExports["_Py_hashtable_clear"];var __PyRecursiveMutex_Lock=Module["__PyRecursiveMutex_Lock"]=wasmExports["_PyRecursiveMutex_Lock"];var __PyRecursiveMutex_Unlock=Module["__PyRecursiveMutex_Unlock"]=wasmExports["_PyRecursiveMutex_Unlock"];var _PyThread_get_thread_ident_ex=Module["_PyThread_get_thread_ident_ex"]=wasmExports["PyThread_get_thread_ident_ex"];var __PyImport_SetModule=Module["__PyImport_SetModule"]=wasmExports["_PyImport_SetModule"];var _PyImport_AddModuleRef=Module["_PyImport_AddModuleRef"]=wasmExports["PyImport_AddModuleRef"];var _PyImport_AddModuleObject=Module["_PyImport_AddModuleObject"]=wasmExports["PyImport_AddModuleObject"];var _PyImport_AddModule=Module["_PyImport_AddModule"]=wasmExports["PyImport_AddModule"];var _PyState_FindModule=Module["_PyState_FindModule"]=wasmExports["PyState_FindModule"];var __PyState_AddModule=Module["__PyState_AddModule"]=wasmExports["_PyState_AddModule"];var _PyState_AddModule=Module["_PyState_AddModule"]=wasmExports["PyState_AddModule"];var _PyState_RemoveModule=Module["_PyState_RemoveModule"]=wasmExports["PyState_RemoveModule"];var __PyImport_ClearExtension=Module["__PyImport_ClearExtension"]=wasmExports["_PyImport_ClearExtension"];var _PyImport_ExtendInittab=Module["_PyImport_ExtendInittab"]=wasmExports["PyImport_ExtendInittab"];var _PyImport_GetMagicNumber=Module["_PyImport_GetMagicNumber"]=wasmExports["PyImport_GetMagicNumber"];var _PyImport_GetMagicTag=Module["_PyImport_GetMagicTag"]=wasmExports["PyImport_GetMagicTag"];var _PyImport_ExecCodeModule=Module["_PyImport_ExecCodeModule"]=wasmExports["PyImport_ExecCodeModule"];var _PyImport_ExecCodeModuleObject=Module["_PyImport_ExecCodeModuleObject"]=wasmExports["PyImport_ExecCodeModuleObject"];var _PyImport_ExecCodeModuleWithPathnames=Module["_PyImport_ExecCodeModuleWithPathnames"]=wasmExports["PyImport_ExecCodeModuleWithPathnames"];var _PyImport_ExecCodeModuleEx=Module["_PyImport_ExecCodeModuleEx"]=wasmExports["PyImport_ExecCodeModuleEx"];var _PyImport_ImportFrozenModuleObject=Module["_PyImport_ImportFrozenModuleObject"]=wasmExports["PyImport_ImportFrozenModuleObject"];var _PyMarshal_ReadObjectFromString=Module["_PyMarshal_ReadObjectFromString"]=wasmExports["PyMarshal_ReadObjectFromString"];var _PyImport_GetImporter=Module["_PyImport_GetImporter"]=wasmExports["PyImport_GetImporter"];var _PyImport_ImportModuleNoBlock=Module["_PyImport_ImportModuleNoBlock"]=wasmExports["PyImport_ImportModuleNoBlock"];var __PyTime_AsMicroseconds=Module["__PyTime_AsMicroseconds"]=wasmExports["_PyTime_AsMicroseconds"];var _PyImport_ImportModuleLevel=Module["_PyImport_ImportModuleLevel"]=wasmExports["PyImport_ImportModuleLevel"];var _PyImport_ReloadModule=Module["_PyImport_ReloadModule"]=wasmExports["PyImport_ReloadModule"];var __PyImport_GetModuleAttr=Module["__PyImport_GetModuleAttr"]=wasmExports["_PyImport_GetModuleAttr"];var _PyInit__imp=Module["_PyInit__imp"]=wasmExports["PyInit__imp"];var __PyRecursiveMutex_IsLockedByCurrentThread=Module["__PyRecursiveMutex_IsLockedByCurrentThread"]=wasmExports["_PyRecursiveMutex_IsLockedByCurrentThread"];var _PyModule_Add=Module["_PyModule_Add"]=wasmExports["PyModule_Add"];var _PyStatus_Exit=Module["_PyStatus_Exit"]=wasmExports["PyStatus_Exit"];var _PyStatus_IsError=Module["_PyStatus_IsError"]=wasmExports["PyStatus_IsError"];var _PyStatus_IsExit=Module["_PyStatus_IsExit"]=wasmExports["PyStatus_IsExit"];var _PyWideStringList_Insert=Module["_PyWideStringList_Insert"]=wasmExports["PyWideStringList_Insert"];var _PyWideStringList_Append=Module["_PyWideStringList_Append"]=wasmExports["PyWideStringList_Append"];var _Py_GetArgcArgv=Module["_Py_GetArgcArgv"]=wasmExports["Py_GetArgcArgv"];var __PyConfig_InitCompatConfig=Module["__PyConfig_InitCompatConfig"]=wasmExports["_PyConfig_InitCompatConfig"];var _PyConfig_InitIsolatedConfig=Module["_PyConfig_InitIsolatedConfig"]=wasmExports["PyConfig_InitIsolatedConfig"];var _PyConfig_SetString=Module["_PyConfig_SetString"]=wasmExports["PyConfig_SetString"];var _Py_DecodeLocale=Module["_Py_DecodeLocale"]=wasmExports["Py_DecodeLocale"];var __PyConfig_AsDict=Module["__PyConfig_AsDict"]=wasmExports["_PyConfig_AsDict"];var __PyConfig_FromDict=Module["__PyConfig_FromDict"]=wasmExports["_PyConfig_FromDict"];var _wcschr=Module["_wcschr"]=wasmExports["wcschr"];var _setvbuf=Module["_setvbuf"]=wasmExports["setvbuf"];var _PyConfig_SetArgv=Module["_PyConfig_SetArgv"]=wasmExports["PyConfig_SetArgv"];var _PyConfig_SetWideStringList=Module["_PyConfig_SetWideStringList"]=wasmExports["PyConfig_SetWideStringList"];var _putchar=Module["_putchar"]=wasmExports["putchar"];var _iprintf=Module["_iprintf"]=wasmExports["iprintf"];var _wcstok=Module["_wcstok"]=wasmExports["wcstok"];var _strtoul=Module["_strtoul"]=wasmExports["strtoul"];var _wcstol=Module["_wcstol"]=wasmExports["wcstol"];var _setlocale=Module["_setlocale"]=wasmExports["setlocale"];var _PyConfig_Read=Module["_PyConfig_Read"]=wasmExports["PyConfig_Read"];var __Py_GetConfigsAsDict=Module["__Py_GetConfigsAsDict"]=wasmExports["_Py_GetConfigsAsDict"];var __PyInterpreterConfig_AsDict=Module["__PyInterpreterConfig_AsDict"]=wasmExports["_PyInterpreterConfig_AsDict"];var __PyInterpreterConfig_InitFromDict=Module["__PyInterpreterConfig_InitFromDict"]=wasmExports["_PyInterpreterConfig_InitFromDict"];var __PyInterpreterConfig_UpdateFromDict=Module["__PyInterpreterConfig_UpdateFromDict"]=wasmExports["_PyInterpreterConfig_UpdateFromDict"];var __PyInterpreterConfig_InitFromState=Module["__PyInterpreterConfig_InitFromState"]=wasmExports["_PyInterpreterConfig_InitFromState"];var _PyMonitoring_EnterScope=Module["_PyMonitoring_EnterScope"]=wasmExports["PyMonitoring_EnterScope"];var _PyMonitoring_ExitScope=Module["_PyMonitoring_ExitScope"]=wasmExports["PyMonitoring_ExitScope"];var __PyMonitoring_FirePyStartEvent=Module["__PyMonitoring_FirePyStartEvent"]=wasmExports["_PyMonitoring_FirePyStartEvent"];var __PyMonitoring_FirePyResumeEvent=Module["__PyMonitoring_FirePyResumeEvent"]=wasmExports["_PyMonitoring_FirePyResumeEvent"];var __PyMonitoring_FirePyReturnEvent=Module["__PyMonitoring_FirePyReturnEvent"]=wasmExports["_PyMonitoring_FirePyReturnEvent"];var __PyMonitoring_FirePyYieldEvent=Module["__PyMonitoring_FirePyYieldEvent"]=wasmExports["_PyMonitoring_FirePyYieldEvent"];var __PyMonitoring_FireCallEvent=Module["__PyMonitoring_FireCallEvent"]=wasmExports["_PyMonitoring_FireCallEvent"];var __PyMonitoring_FireLineEvent=Module["__PyMonitoring_FireLineEvent"]=wasmExports["_PyMonitoring_FireLineEvent"];var __PyMonitoring_FireJumpEvent=Module["__PyMonitoring_FireJumpEvent"]=wasmExports["_PyMonitoring_FireJumpEvent"];var __PyMonitoring_FireBranchEvent=Module["__PyMonitoring_FireBranchEvent"]=wasmExports["_PyMonitoring_FireBranchEvent"];var __PyMonitoring_FireCReturnEvent=Module["__PyMonitoring_FireCReturnEvent"]=wasmExports["_PyMonitoring_FireCReturnEvent"];var __PyMonitoring_FirePyThrowEvent=Module["__PyMonitoring_FirePyThrowEvent"]=wasmExports["_PyMonitoring_FirePyThrowEvent"];var __PyMonitoring_FireRaiseEvent=Module["__PyMonitoring_FireRaiseEvent"]=wasmExports["_PyMonitoring_FireRaiseEvent"];var __PyMonitoring_FireCRaiseEvent=Module["__PyMonitoring_FireCRaiseEvent"]=wasmExports["_PyMonitoring_FireCRaiseEvent"];var __PyMonitoring_FireReraiseEvent=Module["__PyMonitoring_FireReraiseEvent"]=wasmExports["_PyMonitoring_FireReraiseEvent"];var __PyMonitoring_FireExceptionHandledEvent=Module["__PyMonitoring_FireExceptionHandledEvent"]=wasmExports["_PyMonitoring_FireExceptionHandledEvent"];var __PyMonitoring_FirePyUnwindEvent=Module["__PyMonitoring_FirePyUnwindEvent"]=wasmExports["_PyMonitoring_FirePyUnwindEvent"];var __PyMonitoring_FireStopIterationEvent=Module["__PyMonitoring_FireStopIterationEvent"]=wasmExports["_PyMonitoring_FireStopIterationEvent"];var __PyCompile_GetUnaryIntrinsicName=Module["__PyCompile_GetUnaryIntrinsicName"]=wasmExports["_PyCompile_GetUnaryIntrinsicName"];var __PyCompile_GetBinaryIntrinsicName=Module["__PyCompile_GetBinaryIntrinsicName"]=wasmExports["_PyCompile_GetBinaryIntrinsicName"];var _PyTime_MonotonicRaw=Module["_PyTime_MonotonicRaw"]=wasmExports["PyTime_MonotonicRaw"];var __PyParkingLot_Park=Module["__PyParkingLot_Park"]=wasmExports["_PyParkingLot_Park"];var __PyDeadline_Get=Module["__PyDeadline_Get"]=wasmExports["_PyDeadline_Get"];var __PyParkingLot_Unpark=Module["__PyParkingLot_Unpark"]=wasmExports["_PyParkingLot_Unpark"];var __PySemaphore_Init=Module["__PySemaphore_Init"]=wasmExports["_PySemaphore_Init"];var __PySemaphore_Wait=Module["__PySemaphore_Wait"]=wasmExports["_PySemaphore_Wait"];var __PySemaphore_Destroy=Module["__PySemaphore_Destroy"]=wasmExports["_PySemaphore_Destroy"];var __PySemaphore_Wakeup=Module["__PySemaphore_Wakeup"]=wasmExports["_PySemaphore_Wakeup"];var __PyEvent_IsSet=Module["__PyEvent_IsSet"]=wasmExports["_PyEvent_IsSet"];var __PyEvent_Notify=Module["__PyEvent_Notify"]=wasmExports["_PyEvent_Notify"];var __PyParkingLot_UnparkAll=Module["__PyParkingLot_UnparkAll"]=wasmExports["_PyParkingLot_UnparkAll"];var _PyEvent_Wait=Module["_PyEvent_Wait"]=wasmExports["PyEvent_Wait"];var _PyEvent_WaitTimed=Module["_PyEvent_WaitTimed"]=wasmExports["PyEvent_WaitTimed"];var __PyRWMutex_RLock=Module["__PyRWMutex_RLock"]=wasmExports["_PyRWMutex_RLock"];var __PyRWMutex_RUnlock=Module["__PyRWMutex_RUnlock"]=wasmExports["_PyRWMutex_RUnlock"];var __PyRWMutex_Lock=Module["__PyRWMutex_Lock"]=wasmExports["_PyRWMutex_Lock"];var __PyRWMutex_Unlock=Module["__PyRWMutex_Unlock"]=wasmExports["_PyRWMutex_Unlock"];var __PySeqLock_LockWrite=Module["__PySeqLock_LockWrite"]=wasmExports["_PySeqLock_LockWrite"];var _sched_yield=Module["_sched_yield"]=wasmExports["sched_yield"];var __PySeqLock_AbandonWrite=Module["__PySeqLock_AbandonWrite"]=wasmExports["_PySeqLock_AbandonWrite"];var __PySeqLock_UnlockWrite=Module["__PySeqLock_UnlockWrite"]=wasmExports["_PySeqLock_UnlockWrite"];var __PySeqLock_BeginRead=Module["__PySeqLock_BeginRead"]=wasmExports["_PySeqLock_BeginRead"];var __PySeqLock_EndRead=Module["__PySeqLock_EndRead"]=wasmExports["_PySeqLock_EndRead"];var __PySeqLock_AfterFork=Module["__PySeqLock_AfterFork"]=wasmExports["_PySeqLock_AfterFork"];var _PyMarshal_WriteLongToFile=Module["_PyMarshal_WriteLongToFile"]=wasmExports["PyMarshal_WriteLongToFile"];var _PyMarshal_WriteObjectToFile=Module["_PyMarshal_WriteObjectToFile"]=wasmExports["PyMarshal_WriteObjectToFile"];var _PyMarshal_ReadShortFromFile=Module["_PyMarshal_ReadShortFromFile"]=wasmExports["PyMarshal_ReadShortFromFile"];var _PyMarshal_ReadLongFromFile=Module["_PyMarshal_ReadLongFromFile"]=wasmExports["PyMarshal_ReadLongFromFile"];var _PyMarshal_ReadLastObjectFromFile=Module["_PyMarshal_ReadLastObjectFromFile"]=wasmExports["PyMarshal_ReadLastObjectFromFile"];var __Py_fstat_noraise=Module["__Py_fstat_noraise"]=wasmExports["_Py_fstat_noraise"];var _fread=Module["_fread"]=wasmExports["fread"];var _PyMarshal_ReadObjectFromFile=Module["_PyMarshal_ReadObjectFromFile"]=wasmExports["PyMarshal_ReadObjectFromFile"];var _PyMarshal_WriteObjectToString=Module["_PyMarshal_WriteObjectToString"]=wasmExports["PyMarshal_WriteObjectToString"];var _PyMarshal_Init=Module["_PyMarshal_Init"]=wasmExports["PyMarshal_Init"];var __Py_convert_optional_to_ssize_t=Module["__Py_convert_optional_to_ssize_t"]=wasmExports["_Py_convert_optional_to_ssize_t"];var __Py_BuildValue_SizeT=Module["__Py_BuildValue_SizeT"]=wasmExports["_Py_BuildValue_SizeT"];var _Py_VaBuildValue=Module["_Py_VaBuildValue"]=wasmExports["Py_VaBuildValue"];var __Py_VaBuildValue_SizeT=Module["__Py_VaBuildValue_SizeT"]=wasmExports["_Py_VaBuildValue_SizeT"];var _PyModule_AddStringConstant=Module["_PyModule_AddStringConstant"]=wasmExports["PyModule_AddStringConstant"];var _PyOS_vsnprintf=Module["_PyOS_vsnprintf"]=wasmExports["PyOS_vsnprintf"];var _pthread_cond_init=Module["_pthread_cond_init"]=wasmExports["pthread_cond_init"];var _PyTime_TimeRaw=Module["_PyTime_TimeRaw"]=wasmExports["PyTime_TimeRaw"];var __PyTime_AsTimespec_clamp=Module["__PyTime_AsTimespec_clamp"]=wasmExports["_PyTime_AsTimespec_clamp"];var __PyParkingLot_AfterFork=Module["__PyParkingLot_AfterFork"]=wasmExports["_PyParkingLot_AfterFork"];var __PyPathConfig_ClearGlobal=Module["__PyPathConfig_ClearGlobal"]=wasmExports["_PyPathConfig_ClearGlobal"];var _wcscpy=Module["_wcscpy"]=wasmExports["wcscpy"];var _Py_SetPath=Module["_Py_SetPath"]=wasmExports["Py_SetPath"];var _Py_SetPythonHome=Module["_Py_SetPythonHome"]=wasmExports["Py_SetPythonHome"];var _Py_SetProgramName=Module["_Py_SetProgramName"]=wasmExports["Py_SetProgramName"];var _Py_GetPath=Module["_Py_GetPath"]=wasmExports["Py_GetPath"];var _Py_GetPrefix=Module["_Py_GetPrefix"]=wasmExports["Py_GetPrefix"];var _Py_GetExecPrefix=Module["_Py_GetExecPrefix"]=wasmExports["Py_GetExecPrefix"];var _Py_GetProgramFullPath=Module["_Py_GetProgramFullPath"]=wasmExports["Py_GetProgramFullPath"];var _Py_GetPythonHome=Module["_Py_GetPythonHome"]=wasmExports["Py_GetPythonHome"];var _Py_GetProgramName=Module["_Py_GetProgramName"]=wasmExports["Py_GetProgramName"];var _wcsncpy=Module["_wcsncpy"]=wasmExports["wcsncpy"];var _wcsncmp=Module["_wcsncmp"]=wasmExports["wcsncmp"];var __PyPreConfig_InitCompatConfig=Module["__PyPreConfig_InitCompatConfig"]=wasmExports["_PyPreConfig_InitCompatConfig"];var _PyPreConfig_InitIsolatedConfig=Module["_PyPreConfig_InitIsolatedConfig"]=wasmExports["PyPreConfig_InitIsolatedConfig"];var __Py_SetLocaleFromEnv=Module["__Py_SetLocaleFromEnv"]=wasmExports["_Py_SetLocaleFromEnv"];var _PyHash_GetFuncDef=Module["_PyHash_GetFuncDef"]=wasmExports["PyHash_GetFuncDef"];var _Py_IsFinalizing=Module["_Py_IsFinalizing"]=wasmExports["Py_IsFinalizing"];var _nl_langinfo=Module["_nl_langinfo"]=wasmExports["nl_langinfo"];var _setenv=Module["_setenv"]=wasmExports["setenv"];var __PyInterpreterState_SetConfig=Module["__PyInterpreterState_SetConfig"]=wasmExports["_PyInterpreterState_SetConfig"];var _Py_PreInitializeFromArgs=Module["_Py_PreInitializeFromArgs"]=wasmExports["Py_PreInitializeFromArgs"];var _Py_PreInitialize=Module["_Py_PreInitialize"]=wasmExports["Py_PreInitialize"];var _Py_InitializeEx=Module["_Py_InitializeEx"]=wasmExports["Py_InitializeEx"];var _Py_FatalError=Module["_Py_FatalError"]=wasmExports["Py_FatalError"];var _Py_Initialize=Module["_Py_Initialize"]=wasmExports["Py_Initialize"];var __Py_InitializeMain=Module["__Py_InitializeMain"]=wasmExports["_Py_InitializeMain"];var __PyThreadState_New=Module["__PyThreadState_New"]=wasmExports["_PyThreadState_New"];var _Py_Finalize=Module["_Py_Finalize"]=wasmExports["Py_Finalize"];var _PyInterpreterState_New=Module["_PyInterpreterState_New"]=wasmExports["PyInterpreterState_New"];var _Py_NewInterpreter=Module["_Py_NewInterpreter"]=wasmExports["Py_NewInterpreter"];var __Py_write_noraise=Module["__Py_write_noraise"]=wasmExports["_Py_write_noraise"];var _vfprintf=Module["_vfprintf"]=wasmExports["vfprintf"];var __Py_FatalRefcountErrorFunc=Module["__Py_FatalRefcountErrorFunc"]=wasmExports["_Py_FatalRefcountErrorFunc"];var _Py_AtExit=Module["_Py_AtExit"]=wasmExports["Py_AtExit"];var _Py_Exit=Module["_Py_Exit"]=wasmExports["Py_Exit"];var _Py_FdIsInteractive=Module["_Py_FdIsInteractive"]=wasmExports["Py_FdIsInteractive"];var _PyOS_getsig=Module["_PyOS_getsig"]=wasmExports["PyOS_getsig"];var _signal=Module["_signal"]=wasmExports["signal"];var _PyOS_setsig=Module["_PyOS_setsig"]=wasmExports["PyOS_setsig"];var _siginterrupt=Module["_siginterrupt"]=wasmExports["siginterrupt"];var __PyInterpreterState_New=Module["__PyInterpreterState_New"]=wasmExports["_PyInterpreterState_New"];var _PySys_SetObject=Module["_PySys_SetObject"]=wasmExports["PySys_SetObject"];var __Py_IsValidFD=Module["__Py_IsValidFD"]=wasmExports["_Py_IsValidFD"];var _PyOS_mystrnicmp=Module["_PyOS_mystrnicmp"]=wasmExports["PyOS_mystrnicmp"];var __PyThreadState_GetCurrent=Module["__PyThreadState_GetCurrent"]=wasmExports["_PyThreadState_GetCurrent"];var _PyThread_tss_create=Module["_PyThread_tss_create"]=wasmExports["PyThread_tss_create"];var _PyThread_tss_is_created=Module["_PyThread_tss_is_created"]=wasmExports["PyThread_tss_is_created"];var _PyThread_tss_delete=Module["_PyThread_tss_delete"]=wasmExports["PyThread_tss_delete"];var _PyThread_tss_get=Module["_PyThread_tss_get"]=wasmExports["PyThread_tss_get"];var _PyThread_tss_set=Module["_PyThread_tss_set"]=wasmExports["PyThread_tss_set"];var _PyInterpreterState_Clear=Module["_PyInterpreterState_Clear"]=wasmExports["PyInterpreterState_Clear"];var _PyThread_free_lock=Module["_PyThread_free_lock"]=wasmExports["PyThread_free_lock"];var __PyInterpreterState_IsRunningMain=Module["__PyInterpreterState_IsRunningMain"]=wasmExports["_PyInterpreterState_IsRunningMain"];var __PyInterpreterState_FailIfRunningMain=Module["__PyInterpreterState_FailIfRunningMain"]=wasmExports["_PyInterpreterState_FailIfRunningMain"];var __PyInterpreterState_GetWhence=Module["__PyInterpreterState_GetWhence"]=wasmExports["_PyInterpreterState_GetWhence"];var _PyInterpreterState_GetDict=Module["_PyInterpreterState_GetDict"]=wasmExports["PyInterpreterState_GetDict"];var __PyInterpreterState_ObjectToID=Module["__PyInterpreterState_ObjectToID"]=wasmExports["_PyInterpreterState_ObjectToID"];var __PyInterpreterState_GetIDObject=Module["__PyInterpreterState_GetIDObject"]=wasmExports["_PyInterpreterState_GetIDObject"];var _PyThread_allocate_lock=Module["_PyThread_allocate_lock"]=wasmExports["PyThread_allocate_lock"];var __PyInterpreterState_IDInitref=Module["__PyInterpreterState_IDInitref"]=wasmExports["_PyInterpreterState_IDInitref"];var __PyInterpreterState_IDIncref=Module["__PyInterpreterState_IDIncref"]=wasmExports["_PyInterpreterState_IDIncref"];var _PyThread_acquire_lock=Module["_PyThread_acquire_lock"]=wasmExports["PyThread_acquire_lock"];var _PyThread_release_lock=Module["_PyThread_release_lock"]=wasmExports["PyThread_release_lock"];var __PyInterpreterState_IDDecref=Module["__PyInterpreterState_IDDecref"]=wasmExports["_PyInterpreterState_IDDecref"];var __PyInterpreterState_RequiresIDRef=Module["__PyInterpreterState_RequiresIDRef"]=wasmExports["_PyInterpreterState_RequiresIDRef"];var __PyInterpreterState_RequireIDRef=Module["__PyInterpreterState_RequireIDRef"]=wasmExports["_PyInterpreterState_RequireIDRef"];var __PyInterpreterState_LookUpIDObject=Module["__PyInterpreterState_LookUpIDObject"]=wasmExports["_PyInterpreterState_LookUpIDObject"];var __PyThreadState_Prealloc=Module["__PyThreadState_Prealloc"]=wasmExports["_PyThreadState_Prealloc"];var __PyThreadState_Init=Module["__PyThreadState_Init"]=wasmExports["_PyThreadState_Init"];var _PyThreadState_DeleteCurrent=Module["_PyThreadState_DeleteCurrent"]=wasmExports["PyThreadState_DeleteCurrent"];var __PyThreadState_GetDict=Module["__PyThreadState_GetDict"]=wasmExports["_PyThreadState_GetDict"];var _PyThreadState_GetID=Module["_PyThreadState_GetID"]=wasmExports["PyThreadState_GetID"];var _PyThreadState_SetAsyncExc=Module["_PyThreadState_SetAsyncExc"]=wasmExports["PyThreadState_SetAsyncExc"];var _PyThreadState_GetUnchecked=Module["_PyThreadState_GetUnchecked"]=wasmExports["PyThreadState_GetUnchecked"];var _PyInterpreterState_Head=Module["_PyInterpreterState_Head"]=wasmExports["PyInterpreterState_Head"];var _PyInterpreterState_Main=Module["_PyInterpreterState_Main"]=wasmExports["PyInterpreterState_Main"];var _PyInterpreterState_Next=Module["_PyInterpreterState_Next"]=wasmExports["PyInterpreterState_Next"];var __PyThread_CurrentFrames=Module["__PyThread_CurrentFrames"]=wasmExports["_PyThread_CurrentFrames"];var __PyInterpreterState_GetEvalFrameFunc=Module["__PyInterpreterState_GetEvalFrameFunc"]=wasmExports["_PyInterpreterState_GetEvalFrameFunc"];var __PyInterpreterState_SetEvalFrameFunc=Module["__PyInterpreterState_SetEvalFrameFunc"]=wasmExports["_PyInterpreterState_SetEvalFrameFunc"];var __PyInterpreterState_GetConfigCopy=Module["__PyInterpreterState_GetConfigCopy"]=wasmExports["_PyInterpreterState_GetConfigCopy"];var _rewind=Module["_rewind"]=wasmExports["rewind"];var _PyRun_InteractiveLoopFlags=Module["_PyRun_InteractiveLoopFlags"]=wasmExports["PyRun_InteractiveLoopFlags"];var _PyRun_InteractiveOneObject=Module["_PyRun_InteractiveOneObject"]=wasmExports["PyRun_InteractiveOneObject"];var _PyRun_InteractiveOneFlags=Module["_PyRun_InteractiveOneFlags"]=wasmExports["PyRun_InteractiveOneFlags"];var _PyRun_SimpleFileExFlags=Module["_PyRun_SimpleFileExFlags"]=wasmExports["PyRun_SimpleFileExFlags"];var _PyRun_SimpleStringFlags=Module["_PyRun_SimpleStringFlags"]=wasmExports["PyRun_SimpleStringFlags"];var _PyErr_Display=Module["_PyErr_Display"]=wasmExports["PyErr_Display"];var _PyRun_FileExFlags=Module["_PyRun_FileExFlags"]=wasmExports["PyRun_FileExFlags"];var _Py_CompileStringExFlags=Module["_Py_CompileStringExFlags"]=wasmExports["Py_CompileStringExFlags"];var _PyRun_AnyFile=Module["_PyRun_AnyFile"]=wasmExports["PyRun_AnyFile"];var _PyRun_AnyFileEx=Module["_PyRun_AnyFileEx"]=wasmExports["PyRun_AnyFileEx"];var _PyRun_AnyFileFlags=Module["_PyRun_AnyFileFlags"]=wasmExports["PyRun_AnyFileFlags"];var _PyRun_File=Module["_PyRun_File"]=wasmExports["PyRun_File"];var _PyRun_FileEx=Module["_PyRun_FileEx"]=wasmExports["PyRun_FileEx"];var _PyRun_FileFlags=Module["_PyRun_FileFlags"]=wasmExports["PyRun_FileFlags"];var _PyRun_SimpleFile=Module["_PyRun_SimpleFile"]=wasmExports["PyRun_SimpleFile"];var _PyRun_SimpleFileEx=Module["_PyRun_SimpleFileEx"]=wasmExports["PyRun_SimpleFileEx"];var _PyRun_String=Module["_PyRun_String"]=wasmExports["PyRun_String"];var _PyRun_SimpleString=Module["_PyRun_SimpleString"]=wasmExports["PyRun_SimpleString"];var _Py_CompileString=Module["_Py_CompileString"]=wasmExports["Py_CompileString"];var _Py_CompileStringFlags=Module["_Py_CompileStringFlags"]=wasmExports["Py_CompileStringFlags"];var _PyRun_InteractiveOne=Module["_PyRun_InteractiveOne"]=wasmExports["PyRun_InteractiveOne"];var _PyRun_InteractiveLoop=Module["_PyRun_InteractiveLoop"]=wasmExports["PyRun_InteractiveLoop"];var __PyLong_AsTime_t=Module["__PyLong_AsTime_t"]=wasmExports["_PyLong_AsTime_t"];var __PyLong_FromTime_t=Module["__PyLong_FromTime_t"]=wasmExports["_PyLong_FromTime_t"];var __PyTime_ObjectToTime_t=Module["__PyTime_ObjectToTime_t"]=wasmExports["_PyTime_ObjectToTime_t"];var __PyTime_ObjectToTimespec=Module["__PyTime_ObjectToTimespec"]=wasmExports["_PyTime_ObjectToTimespec"];var __PyTime_ObjectToTimeval=Module["__PyTime_ObjectToTimeval"]=wasmExports["_PyTime_ObjectToTimeval"];var __PyTime_FromSeconds=Module["__PyTime_FromSeconds"]=wasmExports["_PyTime_FromSeconds"];var __PyTime_FromLong=Module["__PyTime_FromLong"]=wasmExports["_PyTime_FromLong"];var __PyTime_FromSecondsObject=Module["__PyTime_FromSecondsObject"]=wasmExports["_PyTime_FromSecondsObject"];var __PyTime_FromMillisecondsObject=Module["__PyTime_FromMillisecondsObject"]=wasmExports["_PyTime_FromMillisecondsObject"];var __PyTime_AsLong=Module["__PyTime_AsLong"]=wasmExports["_PyTime_AsLong"];var __PyTime_AsMilliseconds=Module["__PyTime_AsMilliseconds"]=wasmExports["_PyTime_AsMilliseconds"];var __PyTime_AsTimeval=Module["__PyTime_AsTimeval"]=wasmExports["_PyTime_AsTimeval"];var __PyTime_AsTimeval_clamp=Module["__PyTime_AsTimeval_clamp"]=wasmExports["_PyTime_AsTimeval_clamp"];var __PyTime_AsTimevalTime_t=Module["__PyTime_AsTimevalTime_t"]=wasmExports["_PyTime_AsTimevalTime_t"];var __PyTime_AsTimespec=Module["__PyTime_AsTimespec"]=wasmExports["_PyTime_AsTimespec"];var _PyTime_Time=Module["_PyTime_Time"]=wasmExports["PyTime_Time"];var _clock_getres=Module["_clock_getres"]=wasmExports["clock_getres"];var _PyTime_Monotonic=Module["_PyTime_Monotonic"]=wasmExports["PyTime_Monotonic"];var __PyTime_MonotonicWithInfo=Module["__PyTime_MonotonicWithInfo"]=wasmExports["_PyTime_MonotonicWithInfo"];var _PyTime_PerfCounter=Module["_PyTime_PerfCounter"]=wasmExports["PyTime_PerfCounter"];var __PyTime_localtime=Module["__PyTime_localtime"]=wasmExports["_PyTime_localtime"];var _localtime_r=Module["_localtime_r"]=wasmExports["localtime_r"];var __PyTime_gmtime=Module["__PyTime_gmtime"]=wasmExports["_PyTime_gmtime"];var _gmtime_r=Module["_gmtime_r"]=wasmExports["gmtime_r"];var __PyDeadline_Init=Module["__PyDeadline_Init"]=wasmExports["_PyDeadline_Init"];var _getentropy=Module["_getentropy"]=wasmExports["getentropy"];var __Py_open=Module["__Py_open"]=wasmExports["_Py_open"];var _close=Module["_close"]=wasmExports["close"];var __Py_fstat=Module["__Py_fstat"]=wasmExports["_Py_fstat"];var __Py_open_noraise=Module["__Py_open_noraise"]=wasmExports["_Py_open_noraise"];var __PyOS_URandomNonblock=Module["__PyOS_URandomNonblock"]=wasmExports["_PyOS_URandomNonblock"];var _PySys_AuditTuple=Module["_PySys_AuditTuple"]=wasmExports["PySys_AuditTuple"];var _PySys_AddAuditHook=Module["_PySys_AddAuditHook"]=wasmExports["PySys_AddAuditHook"];var __PySys_GetSizeOf=Module["__PySys_GetSizeOf"]=wasmExports["_PySys_GetSizeOf"];var _PyUnstable_PerfMapState_Init=Module["_PyUnstable_PerfMapState_Init"]=wasmExports["PyUnstable_PerfMapState_Init"];var _getpid=Module["_getpid"]=wasmExports["getpid"];var _open=Module["_open"]=wasmExports["open"];var _fdopen=Module["_fdopen"]=wasmExports["fdopen"];var _PyUnstable_WritePerfMapEntry=Module["_PyUnstable_WritePerfMapEntry"]=wasmExports["PyUnstable_WritePerfMapEntry"];var _PyUnstable_PerfMapState_Fini=Module["_PyUnstable_PerfMapState_Fini"]=wasmExports["PyUnstable_PerfMapState_Fini"];var _PyUnstable_CopyPerfMapFile=Module["_PyUnstable_CopyPerfMapFile"]=wasmExports["PyUnstable_CopyPerfMapFile"];var _fopen=Module["_fopen"]=wasmExports["fopen"];var _PySys_ResetWarnOptions=Module["_PySys_ResetWarnOptions"]=wasmExports["PySys_ResetWarnOptions"];var _PySys_AddWarnOptionUnicode=Module["_PySys_AddWarnOptionUnicode"]=wasmExports["PySys_AddWarnOptionUnicode"];var _PySys_AddWarnOption=Module["_PySys_AddWarnOption"]=wasmExports["PySys_AddWarnOption"];var _PySys_HasWarnOptions=Module["_PySys_HasWarnOptions"]=wasmExports["PySys_HasWarnOptions"];var _PySys_AddXOption=Module["_PySys_AddXOption"]=wasmExports["PySys_AddXOption"];var _PySys_GetXOptions=Module["_PySys_GetXOptions"]=wasmExports["PySys_GetXOptions"];var _PyThread_GetInfo=Module["_PyThread_GetInfo"]=wasmExports["PyThread_GetInfo"];var _PySys_SetPath=Module["_PySys_SetPath"]=wasmExports["PySys_SetPath"];var _PySys_SetArgvEx=Module["_PySys_SetArgvEx"]=wasmExports["PySys_SetArgvEx"];var _PySys_SetArgv=Module["_PySys_SetArgv"]=wasmExports["PySys_SetArgv"];var _PySys_WriteStdout=Module["_PySys_WriteStdout"]=wasmExports["PySys_WriteStdout"];var _PySys_FormatStdout=Module["_PySys_FormatStdout"]=wasmExports["PySys_FormatStdout"];var _pthread_condattr_init=Module["_pthread_condattr_init"]=wasmExports["pthread_condattr_init"];var _pthread_condattr_setclock=Module["_pthread_condattr_setclock"]=wasmExports["pthread_condattr_setclock"];var _PyThread_start_joinable_thread=Module["_PyThread_start_joinable_thread"]=wasmExports["PyThread_start_joinable_thread"];var _pthread_attr_init=Module["_pthread_attr_init"]=wasmExports["pthread_attr_init"];var _pthread_attr_setstacksize=Module["_pthread_attr_setstacksize"]=wasmExports["pthread_attr_setstacksize"];var _pthread_attr_destroy=Module["_pthread_attr_destroy"]=wasmExports["pthread_attr_destroy"];var _pthread_create=Module["_pthread_create"]=wasmExports["pthread_create"];var _PyThread_start_new_thread=Module["_PyThread_start_new_thread"]=wasmExports["PyThread_start_new_thread"];var _pthread_detach=Module["_pthread_detach"]=wasmExports["pthread_detach"];var _PyThread_join_thread=Module["_PyThread_join_thread"]=wasmExports["PyThread_join_thread"];var _pthread_join=Module["_pthread_join"]=wasmExports["pthread_join"];var _PyThread_detach_thread=Module["_PyThread_detach_thread"]=wasmExports["PyThread_detach_thread"];var _pthread_self=Module["_pthread_self"]=wasmExports["pthread_self"];var _PyThread_acquire_lock_timed=Module["_PyThread_acquire_lock_timed"]=wasmExports["PyThread_acquire_lock_timed"];var _pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=wasmExports["pthread_mutex_trylock"];var _PyThread_create_key=Module["_PyThread_create_key"]=wasmExports["PyThread_create_key"];var _pthread_key_create=Module["_pthread_key_create"]=wasmExports["pthread_key_create"];var _pthread_key_delete=Module["_pthread_key_delete"]=wasmExports["pthread_key_delete"];var _PyThread_delete_key=Module["_PyThread_delete_key"]=wasmExports["PyThread_delete_key"];var _PyThread_delete_key_value=Module["_PyThread_delete_key_value"]=wasmExports["PyThread_delete_key_value"];var _pthread_setspecific=Module["_pthread_setspecific"]=wasmExports["pthread_setspecific"];var _PyThread_set_key_value=Module["_PyThread_set_key_value"]=wasmExports["PyThread_set_key_value"];var _PyThread_get_key_value=Module["_PyThread_get_key_value"]=wasmExports["PyThread_get_key_value"];var _pthread_getspecific=Module["_pthread_getspecific"]=wasmExports["pthread_getspecific"];var _PyThread_ReInitTLS=Module["_PyThread_ReInitTLS"]=wasmExports["PyThread_ReInitTLS"];var _PyThread_get_stacksize=Module["_PyThread_get_stacksize"]=wasmExports["PyThread_get_stacksize"];var _PyThread_set_stacksize=Module["_PyThread_set_stacksize"]=wasmExports["PyThread_set_stacksize"];var _PyThread_ParseTimeoutArg=Module["_PyThread_ParseTimeoutArg"]=wasmExports["PyThread_ParseTimeoutArg"];var _PyThread_acquire_lock_timed_with_retries=Module["_PyThread_acquire_lock_timed_with_retries"]=wasmExports["PyThread_acquire_lock_timed_with_retries"];var _PyThread_tss_alloc=Module["_PyThread_tss_alloc"]=wasmExports["PyThread_tss_alloc"];var _PyThread_tss_free=Module["_PyThread_tss_free"]=wasmExports["PyThread_tss_free"];var _confstr=Module["_confstr"]=wasmExports["confstr"];var __PyTraceback_Add=Module["__PyTraceback_Add"]=wasmExports["_PyTraceback_Add"];var _PyTraceMalloc_Track=Module["_PyTraceMalloc_Track"]=wasmExports["PyTraceMalloc_Track"];var _PyTraceMalloc_Untrack=Module["_PyTraceMalloc_Untrack"]=wasmExports["PyTraceMalloc_Untrack"];var __PyTraceMalloc_GetTraceback=Module["__PyTraceMalloc_GetTraceback"]=wasmExports["_PyTraceMalloc_GetTraceback"];var _PyOS_mystricmp=Module["_PyOS_mystricmp"]=wasmExports["PyOS_mystricmp"];var __Py_strhex=Module["__Py_strhex"]=wasmExports["_Py_strhex"];var __Py_strhex_bytes_with_sep=Module["__Py_strhex_bytes_with_sep"]=wasmExports["_Py_strhex_bytes_with_sep"];var _localeconv=Module["_localeconv"]=wasmExports["localeconv"];var _mbstowcs=Module["_mbstowcs"]=wasmExports["mbstowcs"];var _mbrtowc=Module["_mbrtowc"]=wasmExports["mbrtowc"];var _Py_EncodeLocale=Module["_Py_EncodeLocale"]=wasmExports["Py_EncodeLocale"];var _fstat=Module["_fstat"]=wasmExports["fstat"];var _stat=Module["_stat"]=wasmExports["stat"];var __Py_stat=Module["__Py_stat"]=wasmExports["_Py_stat"];var _fcntl=Module["_fcntl"]=wasmExports["fcntl"];var __Py_set_inheritable=Module["__Py_set_inheritable"]=wasmExports["_Py_set_inheritable"];var __Py_set_inheritable_async_safe=Module["__Py_set_inheritable_async_safe"]=wasmExports["_Py_set_inheritable_async_safe"];var _wcstombs=Module["_wcstombs"]=wasmExports["wcstombs"];var _write=Module["_write"]=wasmExports["write"];var _readlink=Module["_readlink"]=wasmExports["readlink"];var _realpath=Module["_realpath"]=wasmExports["realpath"];var _getcwd=Module["_getcwd"]=wasmExports["getcwd"];var __Py_normpath=Module["__Py_normpath"]=wasmExports["_Py_normpath"];var __Py_dup=Module["__Py_dup"]=wasmExports["_Py_dup"];var __Py_closerange=Module["__Py_closerange"]=wasmExports["_Py_closerange"];var _sysconf=Module["_sysconf"]=wasmExports["sysconf"];var __Py_UTF8_Edit_Cost=Module["__Py_UTF8_Edit_Cost"]=wasmExports["_Py_UTF8_Edit_Cost"];var _PyUnstable_PerfTrampoline_CompileCode=Module["_PyUnstable_PerfTrampoline_CompileCode"]=wasmExports["PyUnstable_PerfTrampoline_CompileCode"];var _PyUnstable_PerfTrampoline_SetPersistAfterFork=Module["_PyUnstable_PerfTrampoline_SetPersistAfterFork"]=wasmExports["PyUnstable_PerfTrampoline_SetPersistAfterFork"];var _dlopen=Module["_dlopen"]=wasmExports["dlopen"];var _dlerror=Module["_dlerror"]=wasmExports["dlerror"];var _dlsym=Module["_dlsym"]=wasmExports["dlsym"];var _PyErr_SetInterruptEx=Module["_PyErr_SetInterruptEx"]=wasmExports["PyErr_SetInterruptEx"];var _PyInit__ctypes=Module["_PyInit__ctypes"]=wasmExports["PyInit__ctypes"];var _PyInit__posixsubprocess=Module["_PyInit__posixsubprocess"]=wasmExports["PyInit__posixsubprocess"];var _PyInit__bz2=Module["_PyInit__bz2"]=wasmExports["PyInit__bz2"];var _PyInit_zlib=Module["_PyInit_zlib"]=wasmExports["PyInit_zlib"];var _PyInit_array=Module["_PyInit_array"]=wasmExports["PyInit_array"];var _PyInit__asyncio=Module["_PyInit__asyncio"]=wasmExports["PyInit__asyncio"];var _PyInit__bisect=Module["_PyInit__bisect"]=wasmExports["PyInit__bisect"];var _PyInit__contextvars=Module["_PyInit__contextvars"]=wasmExports["PyInit__contextvars"];var _PyInit__csv=Module["_PyInit__csv"]=wasmExports["PyInit__csv"];var _PyInit__heapq=Module["_PyInit__heapq"]=wasmExports["PyInit__heapq"];var _PyInit__json=Module["_PyInit__json"]=wasmExports["PyInit__json"];var _PyInit__lsprof=Module["_PyInit__lsprof"]=wasmExports["PyInit__lsprof"];var _PyInit__opcode=Module["_PyInit__opcode"]=wasmExports["PyInit__opcode"];var _PyInit__pickle=Module["_PyInit__pickle"]=wasmExports["PyInit__pickle"];var _PyInit__queue=Module["_PyInit__queue"]=wasmExports["PyInit__queue"];var _PyInit__random=Module["_PyInit__random"]=wasmExports["PyInit__random"];var _PyInit__struct=Module["_PyInit__struct"]=wasmExports["PyInit__struct"];var _PyInit__zoneinfo=Module["_PyInit__zoneinfo"]=wasmExports["PyInit__zoneinfo"];var _PyInit_math=Module["_PyInit_math"]=wasmExports["PyInit_math"];var _PyInit_cmath=Module["_PyInit_cmath"]=wasmExports["PyInit_cmath"];var _PyInit__statistics=Module["_PyInit__statistics"]=wasmExports["PyInit__statistics"];var _PyInit__datetime=Module["_PyInit__datetime"]=wasmExports["PyInit__datetime"];var _PyInit__decimal=Module["_PyInit__decimal"]=wasmExports["PyInit__decimal"];var _PyInit_binascii=Module["_PyInit_binascii"]=wasmExports["PyInit_binascii"];var _PyInit__md5=Module["_PyInit__md5"]=wasmExports["PyInit__md5"];var _PyInit__sha1=Module["_PyInit__sha1"]=wasmExports["PyInit__sha1"];var _PyInit__sha2=Module["_PyInit__sha2"]=wasmExports["PyInit__sha2"];var _PyInit__sha3=Module["_PyInit__sha3"]=wasmExports["PyInit__sha3"];var _PyInit__blake2=Module["_PyInit__blake2"]=wasmExports["PyInit__blake2"];var _PyInit_pyexpat=Module["_PyInit_pyexpat"]=wasmExports["PyInit_pyexpat"];var _PyInit__elementtree=Module["_PyInit__elementtree"]=wasmExports["PyInit__elementtree"];var _PyInit__codecs_cn=Module["_PyInit__codecs_cn"]=wasmExports["PyInit__codecs_cn"];var _PyInit__codecs_hk=Module["_PyInit__codecs_hk"]=wasmExports["PyInit__codecs_hk"];var _PyInit__codecs_iso2022=Module["_PyInit__codecs_iso2022"]=wasmExports["PyInit__codecs_iso2022"];var _PyInit__codecs_jp=Module["_PyInit__codecs_jp"]=wasmExports["PyInit__codecs_jp"];var _PyInit__codecs_kr=Module["_PyInit__codecs_kr"]=wasmExports["PyInit__codecs_kr"];var _PyInit__codecs_tw=Module["_PyInit__codecs_tw"]=wasmExports["PyInit__codecs_tw"];var _PyInit__multibytecodec=Module["_PyInit__multibytecodec"]=wasmExports["PyInit__multibytecodec"];var _PyInit_unicodedata=Module["_PyInit_unicodedata"]=wasmExports["PyInit_unicodedata"];var _PyInit_mmap=Module["_PyInit_mmap"]=wasmExports["PyInit_mmap"];var _PyInit_select=Module["_PyInit_select"]=wasmExports["PyInit_select"];var _PyInit__socket=Module["_PyInit__socket"]=wasmExports["PyInit__socket"];var _PyInit_atexit=Module["_PyInit_atexit"]=wasmExports["PyInit_atexit"];var _PyInit_faulthandler=Module["_PyInit_faulthandler"]=wasmExports["PyInit_faulthandler"];var _PyInit_posix=Module["_PyInit_posix"]=wasmExports["PyInit_posix"];var _PyInit__signal=Module["_PyInit__signal"]=wasmExports["PyInit__signal"];var _PyInit__tracemalloc=Module["_PyInit__tracemalloc"]=wasmExports["PyInit__tracemalloc"];var _PyInit__suggestions=Module["_PyInit__suggestions"]=wasmExports["PyInit__suggestions"];var _PyInit__codecs=Module["_PyInit__codecs"]=wasmExports["PyInit__codecs"];var _PyInit__collections=Module["_PyInit__collections"]=wasmExports["PyInit__collections"];var _PyInit_errno=Module["_PyInit_errno"]=wasmExports["PyInit_errno"];var _PyInit__io=Module["_PyInit__io"]=wasmExports["PyInit__io"];var _PyInit_itertools=Module["_PyInit_itertools"]=wasmExports["PyInit_itertools"];var _PyInit__sre=Module["_PyInit__sre"]=wasmExports["PyInit__sre"];var _PyInit__sysconfig=Module["_PyInit__sysconfig"]=wasmExports["PyInit__sysconfig"];var _PyInit__thread=Module["_PyInit__thread"]=wasmExports["PyInit__thread"];var _PyInit_time=Module["_PyInit_time"]=wasmExports["PyInit_time"];var _PyInit__typing=Module["_PyInit__typing"]=wasmExports["PyInit__typing"];var _PyInit__weakref=Module["_PyInit__weakref"]=wasmExports["PyInit__weakref"];var _PyInit__abc=Module["_PyInit__abc"]=wasmExports["PyInit__abc"];var _PyInit__functools=Module["_PyInit__functools"]=wasmExports["PyInit__functools"];var _PyInit__locale=Module["_PyInit__locale"]=wasmExports["PyInit__locale"];var _PyInit__operator=Module["_PyInit__operator"]=wasmExports["PyInit__operator"];var _PyInit__stat=Module["_PyInit__stat"]=wasmExports["PyInit__stat"];var _PyInit__symtable=Module["_PyInit__symtable"]=wasmExports["PyInit__symtable"];var _PyInit_gc=Module["_PyInit_gc"]=wasmExports["PyInit_gc"];var _Py_RunMain=Module["_Py_RunMain"]=wasmExports["Py_RunMain"];var _perror=Module["_perror"]=wasmExports["perror"];var _kill=Module["_kill"]=wasmExports["kill"];var _Py_Main=Module["_Py_Main"]=wasmExports["Py_Main"];var _Py_BytesMain=Module["_Py_BytesMain"]=wasmExports["Py_BytesMain"];var _strcat=Module["_strcat"]=wasmExports["strcat"];var _memmove=Module["_memmove"]=wasmExports["memmove"];var _memset=Module["_memset"]=wasmExports["memset"];var _ffi_closure_alloc=Module["_ffi_closure_alloc"]=wasmExports["ffi_closure_alloc"];var _ffi_prep_cif=Module["_ffi_prep_cif"]=wasmExports["ffi_prep_cif"];var _ffi_prep_closure_loc=Module["_ffi_prep_closure_loc"]=wasmExports["ffi_prep_closure_loc"];var _ffi_closure_free=Module["_ffi_closure_free"]=wasmExports["ffi_closure_free"];var _ffi_prep_cif_var=Module["_ffi_prep_cif_var"]=wasmExports["ffi_prep_cif_var"];var _ffi_call=Module["_ffi_call"]=wasmExports["ffi_call"];var _dlclose=Module["_dlclose"]=wasmExports["dlclose"];var ___extenddftf2=Module["___extenddftf2"]=wasmExports["__extenddftf2"];var ___trunctfdf2=Module["___trunctfdf2"]=wasmExports["__trunctfdf2"];var __Py_Gid_Converter=Module["__Py_Gid_Converter"]=wasmExports["_Py_Gid_Converter"];var __Py_Uid_Converter=Module["__Py_Uid_Converter"]=wasmExports["_Py_Uid_Converter"];var _PyOS_BeforeFork=Module["_PyOS_BeforeFork"]=wasmExports["PyOS_BeforeFork"];var _PyOS_AfterFork_Parent=Module["_PyOS_AfterFork_Parent"]=wasmExports["PyOS_AfterFork_Parent"];var _fork=Module["_fork"]=wasmExports["fork"];var _PyOS_AfterFork_Child=Module["_PyOS_AfterFork_Child"]=wasmExports["PyOS_AfterFork_Child"];var __exit=Module["__exit"]=wasmExports["_exit"];var _dup=Module["_dup"]=wasmExports["dup"];var _dup2=Module["_dup2"]=wasmExports["dup2"];var _chdir=Module["_chdir"]=wasmExports["chdir"];var _umask=Module["_umask"]=wasmExports["umask"];var __Py_RestoreSignals=Module["__Py_RestoreSignals"]=wasmExports["_Py_RestoreSignals"];var _setsid=Module["_setsid"]=wasmExports["setsid"];var _setpgid=Module["_setpgid"]=wasmExports["setpgid"];var _setregid=Module["_setregid"]=wasmExports["setregid"];var _setreuid=Module["_setreuid"]=wasmExports["setreuid"];var _execve=Module["_execve"]=wasmExports["execve"];var _execv=Module["_execv"]=wasmExports["execv"];var _opendir=Module["_opendir"]=wasmExports["opendir"];var _dirfd=Module["_dirfd"]=wasmExports["dirfd"];var _readdir=Module["_readdir"]=wasmExports["readdir"];var _closedir=Module["_closedir"]=wasmExports["closedir"];var _BZ2_bzCompressEnd=Module["_BZ2_bzCompressEnd"]=wasmExports["BZ2_bzCompressEnd"];var _BZ2_bzCompressInit=Module["_BZ2_bzCompressInit"]=wasmExports["BZ2_bzCompressInit"];var _BZ2_bzCompress=Module["_BZ2_bzCompress"]=wasmExports["BZ2_bzCompress"];var _BZ2_bzDecompressEnd=Module["_BZ2_bzDecompressEnd"]=wasmExports["BZ2_bzDecompressEnd"];var _BZ2_bzDecompressInit=Module["_BZ2_bzDecompressInit"]=wasmExports["BZ2_bzDecompressInit"];var _BZ2_bzDecompress=Module["_BZ2_bzDecompress"]=wasmExports["BZ2_bzDecompress"];var _adler32=Module["_adler32"]=wasmExports["adler32"];var _deflateInit2_=Module["_deflateInit2_"]=wasmExports["deflateInit2_"];var _deflateEnd=Module["_deflateEnd"]=wasmExports["deflateEnd"];var _deflate=Module["_deflate"]=wasmExports["deflate"];var _deflateSetDictionary=Module["_deflateSetDictionary"]=wasmExports["deflateSetDictionary"];var _crc32=Module["_crc32"]=wasmExports["crc32"];var _inflateInit2_=Module["_inflateInit2_"]=wasmExports["inflateInit2_"];var _inflateEnd=Module["_inflateEnd"]=wasmExports["inflateEnd"];var _inflate=Module["_inflate"]=wasmExports["inflate"];var _inflateSetDictionary=Module["_inflateSetDictionary"]=wasmExports["inflateSetDictionary"];var _zlibVersion=Module["_zlibVersion"]=wasmExports["zlibVersion"];var _deflateCopy=Module["_deflateCopy"]=wasmExports["deflateCopy"];var _inflateCopy=Module["_inflateCopy"]=wasmExports["inflateCopy"];var _acos=Module["_acos"]=wasmExports["acos"];var _acosh=Module["_acosh"]=wasmExports["acosh"];var _asin=Module["_asin"]=wasmExports["asin"];var _asinh=Module["_asinh"]=wasmExports["asinh"];var _atan=Module["_atan"]=wasmExports["atan"];var _atanh=Module["_atanh"]=wasmExports["atanh"];var _cbrt=Module["_cbrt"]=wasmExports["cbrt"];var _copysign=Module["_copysign"]=wasmExports["copysign"];var _cosh=Module["_cosh"]=wasmExports["cosh"];var _erf=Module["_erf"]=wasmExports["erf"];var _erfc=Module["_erfc"]=wasmExports["erfc"];var _exp2=Module["_exp2"]=wasmExports["exp2"];var _expm1=Module["_expm1"]=wasmExports["expm1"];var _fabs=Module["_fabs"]=wasmExports["fabs"];var _fma=Module["_fma"]=wasmExports["fma"];var _sinh=Module["_sinh"]=wasmExports["sinh"];var _sqrt=Module["_sqrt"]=wasmExports["sqrt"];var _tan=Module["_tan"]=wasmExports["tan"];var _tanh=Module["_tanh"]=wasmExports["tanh"];var _nextafter=Module["_nextafter"]=wasmExports["nextafter"];var _log1p=Module["_log1p"]=wasmExports["log1p"];var _log10=Module["_log10"]=wasmExports["log10"];var _log2=Module["_log2"]=wasmExports["log2"];var _explicit_bzero=Module["_explicit_bzero"]=wasmExports["explicit_bzero"];var _strncat=Module["_strncat"]=wasmExports["strncat"];var _mmap=Module["_mmap"]=wasmExports["mmap"];var _munmap=Module["_munmap"]=wasmExports["munmap"];var _msync=Module["_msync"]=wasmExports["msync"];var _madvise=Module["_madvise"]=wasmExports["madvise"];var _ftruncate=Module["_ftruncate"]=wasmExports["ftruncate"];var _mremap=Module["_mremap"]=wasmExports["mremap"];var _poll=Module["_poll"]=wasmExports["poll"];var _select=Module["_select"]=wasmExports["select"];var _inet_ntop=Module["_inet_ntop"]=wasmExports["inet_ntop"];var _gethostbyname=Module["_gethostbyname"]=wasmExports["gethostbyname"];var _gethostbyaddr=Module["_gethostbyaddr"]=wasmExports["gethostbyaddr"];var _gethostname=Module["_gethostname"]=wasmExports["gethostname"];var _getservbyname=Module["_getservbyname"]=wasmExports["getservbyname"];var _ntohs=wasmExports["ntohs"];var _htons=wasmExports["htons"];var _getservbyport=Module["_getservbyport"]=wasmExports["getservbyport"];var _ntohl=Module["_ntohl"]=wasmExports["ntohl"];var _htonl=wasmExports["htonl"];var _inet_aton=Module["_inet_aton"]=wasmExports["inet_aton"];var _inet_ntoa=Module["_inet_ntoa"]=wasmExports["inet_ntoa"];var _inet_pton=Module["_inet_pton"]=wasmExports["inet_pton"];var _gai_strerror=Module["_gai_strerror"]=wasmExports["gai_strerror"];var _freeaddrinfo=Module["_freeaddrinfo"]=wasmExports["freeaddrinfo"];var _if_nameindex=Module["_if_nameindex"]=wasmExports["if_nameindex"];var _if_freenameindex=Module["_if_freenameindex"]=wasmExports["if_freenameindex"];var _if_nametoindex=Module["_if_nametoindex"]=wasmExports["if_nametoindex"];var _if_indextoname=Module["_if_indextoname"]=wasmExports["if_indextoname"];var ___h_errno_location=Module["___h_errno_location"]=wasmExports["__h_errno_location"];var _hstrerror=Module["_hstrerror"]=wasmExports["hstrerror"];var _getsockname=Module["_getsockname"]=wasmExports["getsockname"];var _socket=Module["_socket"]=wasmExports["socket"];var _getsockopt=Module["_getsockopt"]=wasmExports["getsockopt"];var _bind=Module["_bind"]=wasmExports["bind"];var _getpeername=Module["_getpeername"]=wasmExports["getpeername"];var _listen=Module["_listen"]=wasmExports["listen"];var _setsockopt=Module["_setsockopt"]=wasmExports["setsockopt"];var _accept4=Module["_accept4"]=wasmExports["accept4"];var _accept=Module["_accept"]=wasmExports["accept"];var _connect=Module["_connect"]=wasmExports["connect"];var _recv=Module["_recv"]=wasmExports["recv"];var _recvfrom=Module["_recvfrom"]=wasmExports["recvfrom"];var _send=Module["_send"]=wasmExports["send"];var _sendto=Module["_sendto"]=wasmExports["sendto"];var _recvmsg=Module["_recvmsg"]=wasmExports["recvmsg"];var _sendmsg=Module["_sendmsg"]=wasmExports["sendmsg"];var _PyUnstable_AtExit=Module["_PyUnstable_AtExit"]=wasmExports["PyUnstable_AtExit"];var _getrlimit=Module["_getrlimit"]=wasmExports["getrlimit"];var _setrlimit=Module["_setrlimit"]=wasmExports["setrlimit"];var _raise=Module["_raise"]=wasmExports["raise"];var _sigfillset=Module["_sigfillset"]=wasmExports["sigfillset"];var _pthread_sigmask=Module["_pthread_sigmask"]=wasmExports["pthread_sigmask"];var _PyOS_AfterFork=Module["_PyOS_AfterFork"]=wasmExports["PyOS_AfterFork"];var __PyLong_FromGid=Module["__PyLong_FromGid"]=wasmExports["_PyLong_FromGid"];var _sigemptyset=Module["_sigemptyset"]=wasmExports["sigemptyset"];var _sigaddset=Module["_sigaddset"]=wasmExports["sigaddset"];var _access=Module["_access"]=wasmExports["access"];var _ttyname_r=Module["_ttyname_r"]=wasmExports["ttyname_r"];var _fchdir=Module["_fchdir"]=wasmExports["fchdir"];var _fchmod=Module["_fchmod"]=wasmExports["fchmod"];var _fchmodat=Module["_fchmodat"]=wasmExports["fchmodat"];var _chmod=Module["_chmod"]=wasmExports["chmod"];var _fchown=Module["_fchown"]=wasmExports["fchown"];var _fchownat=Module["_fchownat"]=wasmExports["fchownat"];var _chown=Module["_chown"]=wasmExports["chown"];var _chroot=Module["_chroot"]=wasmExports["chroot"];var _ctermid=Module["_ctermid"]=wasmExports["ctermid"];var _fdopendir=Module["_fdopendir"]=wasmExports["fdopendir"];var _rewinddir=Module["_rewinddir"]=wasmExports["rewinddir"];var _mkdirat=Module["_mkdirat"]=wasmExports["mkdirat"];var _mkdir=Module["_mkdir"]=wasmExports["mkdir"];var _getpriority=Module["_getpriority"]=wasmExports["getpriority"];var _readlinkat=Module["_readlinkat"]=wasmExports["readlinkat"];var _unlinkat=Module["_unlinkat"]=wasmExports["unlinkat"];var _rmdir=Module["_rmdir"]=wasmExports["rmdir"];var _symlink=Module["_symlink"]=wasmExports["symlink"];var _system=Module["_system"]=wasmExports["system"];var _uname=Module["_uname"]=wasmExports["uname"];var _futimesat=Module["_futimesat"]=wasmExports["futimesat"];var _futimens=Module["_futimens"]=wasmExports["futimens"];var _times=Module["_times"]=wasmExports["times"];var _fexecve=Module["_fexecve"]=wasmExports["fexecve"];var _posix_openpt=Module["_posix_openpt"]=wasmExports["posix_openpt"];var _grantpt=Module["_grantpt"]=wasmExports["grantpt"];var _unlockpt=Module["_unlockpt"]=wasmExports["unlockpt"];var _ptsname_r=Module["_ptsname_r"]=wasmExports["ptsname_r"];var _login_tty=Module["_login_tty"]=wasmExports["login_tty"];var _getgid=Module["_getgid"]=wasmExports["getgid"];var _getpgrp=Module["_getpgrp"]=wasmExports["getpgrp"];var _getppid=Module["_getppid"]=wasmExports["getppid"];var _getuid=Module["_getuid"]=wasmExports["getuid"];var _getlogin=Module["_getlogin"]=wasmExports["getlogin"];var _killpg=Module["_killpg"]=wasmExports["killpg"];var _setuid=Module["_setuid"]=wasmExports["setuid"];var _setgid=Module["_setgid"]=wasmExports["setgid"];var _getpgid=Module["_getpgid"]=wasmExports["getpgid"];var _setpgrp=Module["_setpgrp"]=wasmExports["setpgrp"];var _wait=Module["_wait"]=wasmExports["wait"];var _wait3=Module["_wait3"]=wasmExports["wait3"];var _wait4=Module["_wait4"]=wasmExports["wait4"];var _waitid=Module["_waitid"]=wasmExports["waitid"];var _waitpid=Module["_waitpid"]=wasmExports["waitpid"];var _getsid=Module["_getsid"]=wasmExports["getsid"];var _tcgetpgrp=Module["_tcgetpgrp"]=wasmExports["tcgetpgrp"];var _tcsetpgrp=Module["_tcsetpgrp"]=wasmExports["tcsetpgrp"];var _openat=Module["_openat"]=wasmExports["openat"];var _dup3=Module["_dup3"]=wasmExports["dup3"];var _lockf=Module["_lockf"]=wasmExports["lockf"];var _readv=Module["_readv"]=wasmExports["readv"];var _pread=Module["_pread"]=wasmExports["pread"];var _writev=Module["_writev"]=wasmExports["writev"];var _pwrite=Module["_pwrite"]=wasmExports["pwrite"];var _pipe=Module["_pipe"]=wasmExports["pipe"];var _truncate=Module["_truncate"]=wasmExports["truncate"];var _posix_fadvise=Module["_posix_fadvise"]=wasmExports["posix_fadvise"];var _unsetenv=Module["_unsetenv"]=wasmExports["unsetenv"];var _fsync=Module["_fsync"]=wasmExports["fsync"];var _sync=Module["_sync"]=wasmExports["sync"];var _fdatasync=Module["_fdatasync"]=wasmExports["fdatasync"];var _fstatvfs=Module["_fstatvfs"]=wasmExports["fstatvfs"];var _statvfs=Module["_statvfs"]=wasmExports["statvfs"];var _fpathconf=Module["_fpathconf"]=wasmExports["fpathconf"];var _pathconf=Module["_pathconf"]=wasmExports["pathconf"];var _getloadavg=Module["_getloadavg"]=wasmExports["getloadavg"];var _lstat=Module["_lstat"]=wasmExports["lstat"];var _fstatat=Module["_fstatat"]=wasmExports["fstatat"];var _renameat=Module["_renameat"]=wasmExports["renameat"];var _rename=Module["_rename"]=wasmExports["rename"];var _unlink=Module["_unlink"]=wasmExports["unlink"];var _utimes=Module["_utimes"]=wasmExports["utimes"];var _qsort=Module["_qsort"]=wasmExports["qsort"];var _PySignal_SetWakeupFd=Module["_PySignal_SetWakeupFd"]=wasmExports["PySignal_SetWakeupFd"];var __PyErr_CheckSignals=Module["__PyErr_CheckSignals"]=wasmExports["_PyErr_CheckSignals"];var _PyErr_SetInterrupt=Module["_PyErr_SetInterrupt"]=wasmExports["PyErr_SetInterrupt"];var _PyOS_InterruptOccurred=Module["_PyOS_InterruptOccurred"]=wasmExports["PyOS_InterruptOccurred"];var __PyOS_IsMainThread=Module["__PyOS_IsMainThread"]=wasmExports["_PyOS_IsMainThread"];var _getitimer=Module["_getitimer"]=wasmExports["getitimer"];var _strsignal=Module["_strsignal"]=wasmExports["strsignal"];var _pause=Module["_pause"]=wasmExports["pause"];var _sigpending=Module["_sigpending"]=wasmExports["sigpending"];var _sigwait=Module["_sigwait"]=wasmExports["sigwait"];var _sigwaitinfo=Module["_sigwaitinfo"]=wasmExports["sigwaitinfo"];var _sigtimedwait=Module["_sigtimedwait"]=wasmExports["sigtimedwait"];var _sigismember=Module["_sigismember"]=wasmExports["sigismember"];var ___libc_current_sigrtmin=Module["___libc_current_sigrtmin"]=wasmExports["__libc_current_sigrtmin"];var ___libc_current_sigrtmax=Module["___libc_current_sigrtmax"]=wasmExports["__libc_current_sigrtmax"];var _isalnum=Module["_isalnum"]=wasmExports["isalnum"];var _tolower=Module["_tolower"]=wasmExports["tolower"];var _toupper=Module["_toupper"]=wasmExports["toupper"];var _clock_settime=Module["_clock_settime"]=wasmExports["clock_settime"];var _pthread_getcpuclockid=Module["_pthread_getcpuclockid"]=wasmExports["pthread_getcpuclockid"];var _clock_nanosleep=Module["_clock_nanosleep"]=wasmExports["clock_nanosleep"];var _time=Module["_time"]=wasmExports["time"];var _mktime=Module["_mktime"]=wasmExports["mktime"];var _wcsftime=Module["_wcsftime"]=wasmExports["wcsftime"];var _clock=Module["_clock"]=wasmExports["clock"];var _wcscoll=Module["_wcscoll"]=wasmExports["wcscoll"];var _wcsxfrm=Module["_wcsxfrm"]=wasmExports["wcsxfrm"];var _gettext=Module["_gettext"]=wasmExports["gettext"];var _dgettext=Module["_dgettext"]=wasmExports["dgettext"];var _dcgettext=Module["_dcgettext"]=wasmExports["dcgettext"];var _textdomain=Module["_textdomain"]=wasmExports["textdomain"];var _bindtextdomain=Module["_bindtextdomain"]=wasmExports["bindtextdomain"];var _bind_textdomain_codeset=Module["_bind_textdomain_codeset"]=wasmExports["bind_textdomain_codeset"];var _gettimeofday=Module["_gettimeofday"]=wasmExports["gettimeofday"];var ___small_fprintf=Module["___small_fprintf"]=wasmExports["__small_fprintf"];var __Py_Get_Getpath_CodeObject=Module["__Py_Get_Getpath_CodeObject"]=wasmExports["_Py_Get_Getpath_CodeObject"];var _ffi_prep_closure=Module["_ffi_prep_closure"]=wasmExports["ffi_prep_closure"];var _ffi_get_struct_offsets=Module["_ffi_get_struct_offsets"]=wasmExports["ffi_get_struct_offsets"];var _ffi_java_raw_size=Module["_ffi_java_raw_size"]=wasmExports["ffi_java_raw_size"];var _ffi_java_raw_to_ptrarray=Module["_ffi_java_raw_to_ptrarray"]=wasmExports["ffi_java_raw_to_ptrarray"];var _ffi_java_ptrarray_to_raw=Module["_ffi_java_ptrarray_to_raw"]=wasmExports["ffi_java_ptrarray_to_raw"];var _ffi_java_raw_call=Module["_ffi_java_raw_call"]=wasmExports["ffi_java_raw_call"];var _ffi_prep_java_raw_closure_loc=Module["_ffi_prep_java_raw_closure_loc"]=wasmExports["ffi_prep_java_raw_closure_loc"];var _ffi_prep_java_raw_closure=Module["_ffi_prep_java_raw_closure"]=wasmExports["ffi_prep_java_raw_closure"];var _ffi_tramp_is_supported=Module["_ffi_tramp_is_supported"]=wasmExports["ffi_tramp_is_supported"];var _ffi_tramp_alloc=Module["_ffi_tramp_alloc"]=wasmExports["ffi_tramp_alloc"];var _ffi_tramp_set_parms=Module["_ffi_tramp_set_parms"]=wasmExports["ffi_tramp_set_parms"];var _ffi_tramp_get_addr=Module["_ffi_tramp_get_addr"]=wasmExports["ffi_tramp_get_addr"];var _ffi_tramp_free=Module["_ffi_tramp_free"]=wasmExports["ffi_tramp_free"];var __hiwire_immortal_add=Module["__hiwire_immortal_add"]=wasmExports["_hiwire_immortal_add"];var __hiwire_immortal_get=Module["__hiwire_immortal_get"]=wasmExports["_hiwire_immortal_get"];var __hiwire_get=Module["__hiwire_get"]=wasmExports["_hiwire_get"];var __hiwire_set=Module["__hiwire_set"]=wasmExports["_hiwire_set"];var _hiwire_num_refs=Module["_hiwire_num_refs"]=wasmExports["hiwire_num_refs"];var __hiwire_slot_info=Module["__hiwire_slot_info"]=wasmExports["_hiwire_slot_info"];var __hiwire_delete=Module["__hiwire_delete"]=wasmExports["_hiwire_delete"];var __hiwire_immortal_table_init=Module["__hiwire_immortal_table_init"]=wasmExports["_hiwire_immortal_table_init"];var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=wasmExports["emscripten_GetProcAddress"];var _emscripten_webgl1_get_proc_address=Module["_emscripten_webgl1_get_proc_address"]=wasmExports["emscripten_webgl1_get_proc_address"];var __webgl1_match_ext_proc_address_without_suffix=Module["__webgl1_match_ext_proc_address_without_suffix"]=wasmExports["_webgl1_match_ext_proc_address_without_suffix"];var _emscripten_webgl2_get_proc_address=Module["_emscripten_webgl2_get_proc_address"]=wasmExports["emscripten_webgl2_get_proc_address"];var __webgl2_match_ext_proc_address_without_suffix=Module["__webgl2_match_ext_proc_address_without_suffix"]=wasmExports["_webgl2_match_ext_proc_address_without_suffix"];var _emscripten_webgl_get_proc_address=Module["_emscripten_webgl_get_proc_address"]=wasmExports["emscripten_webgl_get_proc_address"];var _SDL_GL_GetProcAddress=Module["_SDL_GL_GetProcAddress"]=wasmExports["SDL_GL_GetProcAddress"];var _eglGetProcAddress=Module["_eglGetProcAddress"]=wasmExports["eglGetProcAddress"];var _glfwGetProcAddress=Module["_glfwGetProcAddress"]=wasmExports["glfwGetProcAddress"];var _emscripten_webgl_init_context_attributes=Module["_emscripten_webgl_init_context_attributes"]=wasmExports["emscripten_webgl_init_context_attributes"];var _emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=wasmExports["emscripten_is_main_runtime_thread"];var _BZ2_blockSort=Module["_BZ2_blockSort"]=wasmExports["BZ2_blockSort"];var _BZ2_bz__AssertH__fail=Module["_BZ2_bz__AssertH__fail"]=wasmExports["BZ2_bz__AssertH__fail"];var _BZ2_bzlibVersion=Module["_BZ2_bzlibVersion"]=wasmExports["BZ2_bzlibVersion"];var _BZ2_compressBlock=Module["_BZ2_compressBlock"]=wasmExports["BZ2_compressBlock"];var _BZ2_indexIntoF=Module["_BZ2_indexIntoF"]=wasmExports["BZ2_indexIntoF"];var _BZ2_decompress=Module["_BZ2_decompress"]=wasmExports["BZ2_decompress"];var _BZ2_bzWriteOpen=Module["_BZ2_bzWriteOpen"]=wasmExports["BZ2_bzWriteOpen"];var _BZ2_bzWrite=Module["_BZ2_bzWrite"]=wasmExports["BZ2_bzWrite"];var _BZ2_bzWriteClose=Module["_BZ2_bzWriteClose"]=wasmExports["BZ2_bzWriteClose"];var _BZ2_bzWriteClose64=Module["_BZ2_bzWriteClose64"]=wasmExports["BZ2_bzWriteClose64"];var _BZ2_bzReadOpen=Module["_BZ2_bzReadOpen"]=wasmExports["BZ2_bzReadOpen"];var _BZ2_bzReadClose=Module["_BZ2_bzReadClose"]=wasmExports["BZ2_bzReadClose"];var _BZ2_bzRead=Module["_BZ2_bzRead"]=wasmExports["BZ2_bzRead"];var _fgetc=Module["_fgetc"]=wasmExports["fgetc"];var _BZ2_bzReadGetUnused=Module["_BZ2_bzReadGetUnused"]=wasmExports["BZ2_bzReadGetUnused"];var _BZ2_bzBuffToBuffCompress=Module["_BZ2_bzBuffToBuffCompress"]=wasmExports["BZ2_bzBuffToBuffCompress"];var _BZ2_bzBuffToBuffDecompress=Module["_BZ2_bzBuffToBuffDecompress"]=wasmExports["BZ2_bzBuffToBuffDecompress"];var _BZ2_bzopen=Module["_BZ2_bzopen"]=wasmExports["BZ2_bzopen"];var _BZ2_bzdopen=Module["_BZ2_bzdopen"]=wasmExports["BZ2_bzdopen"];var _BZ2_bzread=Module["_BZ2_bzread"]=wasmExports["BZ2_bzread"];var _BZ2_bzwrite=Module["_BZ2_bzwrite"]=wasmExports["BZ2_bzwrite"];var _BZ2_bzflush=Module["_BZ2_bzflush"]=wasmExports["BZ2_bzflush"];var _BZ2_bzclose=Module["_BZ2_bzclose"]=wasmExports["BZ2_bzclose"];var _BZ2_bzerror=Module["_BZ2_bzerror"]=wasmExports["BZ2_bzerror"];var _BZ2_bsInitWrite=Module["_BZ2_bsInitWrite"]=wasmExports["BZ2_bsInitWrite"];var _BZ2_hbMakeCodeLengths=Module["_BZ2_hbMakeCodeLengths"]=wasmExports["BZ2_hbMakeCodeLengths"];var _BZ2_hbAssignCodes=Module["_BZ2_hbAssignCodes"]=wasmExports["BZ2_hbAssignCodes"];var _BZ2_hbCreateDecodeTables=Module["_BZ2_hbCreateDecodeTables"]=wasmExports["BZ2_hbCreateDecodeTables"];var _adler32_z=Module["_adler32_z"]=wasmExports["adler32_z"];var _adler32_combine=Module["_adler32_combine"]=wasmExports["adler32_combine"];var _adler32_combine64=Module["_adler32_combine64"]=wasmExports["adler32_combine64"];var _compress2=Module["_compress2"]=wasmExports["compress2"];var _deflateInit_=Module["_deflateInit_"]=wasmExports["deflateInit_"];var _compress=Module["_compress"]=wasmExports["compress"];var _compressBound=Module["_compressBound"]=wasmExports["compressBound"];var _get_crc_table=Module["_get_crc_table"]=wasmExports["get_crc_table"];var _crc32_z=Module["_crc32_z"]=wasmExports["crc32_z"];var _crc32_combine64=Module["_crc32_combine64"]=wasmExports["crc32_combine64"];var _crc32_combine=Module["_crc32_combine"]=wasmExports["crc32_combine"];var _crc32_combine_gen64=Module["_crc32_combine_gen64"]=wasmExports["crc32_combine_gen64"];var _crc32_combine_gen=Module["_crc32_combine_gen"]=wasmExports["crc32_combine_gen"];var _crc32_combine_op=Module["_crc32_combine_op"]=wasmExports["crc32_combine_op"];var _zcalloc=Module["_zcalloc"]=wasmExports["zcalloc"];var _zcfree=Module["_zcfree"]=wasmExports["zcfree"];var _deflateReset=Module["_deflateReset"]=wasmExports["deflateReset"];var _deflateResetKeep=Module["_deflateResetKeep"]=wasmExports["deflateResetKeep"];var _deflateGetDictionary=Module["_deflateGetDictionary"]=wasmExports["deflateGetDictionary"];var __tr_init=Module["__tr_init"]=wasmExports["_tr_init"];var _deflateSetHeader=Module["_deflateSetHeader"]=wasmExports["deflateSetHeader"];var _deflatePending=Module["_deflatePending"]=wasmExports["deflatePending"];var _deflatePrime=Module["_deflatePrime"]=wasmExports["deflatePrime"];var __tr_flush_bits=Module["__tr_flush_bits"]=wasmExports["_tr_flush_bits"];var _deflateParams=Module["_deflateParams"]=wasmExports["deflateParams"];var __tr_align=Module["__tr_align"]=wasmExports["_tr_align"];var __tr_stored_block=Module["__tr_stored_block"]=wasmExports["_tr_stored_block"];var _deflateTune=Module["_deflateTune"]=wasmExports["deflateTune"];var _deflateBound=Module["_deflateBound"]=wasmExports["deflateBound"];var __tr_flush_block=Module["__tr_flush_block"]=wasmExports["_tr_flush_block"];var _gzclose=Module["_gzclose"]=wasmExports["gzclose"];var _gzclose_r=Module["_gzclose_r"]=wasmExports["gzclose_r"];var _gzclose_w=Module["_gzclose_w"]=wasmExports["gzclose_w"];var _gzopen=Module["_gzopen"]=wasmExports["gzopen"];var _gzopen64=Module["_gzopen64"]=wasmExports["gzopen64"];var _gzdopen=Module["_gzdopen"]=wasmExports["gzdopen"];var _gzbuffer=Module["_gzbuffer"]=wasmExports["gzbuffer"];var _gzrewind=Module["_gzrewind"]=wasmExports["gzrewind"];var _gzseek64=Module["_gzseek64"]=wasmExports["gzseek64"];var _gz_error=Module["_gz_error"]=wasmExports["gz_error"];var _gzseek=Module["_gzseek"]=wasmExports["gzseek"];var _gztell64=Module["_gztell64"]=wasmExports["gztell64"];var _gztell=Module["_gztell"]=wasmExports["gztell"];var _gzoffset64=Module["_gzoffset64"]=wasmExports["gzoffset64"];var _gzoffset=Module["_gzoffset"]=wasmExports["gzoffset"];var _gzeof=Module["_gzeof"]=wasmExports["gzeof"];var _gzerror=Module["_gzerror"]=wasmExports["gzerror"];var _gzclearerr=Module["_gzclearerr"]=wasmExports["gzclearerr"];var _gz_intmax=Module["_gz_intmax"]=wasmExports["gz_intmax"];var _gzread=Module["_gzread"]=wasmExports["gzread"];var _gzfread=Module["_gzfread"]=wasmExports["gzfread"];var _gzgetc=Module["_gzgetc"]=wasmExports["gzgetc"];var _gzgetc_=Module["_gzgetc_"]=wasmExports["gzgetc_"];var _gzungetc=Module["_gzungetc"]=wasmExports["gzungetc"];var _inflateReset=Module["_inflateReset"]=wasmExports["inflateReset"];var _gzgets=Module["_gzgets"]=wasmExports["gzgets"];var _gzdirect=Module["_gzdirect"]=wasmExports["gzdirect"];var _gzwrite=Module["_gzwrite"]=wasmExports["gzwrite"];var _gzfwrite=Module["_gzfwrite"]=wasmExports["gzfwrite"];var _gzputc=Module["_gzputc"]=wasmExports["gzputc"];var _gzputs=Module["_gzputs"]=wasmExports["gzputs"];var _gzvprintf=Module["_gzvprintf"]=wasmExports["gzvprintf"];var _gzprintf=Module["_gzprintf"]=wasmExports["gzprintf"];var _gzflush=Module["_gzflush"]=wasmExports["gzflush"];var _gzsetparams=Module["_gzsetparams"]=wasmExports["gzsetparams"];var _inflateBackInit_=Module["_inflateBackInit_"]=wasmExports["inflateBackInit_"];var _inflateBack=Module["_inflateBack"]=wasmExports["inflateBack"];var _inflate_table=Module["_inflate_table"]=wasmExports["inflate_table"];var _inflate_fast=Module["_inflate_fast"]=wasmExports["inflate_fast"];var _inflateBackEnd=Module["_inflateBackEnd"]=wasmExports["inflateBackEnd"];var _inflateResetKeep=Module["_inflateResetKeep"]=wasmExports["inflateResetKeep"];var _inflateReset2=Module["_inflateReset2"]=wasmExports["inflateReset2"];var _inflateInit_=Module["_inflateInit_"]=wasmExports["inflateInit_"];var _inflatePrime=Module["_inflatePrime"]=wasmExports["inflatePrime"];var _inflateGetDictionary=Module["_inflateGetDictionary"]=wasmExports["inflateGetDictionary"];var _inflateGetHeader=Module["_inflateGetHeader"]=wasmExports["inflateGetHeader"];var _inflateSync=Module["_inflateSync"]=wasmExports["inflateSync"];var _inflateSyncPoint=Module["_inflateSyncPoint"]=wasmExports["inflateSyncPoint"];var _inflateUndermine=Module["_inflateUndermine"]=wasmExports["inflateUndermine"];var _inflateValidate=Module["_inflateValidate"]=wasmExports["inflateValidate"];var _inflateMark=Module["_inflateMark"]=wasmExports["inflateMark"];var _inflateCodesUsed=Module["_inflateCodesUsed"]=wasmExports["inflateCodesUsed"];var __tr_tally=Module["__tr_tally"]=wasmExports["_tr_tally"];var _uncompress2=Module["_uncompress2"]=wasmExports["uncompress2"];var _uncompress=Module["_uncompress"]=wasmExports["uncompress"];var _zlibCompileFlags=Module["_zlibCompileFlags"]=wasmExports["zlibCompileFlags"];var _zError=Module["_zError"]=wasmExports["zError"];var _getdate=Module["_getdate"]=wasmExports["getdate"];var _stime=Module["_stime"]=wasmExports["stime"];var _clock_getcpuclockid=Module["_clock_getcpuclockid"]=wasmExports["clock_getcpuclockid"];var _getpwnam=Module["_getpwnam"]=wasmExports["getpwnam"];var _getpwuid=Module["_getpwuid"]=wasmExports["getpwuid"];var _getpwnam_r=Module["_getpwnam_r"]=wasmExports["getpwnam_r"];var _getpwuid_r=Module["_getpwuid_r"]=wasmExports["getpwuid_r"];var _setpwent=Module["_setpwent"]=wasmExports["setpwent"];var _endpwent=Module["_endpwent"]=wasmExports["endpwent"];var _getpwent=Module["_getpwent"]=wasmExports["getpwent"];var _getgrnam=Module["_getgrnam"]=wasmExports["getgrnam"];var _getgrgid=Module["_getgrgid"]=wasmExports["getgrgid"];var _getgrnam_r=Module["_getgrnam_r"]=wasmExports["getgrnam_r"];var _getgrgid_r=Module["_getgrgid_r"]=wasmExports["getgrgid_r"];var _getgrent=Module["_getgrent"]=wasmExports["getgrent"];var _endgrent=Module["_endgrent"]=wasmExports["endgrent"];var _setgrent=Module["_setgrent"]=wasmExports["setgrent"];var _flock=Module["_flock"]=wasmExports["flock"];var _vfork=Module["_vfork"]=wasmExports["vfork"];var _posix_spawn=Module["_posix_spawn"]=wasmExports["posix_spawn"];var _popen=Module["_popen"]=wasmExports["popen"];var _pclose=Module["_pclose"]=wasmExports["pclose"];var _setgroups=Module["_setgroups"]=wasmExports["setgroups"];var _sigaltstack=Module["_sigaltstack"]=wasmExports["sigaltstack"];var ___syscall_uname=Module["___syscall_uname"]=wasmExports["__syscall_uname"];var ___syscall_setpgid=Module["___syscall_setpgid"]=wasmExports["__syscall_setpgid"];var ___syscall_sync=Module["___syscall_sync"]=wasmExports["__syscall_sync"];var ___syscall_getsid=Module["___syscall_getsid"]=wasmExports["__syscall_getsid"];var ___syscall_getpgid=Module["___syscall_getpgid"]=wasmExports["__syscall_getpgid"];var ___syscall_getpid=Module["___syscall_getpid"]=wasmExports["__syscall_getpid"];var ___syscall_getppid=Module["___syscall_getppid"]=wasmExports["__syscall_getppid"];var ___syscall_linkat=Module["___syscall_linkat"]=wasmExports["__syscall_linkat"];var ___syscall_getgroups32=Module["___syscall_getgroups32"]=wasmExports["__syscall_getgroups32"];var ___syscall_setsid=Module["___syscall_setsid"]=wasmExports["__syscall_setsid"];var ___syscall_umask=Module["___syscall_umask"]=wasmExports["__syscall_umask"];var ___syscall_getrusage=Module["___syscall_getrusage"]=wasmExports["__syscall_getrusage"];var ___syscall_getpriority=Module["___syscall_getpriority"]=wasmExports["__syscall_getpriority"];var ___syscall_setpriority=Module["___syscall_setpriority"]=wasmExports["__syscall_setpriority"];var ___syscall_setdomainname=Module["___syscall_setdomainname"]=wasmExports["__syscall_setdomainname"];var ___syscall_getuid32=Module["___syscall_getuid32"]=wasmExports["__syscall_getuid32"];var ___syscall_getgid32=Module["___syscall_getgid32"]=wasmExports["__syscall_getgid32"];var ___syscall_geteuid32=Module["___syscall_geteuid32"]=wasmExports["__syscall_geteuid32"];var ___syscall_getegid32=Module["___syscall_getegid32"]=wasmExports["__syscall_getegid32"];var ___syscall_getresuid32=Module["___syscall_getresuid32"]=wasmExports["__syscall_getresuid32"];var ___syscall_getresgid32=Module["___syscall_getresgid32"]=wasmExports["__syscall_getresgid32"];var ___syscall_pause=Module["___syscall_pause"]=wasmExports["__syscall_pause"];var ___syscall_madvise=Module["___syscall_madvise"]=wasmExports["__syscall_madvise"];var ___syscall_mlock=Module["___syscall_mlock"]=wasmExports["__syscall_mlock"];var ___syscall_munlock=Module["___syscall_munlock"]=wasmExports["__syscall_munlock"];var ___syscall_mprotect=Module["___syscall_mprotect"]=wasmExports["__syscall_mprotect"];var ___syscall_mremap=Module["___syscall_mremap"]=wasmExports["__syscall_mremap"];var ___syscall_mlockall=Module["___syscall_mlockall"]=wasmExports["__syscall_mlockall"];var ___syscall_munlockall=Module["___syscall_munlockall"]=wasmExports["__syscall_munlockall"];var ___syscall_prlimit64=Module["___syscall_prlimit64"]=wasmExports["__syscall_prlimit64"];var _emscripten_stack_get_end=Module["_emscripten_stack_get_end"]=wasmExports["emscripten_stack_get_end"];var _emscripten_stack_get_base=Module["_emscripten_stack_get_base"]=wasmExports["emscripten_stack_get_base"];var ___syscall_setsockopt=Module["___syscall_setsockopt"]=wasmExports["__syscall_setsockopt"];var ___syscall_acct=Module["___syscall_acct"]=wasmExports["__syscall_acct"];var ___syscall_mincore=Module["___syscall_mincore"]=wasmExports["__syscall_mincore"];var ___syscall_pipe2=Module["___syscall_pipe2"]=wasmExports["__syscall_pipe2"];var ___syscall_pselect6=Module["___syscall_pselect6"]=wasmExports["__syscall_pselect6"];var ___syscall_recvmmsg=Module["___syscall_recvmmsg"]=wasmExports["__syscall_recvmmsg"];var ___syscall_sendmmsg=Module["___syscall_sendmmsg"]=wasmExports["__syscall_sendmmsg"];var ___syscall_shutdown=Module["___syscall_shutdown"]=wasmExports["__syscall_shutdown"];var ___syscall_socketpair=Module["___syscall_socketpair"]=wasmExports["__syscall_socketpair"];var ___syscall_wait4=Module["___syscall_wait4"]=wasmExports["__syscall_wait4"];var _cosf=Module["_cosf"]=wasmExports["cosf"];var _sinf=Module["_sinf"]=wasmExports["sinf"];var _expf=Module["_expf"]=wasmExports["expf"];var ___multf3=Module["___multf3"]=wasmExports["__multf3"];var ___addtf3=Module["___addtf3"]=wasmExports["__addtf3"];var ___subtf3=Module["___subtf3"]=wasmExports["__subtf3"];var ___ctype_b_loc=Module["___ctype_b_loc"]=wasmExports["__ctype_b_loc"];var ___ctype_get_mb_cur_max=Module["___ctype_get_mb_cur_max"]=wasmExports["__ctype_get_mb_cur_max"];var ___get_tp=Module["___get_tp"]=wasmExports["__get_tp"];var ___ctype_tolower_loc=Module["___ctype_tolower_loc"]=wasmExports["__ctype_tolower_loc"];var ___ctype_toupper_loc=Module["___ctype_toupper_loc"]=wasmExports["__ctype_toupper_loc"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=wasmExports["__emscripten_environ_constructor"];var _emscripten_builtin_malloc=Module["_emscripten_builtin_malloc"]=wasmExports["emscripten_builtin_malloc"];var ___flt_rounds=Module["___flt_rounds"]=wasmExports["__flt_rounds"];var _fegetround=Module["_fegetround"]=wasmExports["fegetround"];var ___fmodeflags=Module["___fmodeflags"]=wasmExports["__fmodeflags"];var ___fpclassify=Module["___fpclassify"]=wasmExports["__fpclassify"];var ___fpclassifyf=Module["___fpclassifyf"]=wasmExports["__fpclassifyf"];var ___fpclassifyl=Module["___fpclassifyl"]=wasmExports["__fpclassifyl"];var ___divtf3=Module["___divtf3"]=wasmExports["__divtf3"];var ___mo_lookup=Module["___mo_lookup"]=wasmExports["__mo_lookup"];var ___month_to_secs=Module["___month_to_secs"]=wasmExports["__month_to_secs"];var ___overflow=Module["___overflow"]=wasmExports["__overflow"];var _scalbn=Module["_scalbn"]=wasmExports["scalbn"];var _floor=Module["_floor"]=wasmExports["floor"];var ___lttf2=Module["___lttf2"]=wasmExports["__lttf2"];var ___fixtfdi=Module["___fixtfdi"]=wasmExports["__fixtfdi"];var ___gttf2=Module["___gttf2"]=wasmExports["__gttf2"];var ___fixtfsi=Module["___fixtfsi"]=wasmExports["__fixtfsi"];var ___floatsitf=Module["___floatsitf"]=wasmExports["__floatsitf"];var ___signbit=Module["___signbit"]=wasmExports["__signbit"];var ___signbitf=Module["___signbitf"]=wasmExports["__signbitf"];var ___signbitl=Module["___signbitl"]=wasmExports["__signbitl"];var _memcpy=wasmExports["memcpy"];var ___stack_chk_fail=Module["___stack_chk_fail"]=wasmExports["__stack_chk_fail"];var ___wasi_syscall_ret=Module["___wasi_syscall_ret"]=wasmExports["__wasi_syscall_ret"];var ___synccall=Module["___synccall"]=wasmExports["__synccall"];var _fabsl=Module["_fabsl"]=wasmExports["fabsl"];var ___getf2=Module["___getf2"]=wasmExports["__getf2"];var ___year_to_secs=Module["___year_to_secs"]=wasmExports["__year_to_secs"];var ___lock=Module["___lock"]=wasmExports["__lock"];var ___unlock=Module["___unlock"]=wasmExports["__unlock"];var _tzset=Module["_tzset"]=wasmExports["tzset"];var ___uflow=Module["___uflow"]=wasmExports["__uflow"];var ___fxstat=Module["___fxstat"]=wasmExports["__fxstat"];var ___fxstatat=Module["___fxstatat"]=wasmExports["__fxstatat"];var ___lxstat=Module["___lxstat"]=wasmExports["__lxstat"];var ___xstat=Module["___xstat"]=wasmExports["__xstat"];var ___xmknod=Module["___xmknod"]=wasmExports["__xmknod"];var _mknod=Module["_mknod"]=wasmExports["mknod"];var ___xmknodat=Module["___xmknodat"]=wasmExports["__xmknodat"];var _mknodat=Module["_mknodat"]=wasmExports["mknodat"];var __Exit=Module["__Exit"]=wasmExports["_Exit"];var _a64l=Module["_a64l"]=wasmExports["a64l"];var _l64a=Module["_l64a"]=wasmExports["l64a"];var _abs=Module["_abs"]=wasmExports["abs"];var _acct=Module["_acct"]=wasmExports["acct"];var _acosf=Module["_acosf"]=wasmExports["acosf"];var _sqrtf=Module["_sqrtf"]=wasmExports["sqrtf"];var _acoshf=Module["_acoshf"]=wasmExports["acoshf"];var _log1pf=Module["_log1pf"]=wasmExports["log1pf"];var _logf=Module["_logf"]=wasmExports["logf"];var _acoshl=Module["_acoshl"]=wasmExports["acoshl"];var _acosl=Module["_acosl"]=wasmExports["acosl"];var ___eqtf2=Module["___eqtf2"]=wasmExports["__eqtf2"];var ___netf2=Module["___netf2"]=wasmExports["__netf2"];var _sqrtl=Module["_sqrtl"]=wasmExports["sqrtl"];var _alarm=Module["_alarm"]=wasmExports["alarm"];var _setitimer=Module["_setitimer"]=wasmExports["setitimer"];var _aligned_alloc=Module["_aligned_alloc"]=wasmExports["aligned_alloc"];var _posix_memalign=Module["_posix_memalign"]=wasmExports["posix_memalign"];var _alphasort=Module["_alphasort"]=wasmExports["alphasort"];var _strcoll=Module["_strcoll"]=wasmExports["strcoll"];var _asctime=Module["_asctime"]=wasmExports["asctime"];var ___nl_langinfo_l=Module["___nl_langinfo_l"]=wasmExports["__nl_langinfo_l"];var _asctime_r=Module["_asctime_r"]=wasmExports["asctime_r"];var _asinf=Module["_asinf"]=wasmExports["asinf"];var _fabsf=Module["_fabsf"]=wasmExports["fabsf"];var _asinhf=Module["_asinhf"]=wasmExports["asinhf"];var _asinhl=Module["_asinhl"]=wasmExports["asinhl"];var _asinl=Module["_asinl"]=wasmExports["asinl"];var _asprintf=Module["_asprintf"]=wasmExports["asprintf"];var _vasprintf=Module["_vasprintf"]=wasmExports["vasprintf"];var _at_quick_exit=Module["_at_quick_exit"]=wasmExports["at_quick_exit"];var _atan2f=Module["_atan2f"]=wasmExports["atan2f"];var _atanf=Module["_atanf"]=wasmExports["atanf"];var _atan2l=Module["_atan2l"]=wasmExports["atan2l"];var _atanl=Module["_atanl"]=wasmExports["atanl"];var _atanhf=Module["_atanhf"]=wasmExports["atanhf"];var _atanhl=Module["_atanhl"]=wasmExports["atanhl"];var _log1pl=Module["_log1pl"]=wasmExports["log1pl"];var ___funcs_on_exit=wasmExports["__funcs_on_exit"];var ____cxa_finalize=Module["____cxa_finalize"]=wasmExports["___cxa_finalize"];var ____cxa_atexit=Module["____cxa_atexit"]=wasmExports["___cxa_atexit"];var ___libc_calloc=Module["___libc_calloc"]=wasmExports["__libc_calloc"];var ___atexit=Module["___atexit"]=wasmExports["__atexit"];var ___cxa_atexit=Module["___cxa_atexit"]=wasmExports["__cxa_atexit"];var ___cxa_finalize=Module["___cxa_finalize"]=wasmExports["__cxa_finalize"];var _atof=Module["_atof"]=wasmExports["atof"];var _strtod=Module["_strtod"]=wasmExports["strtod"];var _atoi=Module["_atoi"]=wasmExports["atoi"];var _atol=Module["_atol"]=wasmExports["atol"];var _atoll=Module["_atoll"]=wasmExports["atoll"];var _basename=Module["_basename"]=wasmExports["basename"];var ___xpg_basename=Module["___xpg_basename"]=wasmExports["__xpg_basename"];var _bcmp=Module["_bcmp"]=wasmExports["bcmp"];var _bcopy=Module["_bcopy"]=wasmExports["bcopy"];var _strcasecmp=Module["_strcasecmp"]=wasmExports["strcasecmp"];var _bsearch=Module["_bsearch"]=wasmExports["bsearch"];var _btowc=Module["_btowc"]=wasmExports["btowc"];var _bzero=Module["_bzero"]=wasmExports["bzero"];var _c16rtomb=Module["_c16rtomb"]=wasmExports["c16rtomb"];var _wcrtomb=Module["_wcrtomb"]=wasmExports["wcrtomb"];var _c32rtomb=Module["_c32rtomb"]=wasmExports["c32rtomb"];var _cabs=Module["_cabs"]=wasmExports["cabs"];var _cabsf=Module["_cabsf"]=wasmExports["cabsf"];var _hypotf=Module["_hypotf"]=wasmExports["hypotf"];var _cabsl=Module["_cabsl"]=wasmExports["cabsl"];var _hypotl=Module["_hypotl"]=wasmExports["hypotl"];var _cacos=Module["_cacos"]=wasmExports["cacos"];var _casin=Module["_casin"]=wasmExports["casin"];var _cacosf=Module["_cacosf"]=wasmExports["cacosf"];var _casinf=Module["_casinf"]=wasmExports["casinf"];var _cacosh=Module["_cacosh"]=wasmExports["cacosh"];var _cacoshf=Module["_cacoshf"]=wasmExports["cacoshf"];var _cacoshl=Module["_cacoshl"]=wasmExports["cacoshl"];var _cacosl=Module["_cacosl"]=wasmExports["cacosl"];var _casinl=Module["_casinl"]=wasmExports["casinl"];var _call_once=Module["_call_once"]=wasmExports["call_once"];var _carg=Module["_carg"]=wasmExports["carg"];var _cargf=Module["_cargf"]=wasmExports["cargf"];var _cargl=Module["_cargl"]=wasmExports["cargl"];var _csqrt=Module["_csqrt"]=wasmExports["csqrt"];var _clog=Module["_clog"]=wasmExports["clog"];var _csqrtf=Module["_csqrtf"]=wasmExports["csqrtf"];var _clogf=Module["_clogf"]=wasmExports["clogf"];var _casinh=Module["_casinh"]=wasmExports["casinh"];var _casinhf=Module["_casinhf"]=wasmExports["casinhf"];var _casinhl=Module["_casinhl"]=wasmExports["casinhl"];var _csqrtl=Module["_csqrtl"]=wasmExports["csqrtl"];var _clogl=Module["_clogl"]=wasmExports["clogl"];var _catan=Module["_catan"]=wasmExports["catan"];var _catanf=Module["_catanf"]=wasmExports["catanf"];var _catanh=Module["_catanh"]=wasmExports["catanh"];var _catanhf=Module["_catanhf"]=wasmExports["catanhf"];var _catanhl=Module["_catanhl"]=wasmExports["catanhl"];var _catanl=Module["_catanl"]=wasmExports["catanl"];var _logl=Module["_logl"]=wasmExports["logl"];var ___trunctfsf2=Module["___trunctfsf2"]=wasmExports["__trunctfsf2"];var ___extendsftf2=Module["___extendsftf2"]=wasmExports["__extendsftf2"];var _catclose=Module["_catclose"]=wasmExports["catclose"];var _catgets=Module["_catgets"]=wasmExports["catgets"];var _catopen=Module["_catopen"]=wasmExports["catopen"];var _cbrtf=Module["_cbrtf"]=wasmExports["cbrtf"];var _cbrtl=Module["_cbrtl"]=wasmExports["cbrtl"];var _ccos=Module["_ccos"]=wasmExports["ccos"];var _ccosh=Module["_ccosh"]=wasmExports["ccosh"];var _ccosf=Module["_ccosf"]=wasmExports["ccosf"];var _ccoshf=Module["_ccoshf"]=wasmExports["ccoshf"];var _coshf=Module["_coshf"]=wasmExports["coshf"];var _sinhf=Module["_sinhf"]=wasmExports["sinhf"];var _copysignf=Module["_copysignf"]=wasmExports["copysignf"];var _ccoshl=Module["_ccoshl"]=wasmExports["ccoshl"];var _ccosl=Module["_ccosl"]=wasmExports["ccosl"];var _ceil=Module["_ceil"]=wasmExports["ceil"];var _ceilf=Module["_ceilf"]=wasmExports["ceilf"];var _ceill=Module["_ceill"]=wasmExports["ceill"];var _cexp=Module["_cexp"]=wasmExports["cexp"];var _cexpf=Module["_cexpf"]=wasmExports["cexpf"];var _cexpl=Module["_cexpl"]=wasmExports["cexpl"];var _cfgetospeed=Module["_cfgetospeed"]=wasmExports["cfgetospeed"];var _cfgetispeed=Module["_cfgetispeed"]=wasmExports["cfgetispeed"];var _cfmakeraw=Module["_cfmakeraw"]=wasmExports["cfmakeraw"];var _cfsetospeed=Module["_cfsetospeed"]=wasmExports["cfsetospeed"];var _cfsetispeed=Module["_cfsetispeed"]=wasmExports["cfsetispeed"];var _cfsetspeed=Module["_cfsetspeed"]=wasmExports["cfsetspeed"];var _cimag=Module["_cimag"]=wasmExports["cimag"];var _cimagf=Module["_cimagf"]=wasmExports["cimagf"];var _cimagl=Module["_cimagl"]=wasmExports["cimagl"];var _clearenv=Module["_clearenv"]=wasmExports["clearenv"];var _clearerr_unlocked=Module["_clearerr_unlocked"]=wasmExports["clearerr_unlocked"];var ___wasi_timestamp_to_timespec=Module["___wasi_timestamp_to_timespec"]=wasmExports["__wasi_timestamp_to_timespec"];var _emscripten_thread_sleep=Module["_emscripten_thread_sleep"]=wasmExports["emscripten_thread_sleep"];var _cnd_broadcast=Module["_cnd_broadcast"]=wasmExports["cnd_broadcast"];var _cnd_destroy=Module["_cnd_destroy"]=wasmExports["cnd_destroy"];var _cnd_init=Module["_cnd_init"]=wasmExports["cnd_init"];var _cnd_signal=Module["_cnd_signal"]=wasmExports["cnd_signal"];var _cnd_timedwait=Module["_cnd_timedwait"]=wasmExports["cnd_timedwait"];var _cnd_wait=Module["_cnd_wait"]=wasmExports["cnd_wait"];var _conj=Module["_conj"]=wasmExports["conj"];var _conjf=Module["_conjf"]=wasmExports["conjf"];var _conjl=Module["_conjl"]=wasmExports["conjl"];var _copysignl=Module["_copysignl"]=wasmExports["copysignl"];var _expm1f=Module["_expm1f"]=wasmExports["expm1f"];var _coshl=Module["_coshl"]=wasmExports["coshl"];var _cosl=Module["_cosl"]=wasmExports["cosl"];var _cpow=Module["_cpow"]=wasmExports["cpow"];var ___muldc3=Module["___muldc3"]=wasmExports["__muldc3"];var _cpowf=Module["_cpowf"]=wasmExports["cpowf"];var ___mulsc3=Module["___mulsc3"]=wasmExports["__mulsc3"];var _cpowl=Module["_cpowl"]=wasmExports["cpowl"];var ___unordtf2=Module["___unordtf2"]=wasmExports["__unordtf2"];var ___multc3=Module["___multc3"]=wasmExports["__multc3"];var _cproj=Module["_cproj"]=wasmExports["cproj"];var _cprojf=Module["_cprojf"]=wasmExports["cprojf"];var _cprojl=Module["_cprojl"]=wasmExports["cprojl"];var _creal=Module["_creal"]=wasmExports["creal"];var _crealf=Module["_crealf"]=wasmExports["crealf"];var _creall=Module["_creall"]=wasmExports["creall"];var _creat=Module["_creat"]=wasmExports["creat"];var _crypt=Module["_crypt"]=wasmExports["crypt"];var ___crypt_blowfish=Module["___crypt_blowfish"]=wasmExports["__crypt_blowfish"];var ___crypt_des=Module["___crypt_des"]=wasmExports["__crypt_des"];var ___crypt_md5=Module["___crypt_md5"]=wasmExports["__crypt_md5"];var _strnlen=Module["_strnlen"]=wasmExports["strnlen"];var ___crypt_sha256=Module["___crypt_sha256"]=wasmExports["__crypt_sha256"];var ___crypt_sha512=Module["___crypt_sha512"]=wasmExports["__crypt_sha512"];var _crypt_r=Module["_crypt_r"]=wasmExports["crypt_r"];var _sprintf=Module["_sprintf"]=wasmExports["sprintf"];var _csin=Module["_csin"]=wasmExports["csin"];var _csinh=Module["_csinh"]=wasmExports["csinh"];var _csinf=Module["_csinf"]=wasmExports["csinf"];var _csinhf=Module["_csinhf"]=wasmExports["csinhf"];var _csinhl=Module["_csinhl"]=wasmExports["csinhl"];var _csinl=Module["_csinl"]=wasmExports["csinl"];var _ctan=Module["_ctan"]=wasmExports["ctan"];var _ctanh=Module["_ctanh"]=wasmExports["ctanh"];var _ctanf=Module["_ctanf"]=wasmExports["ctanf"];var _ctanhf=Module["_ctanhf"]=wasmExports["ctanhf"];var _tanf=Module["_tanf"]=wasmExports["tanf"];var _ctanhl=Module["_ctanhl"]=wasmExports["ctanhl"];var _ctanl=Module["_ctanl"]=wasmExports["ctanl"];var _ctime=Module["_ctime"]=wasmExports["ctime"];var _localtime=Module["_localtime"]=wasmExports["localtime"];var _ctime_r=Module["_ctime_r"]=wasmExports["ctime_r"];var _dcngettext=Module["_dcngettext"]=wasmExports["dcngettext"];var ___gettextdomain=Module["___gettextdomain"]=wasmExports["__gettextdomain"];var _dngettext=Module["_dngettext"]=wasmExports["dngettext"];var _difftime=Module["_difftime"]=wasmExports["difftime"];var _dirname=Module["_dirname"]=wasmExports["dirname"];var _div=Module["_div"]=wasmExports["div"];var _dladdr=Module["_dladdr"]=wasmExports["dladdr"];var ___libc_free=Module["___libc_free"]=wasmExports["__libc_free"];var ___libc_malloc=Module["___libc_malloc"]=wasmExports["__libc_malloc"];var ___dl_seterr=wasmExports["__dl_seterr"];var _dn_comp=Module["_dn_comp"]=wasmExports["dn_comp"];var _dn_expand=Module["_dn_expand"]=wasmExports["dn_expand"];var _dn_skipname=Module["_dn_skipname"]=wasmExports["dn_skipname"];var _dprintf=Module["_dprintf"]=wasmExports["dprintf"];var _vdprintf=Module["_vdprintf"]=wasmExports["vdprintf"];var _erand48=Module["_erand48"]=wasmExports["erand48"];var _drand48=Module["_drand48"]=wasmExports["drand48"];var ___wasi_fd_is_valid=Module["___wasi_fd_is_valid"]=wasmExports["__wasi_fd_is_valid"];var ___duplocale=Module["___duplocale"]=wasmExports["__duplocale"];var _duplocale=Module["_duplocale"]=wasmExports["duplocale"];var _new_dlevent=Module["_new_dlevent"]=wasmExports["new_dlevent"];var __emscripten_find_dylib=wasmExports["_emscripten_find_dylib"];var _strspn=Module["_strspn"]=wasmExports["strspn"];var _pthread_setcancelstate=Module["_pthread_setcancelstate"]=wasmExports["pthread_setcancelstate"];var _emscripten_dlopen=Module["_emscripten_dlopen"]=wasmExports["emscripten_dlopen"];var _emscripten_dlopen_promise=Module["_emscripten_dlopen_promise"]=wasmExports["emscripten_dlopen_promise"];var _ecvt=Module["_ecvt"]=wasmExports["ecvt"];var _emscripten_console_logf=Module["_emscripten_console_logf"]=wasmExports["emscripten_console_logf"];var _emscripten_console_errorf=Module["_emscripten_console_errorf"]=wasmExports["emscripten_console_errorf"];var _emscripten_console_warnf=Module["_emscripten_console_warnf"]=wasmExports["emscripten_console_warnf"];var _emscripten_console_tracef=Module["_emscripten_console_tracef"]=wasmExports["emscripten_console_tracef"];var _emscripten_outf=Module["_emscripten_outf"]=wasmExports["emscripten_outf"];var _emscripten_errf=Module["_emscripten_errf"]=wasmExports["emscripten_errf"];var _emscripten_fiber_init=Module["_emscripten_fiber_init"]=wasmExports["emscripten_fiber_init"];var _emscripten_fiber_init_from_current_context=Module["_emscripten_fiber_init_from_current_context"]=wasmExports["emscripten_fiber_init_from_current_context"];var _emscripten_get_heap_size=Module["_emscripten_get_heap_size"]=wasmExports["emscripten_get_heap_size"];var __emscripten_memcpy_bulkmem=Module["__emscripten_memcpy_bulkmem"]=wasmExports["_emscripten_memcpy_bulkmem"];var _emscripten_builtin_memcpy=Module["_emscripten_builtin_memcpy"]=wasmExports["emscripten_builtin_memcpy"];var ___memset=Module["___memset"]=wasmExports["__memset"];var _emscripten_builtin_memset=Module["_emscripten_builtin_memset"]=wasmExports["emscripten_builtin_memset"];var __emscripten_memset_bulkmem=Module["__emscripten_memset_bulkmem"]=wasmExports["_emscripten_memset_bulkmem"];var ___syscall_munmap=Module["___syscall_munmap"]=wasmExports["__syscall_munmap"];var _emscripten_builtin_free=Module["_emscripten_builtin_free"]=wasmExports["emscripten_builtin_free"];var ___syscall_msync=Module["___syscall_msync"]=wasmExports["__syscall_msync"];var ___syscall_mmap2=Module["___syscall_mmap2"]=wasmExports["__syscall_mmap2"];var _emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"];var _emscripten_scan_stack=Module["_emscripten_scan_stack"]=wasmExports["emscripten_scan_stack"];var _emscripten_stack_get_current=Module["_emscripten_stack_get_current"]=wasmExports["emscripten_stack_get_current"];var ___time=Module["___time"]=wasmExports["__time"];var ___gettimeofday=Module["___gettimeofday"]=wasmExports["__gettimeofday"];var _dysize=Module["_dysize"]=wasmExports["dysize"];var _setkey=Module["_setkey"]=wasmExports["setkey"];var _encrypt=Module["_encrypt"]=wasmExports["encrypt"];var _sethostent=Module["_sethostent"]=wasmExports["sethostent"];var _gethostent=Module["_gethostent"]=wasmExports["gethostent"];var _getnetent=Module["_getnetent"]=wasmExports["getnetent"];var _endhostent=Module["_endhostent"]=wasmExports["endhostent"];var _setnetent=Module["_setnetent"]=wasmExports["setnetent"];var _endnetent=Module["_endnetent"]=wasmExports["endnetent"];var _erff=Module["_erff"]=wasmExports["erff"];var _erfcf=Module["_erfcf"]=wasmExports["erfcf"];var _erfl=Module["_erfl"]=wasmExports["erfl"];var _erfcl=Module["_erfcl"]=wasmExports["erfcl"];var _vwarn=Module["_vwarn"]=wasmExports["vwarn"];var _fprintf=Module["_fprintf"]=wasmExports["fprintf"];var _vwarnx=Module["_vwarnx"]=wasmExports["vwarnx"];var _putc=Module["_putc"]=wasmExports["putc"];var _verr=Module["_verr"]=wasmExports["verr"];var _verrx=Module["_verrx"]=wasmExports["verrx"];var _warn=Module["_warn"]=wasmExports["warn"];var _warnx=Module["_warnx"]=wasmExports["warnx"];var _err=Module["_err"]=wasmExports["err"];var _errx=Module["_errx"]=wasmExports["errx"];var _ether_aton_r=Module["_ether_aton_r"]=wasmExports["ether_aton_r"];var _ether_aton=Module["_ether_aton"]=wasmExports["ether_aton"];var _ether_ntoa_r=Module["_ether_ntoa_r"]=wasmExports["ether_ntoa_r"];var _ether_ntoa=Module["_ether_ntoa"]=wasmExports["ether_ntoa"];var _ether_line=Module["_ether_line"]=wasmExports["ether_line"];var _ether_ntohost=Module["_ether_ntohost"]=wasmExports["ether_ntohost"];var _ether_hostton=Module["_ether_hostton"]=wasmExports["ether_hostton"];var _euidaccess=Module["_euidaccess"]=wasmExports["euidaccess"];var _faccessat=Module["_faccessat"]=wasmExports["faccessat"];var _eaccess=Module["_eaccess"]=wasmExports["eaccess"];var _execl=Module["_execl"]=wasmExports["execl"];var _execle=Module["_execle"]=wasmExports["execle"];var _execlp=Module["_execlp"]=wasmExports["execlp"];var _execvp=Module["_execvp"]=wasmExports["execvp"];var _execvpe=Module["_execvpe"]=wasmExports["execvpe"];var _exp10=Module["_exp10"]=wasmExports["exp10"];var _pow10=Module["_pow10"]=wasmExports["pow10"];var _exp10f=Module["_exp10f"]=wasmExports["exp10f"];var _modff=Module["_modff"]=wasmExports["modff"];var _exp2f=Module["_exp2f"]=wasmExports["exp2f"];var _pow10f=Module["_pow10f"]=wasmExports["pow10f"];var _exp10l=Module["_exp10l"]=wasmExports["exp10l"];var _modfl=Module["_modfl"]=wasmExports["modfl"];var _exp2l=Module["_exp2l"]=wasmExports["exp2l"];var _powl=Module["_powl"]=wasmExports["powl"];var _pow10l=Module["_pow10l"]=wasmExports["pow10l"];var ___letf2=Module["___letf2"]=wasmExports["__letf2"];var _scalbnl=Module["_scalbnl"]=wasmExports["scalbnl"];var _expl=Module["_expl"]=wasmExports["expl"];var _expm1l=Module["_expm1l"]=wasmExports["expm1l"];var __flushlbf=Module["__flushlbf"]=wasmExports["_flushlbf"];var ___fsetlocking=Module["___fsetlocking"]=wasmExports["__fsetlocking"];var ___fwriting=Module["___fwriting"]=wasmExports["__fwriting"];var ___freading=Module["___freading"]=wasmExports["__freading"];var ___freadable=Module["___freadable"]=wasmExports["__freadable"];var ___fwritable=Module["___fwritable"]=wasmExports["__fwritable"];var ___flbf=Module["___flbf"]=wasmExports["__flbf"];var ___fbufsize=Module["___fbufsize"]=wasmExports["__fbufsize"];var ___fpending=Module["___fpending"]=wasmExports["__fpending"];var ___fpurge=Module["___fpurge"]=wasmExports["__fpurge"];var _fpurge=Module["_fpurge"]=wasmExports["fpurge"];var ___freadahead=Module["___freadahead"]=wasmExports["__freadahead"];var ___freadptr=Module["___freadptr"]=wasmExports["__freadptr"];var ___freadptrinc=Module["___freadptrinc"]=wasmExports["__freadptrinc"];var ___fseterr=Module["___fseterr"]=wasmExports["__fseterr"];var _fcvt=Module["_fcvt"]=wasmExports["fcvt"];var _fdim=Module["_fdim"]=wasmExports["fdim"];var _fdimf=Module["_fdimf"]=wasmExports["fdimf"];var _fdiml=Module["_fdiml"]=wasmExports["fdiml"];var _fegetexceptflag=Module["_fegetexceptflag"]=wasmExports["fegetexceptflag"];var _fetestexcept=Module["_fetestexcept"]=wasmExports["fetestexcept"];var _feholdexcept=Module["_feholdexcept"]=wasmExports["feholdexcept"];var _fegetenv=Module["_fegetenv"]=wasmExports["fegetenv"];var _feclearexcept=Module["_feclearexcept"]=wasmExports["feclearexcept"];var _feraiseexcept=Module["_feraiseexcept"]=wasmExports["feraiseexcept"];var ___fesetround=Module["___fesetround"]=wasmExports["__fesetround"];var _fesetenv=Module["_fesetenv"]=wasmExports["fesetenv"];var _feof_unlocked=Module["_feof_unlocked"]=wasmExports["feof_unlocked"];var __IO_feof_unlocked=Module["__IO_feof_unlocked"]=wasmExports["_IO_feof_unlocked"];var _ferror_unlocked=Module["_ferror_unlocked"]=wasmExports["ferror_unlocked"];var __IO_ferror_unlocked=Module["__IO_ferror_unlocked"]=wasmExports["_IO_ferror_unlocked"];var _fesetexceptflag=Module["_fesetexceptflag"]=wasmExports["fesetexceptflag"];var _fesetround=Module["_fesetround"]=wasmExports["fesetround"];var _feupdateenv=Module["_feupdateenv"]=wasmExports["feupdateenv"];var _fflush_unlocked=Module["_fflush_unlocked"]=wasmExports["fflush_unlocked"];var _ffs=Module["_ffs"]=wasmExports["ffs"];var _ffsl=Module["_ffsl"]=wasmExports["ffsl"];var _ffsll=Module["_ffsll"]=wasmExports["ffsll"];var _emscripten_futex_wake=Module["_emscripten_futex_wake"]=wasmExports["emscripten_futex_wake"];var _fgetln=Module["_fgetln"]=wasmExports["fgetln"];var _getline=Module["_getline"]=wasmExports["getline"];var _fgetpos=Module["_fgetpos"]=wasmExports["fgetpos"];var _fgets_unlocked=Module["_fgets_unlocked"]=wasmExports["fgets_unlocked"];var ___fgetwc_unlocked=Module["___fgetwc_unlocked"]=wasmExports["__fgetwc_unlocked"];var _fwide=Module["_fwide"]=wasmExports["fwide"];var _mbtowc=Module["_mbtowc"]=wasmExports["mbtowc"];var _fgetwc=Module["_fgetwc"]=wasmExports["fgetwc"];var _fgetwc_unlocked=Module["_fgetwc_unlocked"]=wasmExports["fgetwc_unlocked"];var _getwc_unlocked=Module["_getwc_unlocked"]=wasmExports["getwc_unlocked"];var _fgetws=Module["_fgetws"]=wasmExports["fgetws"];var _fgetws_unlocked=Module["_fgetws_unlocked"]=wasmExports["fgetws_unlocked"];var _fileno_unlocked=Module["_fileno_unlocked"]=wasmExports["fileno_unlocked"];var _finite=Module["_finite"]=wasmExports["finite"];var _finitef=Module["_finitef"]=wasmExports["finitef"];var ___floatunsitf=Module["___floatunsitf"]=wasmExports["__floatunsitf"];var _fmodl=Module["_fmodl"]=wasmExports["fmodl"];var _ftrylockfile=Module["_ftrylockfile"]=wasmExports["ftrylockfile"];var _floorf=Module["_floorf"]=wasmExports["floorf"];var _floorl=Module["_floorl"]=wasmExports["floorl"];var _fmaf=Module["_fmaf"]=wasmExports["fmaf"];var _fmal=Module["_fmal"]=wasmExports["fmal"];var _frexpl=Module["_frexpl"]=wasmExports["frexpl"];var _nextafterl=Module["_nextafterl"]=wasmExports["nextafterl"];var _ilogbl=Module["_ilogbl"]=wasmExports["ilogbl"];var _fmax=Module["_fmax"]=wasmExports["fmax"];var _fmaxf=Module["_fmaxf"]=wasmExports["fmaxf"];var _fmaxl=Module["_fmaxl"]=wasmExports["fmaxl"];var _fmemopen=Module["_fmemopen"]=wasmExports["fmemopen"];var _fmin=Module["_fmin"]=wasmExports["fmin"];var _fminf=Module["_fminf"]=wasmExports["fminf"];var _fminl=Module["_fminl"]=wasmExports["fminl"];var _fmodf=Module["_fmodf"]=wasmExports["fmodf"];var _fmtmsg=Module["_fmtmsg"]=wasmExports["fmtmsg"];var _fnmatch=Module["_fnmatch"]=wasmExports["fnmatch"];var _towupper=Module["_towupper"]=wasmExports["towupper"];var _towlower=Module["_towlower"]=wasmExports["towlower"];var _wctype=Module["_wctype"]=wasmExports["wctype"];var _iswctype=Module["_iswctype"]=wasmExports["iswctype"];var _forkpty=Module["_forkpty"]=wasmExports["forkpty"];var _openpty=Module["_openpty"]=wasmExports["openpty"];var _pipe2=Module["_pipe2"]=wasmExports["pipe2"];var _vfiprintf=Module["_vfiprintf"]=wasmExports["vfiprintf"];var ___small_vfprintf=Module["___small_vfprintf"]=wasmExports["__small_vfprintf"];var _fputs_unlocked=Module["_fputs_unlocked"]=wasmExports["fputs_unlocked"];var ___fputwc_unlocked=Module["___fputwc_unlocked"]=wasmExports["__fputwc_unlocked"];var _wctomb=Module["_wctomb"]=wasmExports["wctomb"];var _fputwc=Module["_fputwc"]=wasmExports["fputwc"];var _fputwc_unlocked=Module["_fputwc_unlocked"]=wasmExports["fputwc_unlocked"];var _putwc_unlocked=Module["_putwc_unlocked"]=wasmExports["putwc_unlocked"];var _fputws=Module["_fputws"]=wasmExports["fputws"];var _wcsrtombs=Module["_wcsrtombs"]=wasmExports["wcsrtombs"];var _fputws_unlocked=Module["_fputws_unlocked"]=wasmExports["fputws_unlocked"];var _fread_unlocked=Module["_fread_unlocked"]=wasmExports["fread_unlocked"];var _freelocale=Module["_freelocale"]=wasmExports["freelocale"];var ___freelocale=Module["___freelocale"]=wasmExports["__freelocale"];var _freopen=Module["_freopen"]=wasmExports["freopen"];var _frexpf=Module["_frexpf"]=wasmExports["frexpf"];var _fscanf=Module["_fscanf"]=wasmExports["fscanf"];var _vfscanf=Module["_vfscanf"]=wasmExports["vfscanf"];var ___isoc99_fscanf=Module["___isoc99_fscanf"]=wasmExports["__isoc99_fscanf"];var _fseek=Module["_fseek"]=wasmExports["fseek"];var _fseeko=Module["_fseeko"]=wasmExports["fseeko"];var _fsetpos=Module["_fsetpos"]=wasmExports["fsetpos"];var _ftello=Module["_ftello"]=wasmExports["ftello"];var _ftime=Module["_ftime"]=wasmExports["ftime"];var _utimensat=Module["_utimensat"]=wasmExports["utimensat"];var _fwprintf=Module["_fwprintf"]=wasmExports["fwprintf"];var _vfwprintf=Module["_vfwprintf"]=wasmExports["vfwprintf"];var _fwrite_unlocked=Module["_fwrite_unlocked"]=wasmExports["fwrite_unlocked"];var _fwscanf=Module["_fwscanf"]=wasmExports["fwscanf"];var _vfwscanf=Module["_vfwscanf"]=wasmExports["vfwscanf"];var ___isoc99_fwscanf=Module["___isoc99_fwscanf"]=wasmExports["__isoc99_fwscanf"];var _gcvt=Module["_gcvt"]=wasmExports["gcvt"];var _get_current_dir_name=Module["_get_current_dir_name"]=wasmExports["get_current_dir_name"];var _strdup=Module["_strdup"]=wasmExports["strdup"];var __IO_getc=Module["__IO_getc"]=wasmExports["_IO_getc"];var _fgetc_unlocked=Module["_fgetc_unlocked"]=wasmExports["fgetc_unlocked"];var __IO_getc_unlocked=Module["__IO_getc_unlocked"]=wasmExports["_IO_getc_unlocked"];var _getchar=Module["_getchar"]=wasmExports["getchar"];var _getchar_unlocked=Module["_getchar_unlocked"]=wasmExports["getchar_unlocked"];var _getdelim=Module["_getdelim"]=wasmExports["getdelim"];var ___getdelim=Module["___getdelim"]=wasmExports["__getdelim"];var _getdents=Module["_getdents"]=wasmExports["getdents"];var _getdomainname=Module["_getdomainname"]=wasmExports["getdomainname"];var _getegid=Module["_getegid"]=wasmExports["getegid"];var _geteuid=Module["_geteuid"]=wasmExports["geteuid"];var _getgroups=Module["_getgroups"]=wasmExports["getgroups"];var _gethostid=Module["_gethostid"]=wasmExports["gethostid"];var _freeifaddrs=Module["_freeifaddrs"]=wasmExports["freeifaddrs"];var _getifaddrs=Module["_getifaddrs"]=wasmExports["getifaddrs"];var ___getitimer=Module["___getitimer"]=wasmExports["__getitimer"];var _getlogin_r=Module["_getlogin_r"]=wasmExports["getlogin_r"];var _getopt=Module["_getopt"]=wasmExports["getopt"];var ___posix_getopt=Module["___posix_getopt"]=wasmExports["__posix_getopt"];var _getopt_long=Module["_getopt_long"]=wasmExports["getopt_long"];var _getopt_long_only=Module["_getopt_long_only"]=wasmExports["getopt_long_only"];var _mblen=Module["_mblen"]=wasmExports["mblen"];var _getpagesize=Module["_getpagesize"]=wasmExports["getpagesize"];var _getresgid=Module["_getresgid"]=wasmExports["getresgid"];var _getresuid=Module["_getresuid"]=wasmExports["getresuid"];var _getrusage=Module["_getrusage"]=wasmExports["getrusage"];var _gets=Module["_gets"]=wasmExports["gets"];var _getservbyname_r=Module["_getservbyname_r"]=wasmExports["getservbyname_r"];var _getservbyport_r=Module["_getservbyport_r"]=wasmExports["getservbyport_r"];var _getsubopt=Module["_getsubopt"]=wasmExports["getsubopt"];var _gettid=Module["_gettid"]=wasmExports["gettid"];var _getw=Module["_getw"]=wasmExports["getw"];var _getwc=Module["_getwc"]=wasmExports["getwc"];var _getwchar=Module["_getwchar"]=wasmExports["getwchar"];var _getwchar_unlocked=Module["_getwchar_unlocked"]=wasmExports["getwchar_unlocked"];var _glob=Module["_glob"]=wasmExports["glob"];var _globfree=Module["_globfree"]=wasmExports["globfree"];var _gmtime=Module["_gmtime"]=wasmExports["gmtime"];var _herror=Module["_herror"]=wasmExports["herror"];var _hcreate=Module["_hcreate"]=wasmExports["hcreate"];var _hdestroy=Module["_hdestroy"]=wasmExports["hdestroy"];var _hsearch=Module["_hsearch"]=wasmExports["hsearch"];var _hcreate_r=Module["_hcreate_r"]=wasmExports["hcreate_r"];var _hdestroy_r=Module["_hdestroy_r"]=wasmExports["hdestroy_r"];var _hsearch_r=Module["_hsearch_r"]=wasmExports["hsearch_r"];var _iconv_open=Module["_iconv_open"]=wasmExports["iconv_open"];var _iconv=Module["_iconv"]=wasmExports["iconv"];var _iconv_close=Module["_iconv_close"]=wasmExports["iconv_close"];var _ioctl=Module["_ioctl"]=wasmExports["ioctl"];var _ilogb=Module["_ilogb"]=wasmExports["ilogb"];var _ilogbf=Module["_ilogbf"]=wasmExports["ilogbf"];var _imaxabs=Module["_imaxabs"]=wasmExports["imaxabs"];var _imaxdiv=Module["_imaxdiv"]=wasmExports["imaxdiv"];var _index=Module["_index"]=wasmExports["index"];var _inet_addr=Module["_inet_addr"]=wasmExports["inet_addr"];var _inet_network=Module["_inet_network"]=wasmExports["inet_network"];var _inet_makeaddr=Module["_inet_makeaddr"]=wasmExports["inet_makeaddr"];var _inet_lnaof=Module["_inet_lnaof"]=wasmExports["inet_lnaof"];var _inet_netof=Module["_inet_netof"]=wasmExports["inet_netof"];var _insque=Module["_insque"]=wasmExports["insque"];var _remque=Module["_remque"]=wasmExports["remque"];var ___intscan=Module["___intscan"]=wasmExports["__intscan"];var ___multi3=Module["___multi3"]=wasmExports["__multi3"];var ___isalnum_l=Module["___isalnum_l"]=wasmExports["__isalnum_l"];var _isalnum_l=Module["_isalnum_l"]=wasmExports["isalnum_l"];var _isalpha=Module["_isalpha"]=wasmExports["isalpha"];var ___isalpha_l=Module["___isalpha_l"]=wasmExports["__isalpha_l"];var _isalpha_l=Module["_isalpha_l"]=wasmExports["isalpha_l"];var _isascii=Module["_isascii"]=wasmExports["isascii"];var _isblank=Module["_isblank"]=wasmExports["isblank"];var ___isblank_l=Module["___isblank_l"]=wasmExports["__isblank_l"];var _isblank_l=Module["_isblank_l"]=wasmExports["isblank_l"];var _iscntrl=Module["_iscntrl"]=wasmExports["iscntrl"];var ___iscntrl_l=Module["___iscntrl_l"]=wasmExports["__iscntrl_l"];var _iscntrl_l=Module["_iscntrl_l"]=wasmExports["iscntrl_l"];var _isdigit=Module["_isdigit"]=wasmExports["isdigit"];var ___isdigit_l=Module["___isdigit_l"]=wasmExports["__isdigit_l"];var _isdigit_l=Module["_isdigit_l"]=wasmExports["isdigit_l"];var _isgraph=Module["_isgraph"]=wasmExports["isgraph"];var ___isgraph_l=Module["___isgraph_l"]=wasmExports["__isgraph_l"];var _isgraph_l=Module["_isgraph_l"]=wasmExports["isgraph_l"];var _islower=Module["_islower"]=wasmExports["islower"];var ___islower_l=Module["___islower_l"]=wasmExports["__islower_l"];var _islower_l=Module["_islower_l"]=wasmExports["islower_l"];var _isprint=Module["_isprint"]=wasmExports["isprint"];var ___isprint_l=Module["___isprint_l"]=wasmExports["__isprint_l"];var _isprint_l=Module["_isprint_l"]=wasmExports["isprint_l"];var _ispunct=Module["_ispunct"]=wasmExports["ispunct"];var ___ispunct_l=Module["___ispunct_l"]=wasmExports["__ispunct_l"];var _ispunct_l=Module["_ispunct_l"]=wasmExports["ispunct_l"];var _issetugid=Module["_issetugid"]=wasmExports["issetugid"];var _isspace=Module["_isspace"]=wasmExports["isspace"];var ___isspace_l=Module["___isspace_l"]=wasmExports["__isspace_l"];var _isspace_l=Module["_isspace_l"]=wasmExports["isspace_l"];var _isupper=Module["_isupper"]=wasmExports["isupper"];var ___isupper_l=Module["___isupper_l"]=wasmExports["__isupper_l"];var _isupper_l=Module["_isupper_l"]=wasmExports["isupper_l"];var _iswalnum=Module["_iswalnum"]=wasmExports["iswalnum"];var _iswalpha=Module["_iswalpha"]=wasmExports["iswalpha"];var ___iswalnum_l=Module["___iswalnum_l"]=wasmExports["__iswalnum_l"];var _iswalnum_l=Module["_iswalnum_l"]=wasmExports["iswalnum_l"];var ___iswalpha_l=Module["___iswalpha_l"]=wasmExports["__iswalpha_l"];var _iswalpha_l=Module["_iswalpha_l"]=wasmExports["iswalpha_l"];var _iswblank=Module["_iswblank"]=wasmExports["iswblank"];var ___iswblank_l=Module["___iswblank_l"]=wasmExports["__iswblank_l"];var _iswblank_l=Module["_iswblank_l"]=wasmExports["iswblank_l"];var _iswcntrl=Module["_iswcntrl"]=wasmExports["iswcntrl"];var ___iswcntrl_l=Module["___iswcntrl_l"]=wasmExports["__iswcntrl_l"];var _iswcntrl_l=Module["_iswcntrl_l"]=wasmExports["iswcntrl_l"];var _iswgraph=Module["_iswgraph"]=wasmExports["iswgraph"];var _iswlower=Module["_iswlower"]=wasmExports["iswlower"];var _iswprint=Module["_iswprint"]=wasmExports["iswprint"];var _iswpunct=Module["_iswpunct"]=wasmExports["iswpunct"];var _iswspace=Module["_iswspace"]=wasmExports["iswspace"];var _iswupper=Module["_iswupper"]=wasmExports["iswupper"];var _iswxdigit=Module["_iswxdigit"]=wasmExports["iswxdigit"];var ___iswctype_l=Module["___iswctype_l"]=wasmExports["__iswctype_l"];var ___wctype_l=Module["___wctype_l"]=wasmExports["__wctype_l"];var _iswctype_l=Module["_iswctype_l"]=wasmExports["iswctype_l"];var _wctype_l=Module["_wctype_l"]=wasmExports["wctype_l"];var _iswdigit=Module["_iswdigit"]=wasmExports["iswdigit"];var ___iswdigit_l=Module["___iswdigit_l"]=wasmExports["__iswdigit_l"];var _iswdigit_l=Module["_iswdigit_l"]=wasmExports["iswdigit_l"];var ___iswgraph_l=Module["___iswgraph_l"]=wasmExports["__iswgraph_l"];var _iswgraph_l=Module["_iswgraph_l"]=wasmExports["iswgraph_l"];var ___iswlower_l=Module["___iswlower_l"]=wasmExports["__iswlower_l"];var _iswlower_l=Module["_iswlower_l"]=wasmExports["iswlower_l"];var ___iswprint_l=Module["___iswprint_l"]=wasmExports["__iswprint_l"];var _iswprint_l=Module["_iswprint_l"]=wasmExports["iswprint_l"];var ___iswpunct_l=Module["___iswpunct_l"]=wasmExports["__iswpunct_l"];var _iswpunct_l=Module["_iswpunct_l"]=wasmExports["iswpunct_l"];var ___iswspace_l=Module["___iswspace_l"]=wasmExports["__iswspace_l"];var _iswspace_l=Module["_iswspace_l"]=wasmExports["iswspace_l"];var ___iswupper_l=Module["___iswupper_l"]=wasmExports["__iswupper_l"];var _iswupper_l=Module["_iswupper_l"]=wasmExports["iswupper_l"];var ___iswxdigit_l=Module["___iswxdigit_l"]=wasmExports["__iswxdigit_l"];var _iswxdigit_l=Module["_iswxdigit_l"]=wasmExports["iswxdigit_l"];var _isxdigit=Module["_isxdigit"]=wasmExports["isxdigit"];var ___isxdigit_l=Module["___isxdigit_l"]=wasmExports["__isxdigit_l"];var _isxdigit_l=Module["_isxdigit_l"]=wasmExports["isxdigit_l"];var _j0=Module["_j0"]=wasmExports["j0"];var _y0=Module["_y0"]=wasmExports["y0"];var _j0f=Module["_j0f"]=wasmExports["j0f"];var _y0f=Module["_y0f"]=wasmExports["y0f"];var _j1=Module["_j1"]=wasmExports["j1"];var _y1=Module["_y1"]=wasmExports["y1"];var _j1f=Module["_j1f"]=wasmExports["j1f"];var _y1f=Module["_y1f"]=wasmExports["y1f"];var _jn=Module["_jn"]=wasmExports["jn"];var _yn=Module["_yn"]=wasmExports["yn"];var _jnf=Module["_jnf"]=wasmExports["jnf"];var _ynf=Module["_ynf"]=wasmExports["ynf"];var _labs=Module["_labs"]=wasmExports["labs"];var ___nl_langinfo=Module["___nl_langinfo"]=wasmExports["__nl_langinfo"];var _nl_langinfo_l=Module["_nl_langinfo_l"]=wasmExports["nl_langinfo_l"];var _lchmod=Module["_lchmod"]=wasmExports["lchmod"];var _lchown=Module["_lchown"]=wasmExports["lchown"];var _lcong48=Module["_lcong48"]=wasmExports["lcong48"];var _ldexpf=Module["_ldexpf"]=wasmExports["ldexpf"];var _scalbnf=Module["_scalbnf"]=wasmExports["scalbnf"];var _ldexpl=Module["_ldexpl"]=wasmExports["ldexpl"];var _ldiv=Module["_ldiv"]=wasmExports["ldiv"];var _get_nprocs_conf=Module["_get_nprocs_conf"]=wasmExports["get_nprocs_conf"];var _get_nprocs=Module["_get_nprocs"]=wasmExports["get_nprocs"];var _get_phys_pages=Module["_get_phys_pages"]=wasmExports["get_phys_pages"];var _get_avphys_pages=Module["_get_avphys_pages"]=wasmExports["get_avphys_pages"];var _lgamma=Module["_lgamma"]=wasmExports["lgamma"];var _lgamma_r=Module["_lgamma_r"]=wasmExports["lgamma_r"];var _lgammaf=Module["_lgammaf"]=wasmExports["lgammaf"];var _lgammaf_r=Module["_lgammaf_r"]=wasmExports["lgammaf_r"];var ___lgammal_r=Module["___lgammal_r"]=wasmExports["__lgammal_r"];var _lgammal=Module["_lgammal"]=wasmExports["lgammal"];var _lgammal_r=Module["_lgammal_r"]=wasmExports["lgammal_r"];var _emscripten_has_threading_support=Module["_emscripten_has_threading_support"]=wasmExports["emscripten_has_threading_support"];var _emscripten_num_logical_cores=Module["_emscripten_num_logical_cores"]=wasmExports["emscripten_num_logical_cores"];var _emscripten_futex_wait=Module["_emscripten_futex_wait"]=wasmExports["emscripten_futex_wait"];var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=wasmExports["emscripten_main_thread_process_queued_calls"];var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=wasmExports["emscripten_current_thread_process_queued_calls"];var __emscripten_yield=Module["__emscripten_yield"]=wasmExports["_emscripten_yield"];var __emscripten_check_timers=Module["__emscripten_check_timers"]=wasmExports["_emscripten_check_timers"];var _pthread_mutex_consistent=Module["_pthread_mutex_consistent"]=wasmExports["pthread_mutex_consistent"];var _pthread_barrier_init=Module["_pthread_barrier_init"]=wasmExports["pthread_barrier_init"];var _pthread_barrier_destroy=Module["_pthread_barrier_destroy"]=wasmExports["pthread_barrier_destroy"];var _pthread_barrier_wait=Module["_pthread_barrier_wait"]=wasmExports["pthread_barrier_wait"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=wasmExports["pthread_cond_broadcast"];var _pthread_atfork=Module["_pthread_atfork"]=wasmExports["pthread_atfork"];var _pthread_cancel=Module["_pthread_cancel"]=wasmExports["pthread_cancel"];var _pthread_testcancel=Module["_pthread_testcancel"]=wasmExports["pthread_testcancel"];var ___pthread_detach=Module["___pthread_detach"]=wasmExports["__pthread_detach"];var _pthread_equal=Module["_pthread_equal"]=wasmExports["pthread_equal"];var _pthread_mutexattr_init=Module["_pthread_mutexattr_init"]=wasmExports["pthread_mutexattr_init"];var _pthread_mutexattr_setprotocol=Module["_pthread_mutexattr_setprotocol"]=wasmExports["pthread_mutexattr_setprotocol"];var _pthread_mutexattr_settype=Module["_pthread_mutexattr_settype"]=wasmExports["pthread_mutexattr_settype"];var _pthread_mutexattr_destroy=Module["_pthread_mutexattr_destroy"]=wasmExports["pthread_mutexattr_destroy"];var _pthread_mutexattr_setpshared=Module["_pthread_mutexattr_setpshared"]=wasmExports["pthread_mutexattr_setpshared"];var _pthread_condattr_destroy=Module["_pthread_condattr_destroy"]=wasmExports["pthread_condattr_destroy"];var _pthread_condattr_setpshared=Module["_pthread_condattr_setpshared"]=wasmExports["pthread_condattr_setpshared"];var _pthread_setcanceltype=Module["_pthread_setcanceltype"]=wasmExports["pthread_setcanceltype"];var _pthread_rwlock_init=Module["_pthread_rwlock_init"]=wasmExports["pthread_rwlock_init"];var _pthread_rwlock_destroy=Module["_pthread_rwlock_destroy"]=wasmExports["pthread_rwlock_destroy"];var _pthread_rwlock_rdlock=Module["_pthread_rwlock_rdlock"]=wasmExports["pthread_rwlock_rdlock"];var _pthread_rwlock_tryrdlock=Module["_pthread_rwlock_tryrdlock"]=wasmExports["pthread_rwlock_tryrdlock"];var _pthread_rwlock_timedrdlock=Module["_pthread_rwlock_timedrdlock"]=wasmExports["pthread_rwlock_timedrdlock"];var _pthread_rwlock_wrlock=Module["_pthread_rwlock_wrlock"]=wasmExports["pthread_rwlock_wrlock"];var _pthread_rwlock_trywrlock=Module["_pthread_rwlock_trywrlock"]=wasmExports["pthread_rwlock_trywrlock"];var _pthread_rwlock_timedwrlock=Module["_pthread_rwlock_timedwrlock"]=wasmExports["pthread_rwlock_timedwrlock"];var _pthread_rwlock_unlock=Module["_pthread_rwlock_unlock"]=wasmExports["pthread_rwlock_unlock"];var _pthread_rwlockattr_init=Module["_pthread_rwlockattr_init"]=wasmExports["pthread_rwlockattr_init"];var _pthread_rwlockattr_destroy=Module["_pthread_rwlockattr_destroy"]=wasmExports["pthread_rwlockattr_destroy"];var _pthread_rwlockattr_setpshared=Module["_pthread_rwlockattr_setpshared"]=wasmExports["pthread_rwlockattr_setpshared"];var _pthread_spin_init=Module["_pthread_spin_init"]=wasmExports["pthread_spin_init"];var _pthread_spin_destroy=Module["_pthread_spin_destroy"]=wasmExports["pthread_spin_destroy"];var _pthread_spin_lock=Module["_pthread_spin_lock"]=wasmExports["pthread_spin_lock"];var _pthread_spin_trylock=Module["_pthread_spin_trylock"]=wasmExports["pthread_spin_trylock"];var _pthread_spin_unlock=Module["_pthread_spin_unlock"]=wasmExports["pthread_spin_unlock"];var _sem_init=Module["_sem_init"]=wasmExports["sem_init"];var _sem_post=Module["_sem_post"]=wasmExports["sem_post"];var _sem_wait=Module["_sem_wait"]=wasmExports["sem_wait"];var _sem_trywait=Module["_sem_trywait"]=wasmExports["sem_trywait"];var _sem_destroy=Module["_sem_destroy"]=wasmExports["sem_destroy"];var _pthread_mutex_timedlock=Module["_pthread_mutex_timedlock"]=wasmExports["pthread_mutex_timedlock"];var _emscripten_builtin_pthread_create=Module["_emscripten_builtin_pthread_create"]=wasmExports["emscripten_builtin_pthread_create"];var _emscripten_builtin_pthread_join=Module["_emscripten_builtin_pthread_join"]=wasmExports["emscripten_builtin_pthread_join"];var _pthread_once=Module["_pthread_once"]=wasmExports["pthread_once"];var _emscripten_builtin_pthread_exit=Module["_emscripten_builtin_pthread_exit"]=wasmExports["emscripten_builtin_pthread_exit"];var _pthread_exit=Module["_pthread_exit"]=wasmExports["pthread_exit"];var _emscripten_builtin_pthread_detach=Module["_emscripten_builtin_pthread_detach"]=wasmExports["emscripten_builtin_pthread_detach"];var _thrd_detach=Module["_thrd_detach"]=wasmExports["thrd_detach"];var _link=Module["_link"]=wasmExports["link"];var _linkat=Module["_linkat"]=wasmExports["linkat"];var _llabs=Module["_llabs"]=wasmExports["llabs"];var _lldiv=Module["_lldiv"]=wasmExports["lldiv"];var _llrint=Module["_llrint"]=wasmExports["llrint"];var _rint=Module["_rint"]=wasmExports["rint"];var _llrintf=Module["_llrintf"]=wasmExports["llrintf"];var _rintf=Module["_rintf"]=wasmExports["rintf"];var _llrintl=Module["_llrintl"]=wasmExports["llrintl"];var _rintl=Module["_rintl"]=wasmExports["rintl"];var _llround=Module["_llround"]=wasmExports["llround"];var _llroundf=Module["_llroundf"]=wasmExports["llroundf"];var _roundf=Module["_roundf"]=wasmExports["roundf"];var _llroundl=Module["_llroundl"]=wasmExports["llroundl"];var _roundl=Module["_roundl"]=wasmExports["roundl"];var _log10f=Module["_log10f"]=wasmExports["log10f"];var _log10l=Module["_log10l"]=wasmExports["log10l"];var _log2f=Module["_log2f"]=wasmExports["log2f"];var _log2l=Module["_log2l"]=wasmExports["log2l"];var _logb=Module["_logb"]=wasmExports["logb"];var _logbf=Module["_logbf"]=wasmExports["logbf"];var _logbl=Module["_logbl"]=wasmExports["logbl"];var _strtoull=Module["_strtoull"]=wasmExports["strtoull"];var _nrand48=Module["_nrand48"]=wasmExports["nrand48"];var _lrand48=Module["_lrand48"]=wasmExports["lrand48"];var _lrint=Module["_lrint"]=wasmExports["lrint"];var _lrintf=Module["_lrintf"]=wasmExports["lrintf"];var _lrintl=Module["_lrintl"]=wasmExports["lrintl"];var _lround=Module["_lround"]=wasmExports["lround"];var _lroundf=Module["_lroundf"]=wasmExports["lroundf"];var _lroundl=Module["_lroundl"]=wasmExports["lroundl"];var _lsearch=Module["_lsearch"]=wasmExports["lsearch"];var _lfind=Module["_lfind"]=wasmExports["lfind"];var _mbrlen=Module["_mbrlen"]=wasmExports["mbrlen"];var _mbrtoc16=Module["_mbrtoc16"]=wasmExports["mbrtoc16"];var _mbrtoc32=Module["_mbrtoc32"]=wasmExports["mbrtoc32"];var _mbsinit=Module["_mbsinit"]=wasmExports["mbsinit"];var _mbsnrtowcs=Module["_mbsnrtowcs"]=wasmExports["mbsnrtowcs"];var _mbsrtowcs=Module["_mbsrtowcs"]=wasmExports["mbsrtowcs"];var _memccpy=Module["_memccpy"]=wasmExports["memccpy"];var _memmem=Module["_memmem"]=wasmExports["memmem"];var _mempcpy=Module["_mempcpy"]=wasmExports["mempcpy"];var _mincore=Module["_mincore"]=wasmExports["mincore"];var _mkdtemp=Module["_mkdtemp"]=wasmExports["mkdtemp"];var _mkfifo=Module["_mkfifo"]=wasmExports["mkfifo"];var _mkfifoat=Module["_mkfifoat"]=wasmExports["mkfifoat"];var _mkostemp=Module["_mkostemp"]=wasmExports["mkostemp"];var _mkostemps=Module["_mkostemps"]=wasmExports["mkostemps"];var _mkstemp=Module["_mkstemp"]=wasmExports["mkstemp"];var _mkstemps=Module["_mkstemps"]=wasmExports["mkstemps"];var _mktemp=Module["_mktemp"]=wasmExports["mktemp"];var _timegm=Module["_timegm"]=wasmExports["timegm"];var _mlock=Module["_mlock"]=wasmExports["mlock"];var _mlockall=Module["_mlockall"]=wasmExports["mlockall"];var _emscripten_builtin_mmap=Module["_emscripten_builtin_mmap"]=wasmExports["emscripten_builtin_mmap"];var _setmntent=Module["_setmntent"]=wasmExports["setmntent"];var _endmntent=Module["_endmntent"]=wasmExports["endmntent"];var _getmntent_r=Module["_getmntent_r"]=wasmExports["getmntent_r"];var _sscanf=Module["_sscanf"]=wasmExports["sscanf"];var _getmntent=Module["_getmntent"]=wasmExports["getmntent"];var _addmntent=Module["_addmntent"]=wasmExports["addmntent"];var _hasmntopt=Module["_hasmntopt"]=wasmExports["hasmntopt"];var _mprotect=Module["_mprotect"]=wasmExports["mprotect"];var _jrand48=Module["_jrand48"]=wasmExports["jrand48"];var _mrand48=Module["_mrand48"]=wasmExports["mrand48"];var _mtx_destroy=Module["_mtx_destroy"]=wasmExports["mtx_destroy"];var _mtx_init=Module["_mtx_init"]=wasmExports["mtx_init"];var _mtx_lock=Module["_mtx_lock"]=wasmExports["mtx_lock"];var _mtx_timedlock=Module["_mtx_timedlock"]=wasmExports["mtx_timedlock"];var _mtx_trylock=Module["_mtx_trylock"]=wasmExports["mtx_trylock"];var _mtx_unlock=Module["_mtx_unlock"]=wasmExports["mtx_unlock"];var _munlock=Module["_munlock"]=wasmExports["munlock"];var _munlockall=Module["_munlockall"]=wasmExports["munlockall"];var _emscripten_builtin_munmap=Module["_emscripten_builtin_munmap"]=wasmExports["emscripten_builtin_munmap"];var _nan=Module["_nan"]=wasmExports["nan"];var _nanf=Module["_nanf"]=wasmExports["nanf"];var _nanl=Module["_nanl"]=wasmExports["nanl"];var _nanosleep=Module["_nanosleep"]=wasmExports["nanosleep"];var _nearbyint=Module["_nearbyint"]=wasmExports["nearbyint"];var _nearbyintf=Module["_nearbyintf"]=wasmExports["nearbyintf"];var _nearbyintl=Module["_nearbyintl"]=wasmExports["nearbyintl"];var _getnetbyaddr=Module["_getnetbyaddr"]=wasmExports["getnetbyaddr"];var _getnetbyname=Module["_getnetbyname"]=wasmExports["getnetbyname"];var ___newlocale=Module["___newlocale"]=wasmExports["__newlocale"];var _newlocale=Module["_newlocale"]=wasmExports["newlocale"];var _nextafterf=Module["_nextafterf"]=wasmExports["nextafterf"];var _nexttoward=Module["_nexttoward"]=wasmExports["nexttoward"];var _nexttowardf=Module["_nexttowardf"]=wasmExports["nexttowardf"];var _nexttowardl=Module["_nexttowardl"]=wasmExports["nexttowardl"];var _nftw=Module["_nftw"]=wasmExports["nftw"];var _nice=Module["_nice"]=wasmExports["nice"];var _setpriority=Module["_setpriority"]=wasmExports["setpriority"];var _ns_get16=Module["_ns_get16"]=wasmExports["ns_get16"];var _ns_get32=Module["_ns_get32"]=wasmExports["ns_get32"];var _ns_put16=Module["_ns_put16"]=wasmExports["ns_put16"];var _ns_put32=Module["_ns_put32"]=wasmExports["ns_put32"];var _ns_skiprr=Module["_ns_skiprr"]=wasmExports["ns_skiprr"];var _ns_initparse=Module["_ns_initparse"]=wasmExports["ns_initparse"];var _ns_name_uncompress=Module["_ns_name_uncompress"]=wasmExports["ns_name_uncompress"];var _ns_parserr=Module["_ns_parserr"]=wasmExports["ns_parserr"];var _open_memstream=Module["_open_memstream"]=wasmExports["open_memstream"];var _open_wmemstream=Module["_open_wmemstream"]=wasmExports["open_wmemstream"];var _tcsetattr=Module["_tcsetattr"]=wasmExports["tcsetattr"];var _posix_close=Module["_posix_close"]=wasmExports["posix_close"];var _posix_fallocate=Module["_posix_fallocate"]=wasmExports["posix_fallocate"];var _posix_madvise=Module["_posix_madvise"]=wasmExports["posix_madvise"];var _posix_spawn_file_actions_addchdir_np=Module["_posix_spawn_file_actions_addchdir_np"]=wasmExports["posix_spawn_file_actions_addchdir_np"];var _posix_spawn_file_actions_addclose=Module["_posix_spawn_file_actions_addclose"]=wasmExports["posix_spawn_file_actions_addclose"];var _posix_spawn_file_actions_adddup2=Module["_posix_spawn_file_actions_adddup2"]=wasmExports["posix_spawn_file_actions_adddup2"];var _posix_spawn_file_actions_addfchdir_np=Module["_posix_spawn_file_actions_addfchdir_np"]=wasmExports["posix_spawn_file_actions_addfchdir_np"];var _posix_spawn_file_actions_addopen=Module["_posix_spawn_file_actions_addopen"]=wasmExports["posix_spawn_file_actions_addopen"];var _posix_spawn_file_actions_destroy=Module["_posix_spawn_file_actions_destroy"]=wasmExports["posix_spawn_file_actions_destroy"];var _posix_spawn_file_actions_init=Module["_posix_spawn_file_actions_init"]=wasmExports["posix_spawn_file_actions_init"];var _posix_spawnattr_destroy=Module["_posix_spawnattr_destroy"]=wasmExports["posix_spawnattr_destroy"];var _posix_spawnattr_getflags=Module["_posix_spawnattr_getflags"]=wasmExports["posix_spawnattr_getflags"];var _posix_spawnattr_getpgroup=Module["_posix_spawnattr_getpgroup"]=wasmExports["posix_spawnattr_getpgroup"];var _posix_spawnattr_getsigdefault=Module["_posix_spawnattr_getsigdefault"]=wasmExports["posix_spawnattr_getsigdefault"];var _posix_spawnattr_getsigmask=Module["_posix_spawnattr_getsigmask"]=wasmExports["posix_spawnattr_getsigmask"];var _posix_spawnattr_init=Module["_posix_spawnattr_init"]=wasmExports["posix_spawnattr_init"];var _posix_spawnattr_getschedparam=Module["_posix_spawnattr_getschedparam"]=wasmExports["posix_spawnattr_getschedparam"];var _posix_spawnattr_setschedparam=Module["_posix_spawnattr_setschedparam"]=wasmExports["posix_spawnattr_setschedparam"];var _posix_spawnattr_getschedpolicy=Module["_posix_spawnattr_getschedpolicy"]=wasmExports["posix_spawnattr_getschedpolicy"];var _posix_spawnattr_setschedpolicy=Module["_posix_spawnattr_setschedpolicy"]=wasmExports["posix_spawnattr_setschedpolicy"];var _posix_spawnattr_setflags=Module["_posix_spawnattr_setflags"]=wasmExports["posix_spawnattr_setflags"];var _posix_spawnattr_setpgroup=Module["_posix_spawnattr_setpgroup"]=wasmExports["posix_spawnattr_setpgroup"];var _posix_spawnattr_setsigdefault=Module["_posix_spawnattr_setsigdefault"]=wasmExports["posix_spawnattr_setsigdefault"];var _posix_spawnattr_setsigmask=Module["_posix_spawnattr_setsigmask"]=wasmExports["posix_spawnattr_setsigmask"];var _powf=Module["_powf"]=wasmExports["powf"];var _preadv=Module["_preadv"]=wasmExports["preadv"];var _printf=Module["_printf"]=wasmExports["printf"];var ___small_printf=Module["___small_printf"]=wasmExports["__small_printf"];var _em_proxying_queue_create=Module["_em_proxying_queue_create"]=wasmExports["em_proxying_queue_create"];var _em_proxying_queue_destroy=Module["_em_proxying_queue_destroy"]=wasmExports["em_proxying_queue_destroy"];var _emscripten_proxy_get_system_queue=Module["_emscripten_proxy_get_system_queue"]=wasmExports["emscripten_proxy_get_system_queue"];var _emscripten_proxy_execute_queue=Module["_emscripten_proxy_execute_queue"]=wasmExports["emscripten_proxy_execute_queue"];var _emscripten_proxy_finish=Module["_emscripten_proxy_finish"]=wasmExports["emscripten_proxy_finish"];var _emscripten_proxy_async=Module["_emscripten_proxy_async"]=wasmExports["emscripten_proxy_async"];var _emscripten_proxy_sync=Module["_emscripten_proxy_sync"]=wasmExports["emscripten_proxy_sync"];var _emscripten_proxy_sync_with_ctx=Module["_emscripten_proxy_sync_with_ctx"]=wasmExports["emscripten_proxy_sync_with_ctx"];var _pselect=Module["_pselect"]=wasmExports["pselect"];var _pthread_attr_getdetachstate=Module["_pthread_attr_getdetachstate"]=wasmExports["pthread_attr_getdetachstate"];var _pthread_attr_getguardsize=Module["_pthread_attr_getguardsize"]=wasmExports["pthread_attr_getguardsize"];var _pthread_attr_getinheritsched=Module["_pthread_attr_getinheritsched"]=wasmExports["pthread_attr_getinheritsched"];var _pthread_attr_getschedparam=Module["_pthread_attr_getschedparam"]=wasmExports["pthread_attr_getschedparam"];var _pthread_attr_getschedpolicy=Module["_pthread_attr_getschedpolicy"]=wasmExports["pthread_attr_getschedpolicy"];var _pthread_attr_getscope=Module["_pthread_attr_getscope"]=wasmExports["pthread_attr_getscope"];var _pthread_attr_getstack=Module["_pthread_attr_getstack"]=wasmExports["pthread_attr_getstack"];var _pthread_attr_getstacksize=Module["_pthread_attr_getstacksize"]=wasmExports["pthread_attr_getstacksize"];var _pthread_barrierattr_getpshared=Module["_pthread_barrierattr_getpshared"]=wasmExports["pthread_barrierattr_getpshared"];var _pthread_condattr_getclock=Module["_pthread_condattr_getclock"]=wasmExports["pthread_condattr_getclock"];var _pthread_condattr_getpshared=Module["_pthread_condattr_getpshared"]=wasmExports["pthread_condattr_getpshared"];var _pthread_mutexattr_getprotocol=Module["_pthread_mutexattr_getprotocol"]=wasmExports["pthread_mutexattr_getprotocol"];var _pthread_mutexattr_getpshared=Module["_pthread_mutexattr_getpshared"]=wasmExports["pthread_mutexattr_getpshared"];var _pthread_mutexattr_getrobust=Module["_pthread_mutexattr_getrobust"]=wasmExports["pthread_mutexattr_getrobust"];var _pthread_mutexattr_gettype=Module["_pthread_mutexattr_gettype"]=wasmExports["pthread_mutexattr_gettype"];var _pthread_rwlockattr_getpshared=Module["_pthread_rwlockattr_getpshared"]=wasmExports["pthread_rwlockattr_getpshared"];var _pthread_attr_setdetachstate=Module["_pthread_attr_setdetachstate"]=wasmExports["pthread_attr_setdetachstate"];var _pthread_attr_setguardsize=Module["_pthread_attr_setguardsize"]=wasmExports["pthread_attr_setguardsize"];var _pthread_attr_setinheritsched=Module["_pthread_attr_setinheritsched"]=wasmExports["pthread_attr_setinheritsched"];var _pthread_attr_setschedparam=Module["_pthread_attr_setschedparam"]=wasmExports["pthread_attr_setschedparam"];var _pthread_attr_setschedpolicy=Module["_pthread_attr_setschedpolicy"]=wasmExports["pthread_attr_setschedpolicy"];var _pthread_attr_setscope=Module["_pthread_attr_setscope"]=wasmExports["pthread_attr_setscope"];var _pthread_attr_setstack=Module["_pthread_attr_setstack"]=wasmExports["pthread_attr_setstack"];var __pthread_cleanup_push=Module["__pthread_cleanup_push"]=wasmExports["_pthread_cleanup_push"];var __pthread_cleanup_pop=Module["__pthread_cleanup_pop"]=wasmExports["_pthread_cleanup_pop"];var _pthread_getattr_np=Module["_pthread_getattr_np"]=wasmExports["pthread_getattr_np"];var _pthread_getconcurrency=Module["_pthread_getconcurrency"]=wasmExports["pthread_getconcurrency"];var _pthread_getschedparam=Module["_pthread_getschedparam"]=wasmExports["pthread_getschedparam"];var _thrd_current=Module["_thrd_current"]=wasmExports["thrd_current"];var _emscripten_main_runtime_thread_id=Module["_emscripten_main_runtime_thread_id"]=wasmExports["emscripten_main_runtime_thread_id"];var _pthread_setconcurrency=Module["_pthread_setconcurrency"]=wasmExports["pthread_setconcurrency"];var _pthread_setschedprio=Module["_pthread_setschedprio"]=wasmExports["pthread_setschedprio"];var ___sig_is_blocked=Module["___sig_is_blocked"]=wasmExports["__sig_is_blocked"];var _sigorset=Module["_sigorset"]=wasmExports["sigorset"];var _sigandset=Module["_sigandset"]=wasmExports["sigandset"];var _sigdelset=Module["_sigdelset"]=wasmExports["sigdelset"];var _ptsname=Module["_ptsname"]=wasmExports["ptsname"];var __IO_putc=Module["__IO_putc"]=wasmExports["_IO_putc"];var _putc_unlocked=Module["_putc_unlocked"]=wasmExports["putc_unlocked"];var _fputc_unlocked=Module["_fputc_unlocked"]=wasmExports["fputc_unlocked"];var __IO_putc_unlocked=Module["__IO_putc_unlocked"]=wasmExports["_IO_putc_unlocked"];var _putchar_unlocked=Module["_putchar_unlocked"]=wasmExports["putchar_unlocked"];var _putenv=Module["_putenv"]=wasmExports["putenv"];var _putw=Module["_putw"]=wasmExports["putw"];var _putwc=Module["_putwc"]=wasmExports["putwc"];var _putwchar=Module["_putwchar"]=wasmExports["putwchar"];var _putwchar_unlocked=Module["_putwchar_unlocked"]=wasmExports["putwchar_unlocked"];var _pwritev=Module["_pwritev"]=wasmExports["pwritev"];var _qsort_r=Module["_qsort_r"]=wasmExports["qsort_r"];var _quick_exit=Module["_quick_exit"]=wasmExports["quick_exit"];var _action_abort=Module["_action_abort"]=wasmExports["action_abort"];var _action_terminate=Module["_action_terminate"]=wasmExports["action_terminate"];var _srand=Module["_srand"]=wasmExports["srand"];var _rand=Module["_rand"]=wasmExports["rand"];var _rand_r=Module["_rand_r"]=wasmExports["rand_r"];var _srandom=Module["_srandom"]=wasmExports["srandom"];var _initstate=Module["_initstate"]=wasmExports["initstate"];var _setstate=Module["_setstate"]=wasmExports["setstate"];var _random=Module["_random"]=wasmExports["random"];var _readdir_r=Module["_readdir_r"]=wasmExports["readdir_r"];var _recvmmsg=Module["_recvmmsg"]=wasmExports["recvmmsg"];var _regcomp=Module["_regcomp"]=wasmExports["regcomp"];var _regfree=Module["_regfree"]=wasmExports["regfree"];var _regerror=Module["_regerror"]=wasmExports["regerror"];var _regexec=Module["_regexec"]=wasmExports["regexec"];var _remainder=Module["_remainder"]=wasmExports["remainder"];var _remquo=Module["_remquo"]=wasmExports["remquo"];var _drem=Module["_drem"]=wasmExports["drem"];var _remainderf=Module["_remainderf"]=wasmExports["remainderf"];var _remquof=Module["_remquof"]=wasmExports["remquof"];var _dremf=Module["_dremf"]=wasmExports["dremf"];var _remainderl=Module["_remainderl"]=wasmExports["remainderl"];var _remquol=Module["_remquol"]=wasmExports["remquol"];var _remove=Module["_remove"]=wasmExports["remove"];var _res_init=Module["_res_init"]=wasmExports["res_init"];var _res_mkquery=Module["_res_mkquery"]=wasmExports["res_mkquery"];var ___res_msend=Module["___res_msend"]=wasmExports["__res_msend"];var _res_send=Module["_res_send"]=wasmExports["res_send"];var ___res_state=Module["___res_state"]=wasmExports["__res_state"];var _rindex=Module["_rindex"]=wasmExports["rindex"];var _scalb=Module["_scalb"]=wasmExports["scalb"];var _scalbf=Module["_scalbf"]=wasmExports["scalbf"];var _scalbln=Module["_scalbln"]=wasmExports["scalbln"];var _scalblnf=Module["_scalblnf"]=wasmExports["scalblnf"];var _scalblnl=Module["_scalblnl"]=wasmExports["scalblnl"];var _scandir=Module["_scandir"]=wasmExports["scandir"];var _scanf=Module["_scanf"]=wasmExports["scanf"];var _vscanf=Module["_vscanf"]=wasmExports["vscanf"];var ___isoc99_scanf=Module["___isoc99_scanf"]=wasmExports["__isoc99_scanf"];var _secure_getenv=Module["_secure_getenv"]=wasmExports["secure_getenv"];var _seed48=Module["_seed48"]=wasmExports["seed48"];var _seekdir=Module["_seekdir"]=wasmExports["seekdir"];var _sendmmsg=Module["_sendmmsg"]=wasmExports["sendmmsg"];var _endservent=Module["_endservent"]=wasmExports["endservent"];var _setservent=Module["_setservent"]=wasmExports["setservent"];var _getservent=Module["_getservent"]=wasmExports["getservent"];var _setbuf=Module["_setbuf"]=wasmExports["setbuf"];var _setbuffer=Module["_setbuffer"]=wasmExports["setbuffer"];var _setdomainname=Module["_setdomainname"]=wasmExports["setdomainname"];var _setegid=Module["_setegid"]=wasmExports["setegid"];var _seteuid=Module["_seteuid"]=wasmExports["seteuid"];var __emscripten_timeout=wasmExports["_emscripten_timeout"];var _setlinebuf=Module["_setlinebuf"]=wasmExports["setlinebuf"];var _setresgid=Module["_setresgid"]=wasmExports["setresgid"];var _setresuid=Module["_setresuid"]=wasmExports["setresuid"];var _shm_open=Module["_shm_open"]=wasmExports["shm_open"];var _shm_unlink=Module["_shm_unlink"]=wasmExports["shm_unlink"];var _sigaction=Module["_sigaction"]=wasmExports["sigaction"];var _sigisemptyset=Module["_sigisemptyset"]=wasmExports["sigisemptyset"];var _bsd_signal=Module["_bsd_signal"]=wasmExports["bsd_signal"];var ___sysv_signal=Module["___sysv_signal"]=wasmExports["__sysv_signal"];var _significand=Module["_significand"]=wasmExports["significand"];var _significandf=Module["_significandf"]=wasmExports["significandf"];var _sigprocmask=Module["_sigprocmask"]=wasmExports["sigprocmask"];var _sincos=Module["_sincos"]=wasmExports["sincos"];var _sincosf=Module["_sincosf"]=wasmExports["sincosf"];var _sincosl=Module["_sincosl"]=wasmExports["sincosl"];var _sinhl=Module["_sinhl"]=wasmExports["sinhl"];var _sinl=Module["_sinl"]=wasmExports["sinl"];var _sockatmark=Module["_sockatmark"]=wasmExports["sockatmark"];var _vsprintf=Module["_vsprintf"]=wasmExports["vsprintf"];var _vsiprintf=Module["_vsiprintf"]=wasmExports["vsiprintf"];var ___small_sprintf=Module["___small_sprintf"]=wasmExports["__small_sprintf"];var ___small_vsprintf=Module["___small_vsprintf"]=wasmExports["__small_vsprintf"];var _srand48=Module["_srand48"]=wasmExports["srand48"];var _vsscanf=Module["_vsscanf"]=wasmExports["vsscanf"];var ___isoc99_sscanf=Module["___isoc99_sscanf"]=wasmExports["__isoc99_sscanf"];var _statfs=Module["_statfs"]=wasmExports["statfs"];var _fstatfs=Module["_fstatfs"]=wasmExports["fstatfs"];var _statx=Module["_statx"]=wasmExports["statx"];var _stpcpy=Module["_stpcpy"]=wasmExports["stpcpy"];var _stpncpy=Module["_stpncpy"]=wasmExports["stpncpy"];var ___strcasecmp_l=Module["___strcasecmp_l"]=wasmExports["__strcasecmp_l"];var _strcasecmp_l=Module["_strcasecmp_l"]=wasmExports["strcasecmp_l"];var _strcasestr=Module["_strcasestr"]=wasmExports["strcasestr"];var _strncasecmp=Module["_strncasecmp"]=wasmExports["strncasecmp"];var _strchrnul=Module["_strchrnul"]=wasmExports["strchrnul"];var ___strcoll_l=Module["___strcoll_l"]=wasmExports["__strcoll_l"];var _strcoll_l=Module["_strcoll_l"]=wasmExports["strcoll_l"];var ___strerror_l=Module["___strerror_l"]=wasmExports["__strerror_l"];var _strerror_l=Module["_strerror_l"]=wasmExports["strerror_l"];var _strerror_r=Module["_strerror_r"]=wasmExports["strerror_r"];var ___xpg_strerror_r=Module["___xpg_strerror_r"]=wasmExports["__xpg_strerror_r"];var _strfmon_l=Module["_strfmon_l"]=wasmExports["strfmon_l"];var _strfmon=Module["_strfmon"]=wasmExports["strfmon"];var _strftime=Module["_strftime"]=wasmExports["strftime"];var _strftime_l=Module["_strftime_l"]=wasmExports["strftime_l"];var _strlcat=Module["_strlcat"]=wasmExports["strlcat"];var _strlcpy=Module["_strlcpy"]=wasmExports["strlcpy"];var _strlwr=Module["_strlwr"]=wasmExports["strlwr"];var ___strncasecmp_l=Module["___strncasecmp_l"]=wasmExports["__strncasecmp_l"];var _strncasecmp_l=Module["_strncasecmp_l"]=wasmExports["strncasecmp_l"];var _strndup=Module["_strndup"]=wasmExports["strndup"];var _strsep=Module["_strsep"]=wasmExports["strsep"];var _strtof=Module["_strtof"]=wasmExports["strtof"];var _strtold=Module["_strtold"]=wasmExports["strtold"];var _strtof_l=Module["_strtof_l"]=wasmExports["strtof_l"];var _strtod_l=Module["_strtod_l"]=wasmExports["strtod_l"];var _strtold_l=Module["_strtold_l"]=wasmExports["strtold_l"];var ___strtof_l=Module["___strtof_l"]=wasmExports["__strtof_l"];var ___strtod_l=Module["___strtod_l"]=wasmExports["__strtod_l"];var ___strtold_l=Module["___strtold_l"]=wasmExports["__strtold_l"];var _strtok=Module["_strtok"]=wasmExports["strtok"];var _strtok_r=Module["_strtok_r"]=wasmExports["strtok_r"];var _strtoll=Module["_strtoll"]=wasmExports["strtoll"];var _strtoimax=Module["_strtoimax"]=wasmExports["strtoimax"];var _strtoumax=Module["_strtoumax"]=wasmExports["strtoumax"];var ___strtol_internal=Module["___strtol_internal"]=wasmExports["__strtol_internal"];var ___strtoul_internal=Module["___strtoul_internal"]=wasmExports["__strtoul_internal"];var ___strtoll_internal=Module["___strtoll_internal"]=wasmExports["__strtoll_internal"];var ___strtoull_internal=Module["___strtoull_internal"]=wasmExports["__strtoull_internal"];var ___strtoimax_internal=Module["___strtoimax_internal"]=wasmExports["__strtoimax_internal"];var ___strtoumax_internal=Module["___strtoumax_internal"]=wasmExports["__strtoumax_internal"];var _strtoull_l=Module["_strtoull_l"]=wasmExports["strtoull_l"];var _strtoll_l=Module["_strtoll_l"]=wasmExports["strtoll_l"];var _strtoul_l=Module["_strtoul_l"]=wasmExports["strtoul_l"];var _strtol_l=Module["_strtol_l"]=wasmExports["strtol_l"];var _strupr=Module["_strupr"]=wasmExports["strupr"];var _strverscmp=Module["_strverscmp"]=wasmExports["strverscmp"];var ___strxfrm_l=Module["___strxfrm_l"]=wasmExports["__strxfrm_l"];var _strxfrm=Module["_strxfrm"]=wasmExports["strxfrm"];var _strxfrm_l=Module["_strxfrm_l"]=wasmExports["strxfrm_l"];var _swab=Module["_swab"]=wasmExports["swab"];var _swprintf=Module["_swprintf"]=wasmExports["swprintf"];var _vswprintf=Module["_vswprintf"]=wasmExports["vswprintf"];var _swscanf=Module["_swscanf"]=wasmExports["swscanf"];var _vswscanf=Module["_vswscanf"]=wasmExports["vswscanf"];var ___isoc99_swscanf=Module["___isoc99_swscanf"]=wasmExports["__isoc99_swscanf"];var _symlinkat=Module["_symlinkat"]=wasmExports["symlinkat"];var _setlogmask=Module["_setlogmask"]=wasmExports["setlogmask"];var _closelog=Module["_closelog"]=wasmExports["closelog"];var _openlog=Module["_openlog"]=wasmExports["openlog"];var _syslog=Module["_syslog"]=wasmExports["syslog"];var _vsyslog=Module["_vsyslog"]=wasmExports["vsyslog"];var _tanhf=Module["_tanhf"]=wasmExports["tanhf"];var _tanhl=Module["_tanhl"]=wasmExports["tanhl"];var _tanl=Module["_tanl"]=wasmExports["tanl"];var _tcdrain=Module["_tcdrain"]=wasmExports["tcdrain"];var _tcflow=Module["_tcflow"]=wasmExports["tcflow"];var _tcflush=Module["_tcflush"]=wasmExports["tcflush"];var _tcgetattr=Module["_tcgetattr"]=wasmExports["tcgetattr"];var _tcgetsid=Module["_tcgetsid"]=wasmExports["tcgetsid"];var _tcgetwinsize=Module["_tcgetwinsize"]=wasmExports["tcgetwinsize"];var _tcsendbreak=Module["_tcsendbreak"]=wasmExports["tcsendbreak"];var _tcsetwinsize=Module["_tcsetwinsize"]=wasmExports["tcsetwinsize"];var _tdelete=Module["_tdelete"]=wasmExports["tdelete"];var _tdestroy=Module["_tdestroy"]=wasmExports["tdestroy"];var _telldir=Module["_telldir"]=wasmExports["telldir"];var _tempnam=Module["_tempnam"]=wasmExports["tempnam"];var _ngettext=Module["_ngettext"]=wasmExports["ngettext"];var _tfind=Module["_tfind"]=wasmExports["tfind"];var _tgamma=Module["_tgamma"]=wasmExports["tgamma"];var _tgammaf=Module["_tgammaf"]=wasmExports["tgammaf"];var _tgammal=Module["_tgammal"]=wasmExports["tgammal"];var _thrd_create=Module["_thrd_create"]=wasmExports["thrd_create"];var _thrd_exit=Module["_thrd_exit"]=wasmExports["thrd_exit"];var _thrd_join=Module["_thrd_join"]=wasmExports["thrd_join"];var _thrd_sleep=Module["_thrd_sleep"]=wasmExports["thrd_sleep"];var _thrd_yield=Module["_thrd_yield"]=wasmExports["thrd_yield"];var _emscripten_set_thread_name=Module["_emscripten_set_thread_name"]=wasmExports["emscripten_set_thread_name"];var _timespec_get=Module["_timespec_get"]=wasmExports["timespec_get"];var _tmpfile=Module["_tmpfile"]=wasmExports["tmpfile"];var _tmpnam=Module["_tmpnam"]=wasmExports["tmpnam"];var _toascii=Module["_toascii"]=wasmExports["toascii"];var ___tolower_l=Module["___tolower_l"]=wasmExports["__tolower_l"];var _tolower_l=Module["_tolower_l"]=wasmExports["tolower_l"];var ___toupper_l=Module["___toupper_l"]=wasmExports["__toupper_l"];var _toupper_l=Module["_toupper_l"]=wasmExports["toupper_l"];var ___towupper_l=Module["___towupper_l"]=wasmExports["__towupper_l"];var ___towlower_l=Module["___towlower_l"]=wasmExports["__towlower_l"];var _towupper_l=Module["_towupper_l"]=wasmExports["towupper_l"];var _towlower_l=Module["_towlower_l"]=wasmExports["towlower_l"];var _trunc=Module["_trunc"]=wasmExports["trunc"];var _truncf=Module["_truncf"]=wasmExports["truncf"];var _truncl=Module["_truncl"]=wasmExports["truncl"];var _tsearch=Module["_tsearch"]=wasmExports["tsearch"];var _tss_create=Module["_tss_create"]=wasmExports["tss_create"];var _tss_delete=Module["_tss_delete"]=wasmExports["tss_delete"];var _tss_set=Module["_tss_set"]=wasmExports["tss_set"];var _ttyname=Module["_ttyname"]=wasmExports["ttyname"];var _twalk=Module["_twalk"]=wasmExports["twalk"];var _ualarm=Module["_ualarm"]=wasmExports["ualarm"];var _ungetwc=Module["_ungetwc"]=wasmExports["ungetwc"];var ___uselocale=Module["___uselocale"]=wasmExports["__uselocale"];var _uselocale=Module["_uselocale"]=wasmExports["uselocale"];var _usleep=Module["_usleep"]=wasmExports["usleep"];var _utime=Module["_utime"]=wasmExports["utime"];var _versionsort=Module["_versionsort"]=wasmExports["versionsort"];var ___vfprintf_internal=Module["___vfprintf_internal"]=wasmExports["__vfprintf_internal"];var ___isoc99_vfscanf=Module["___isoc99_vfscanf"]=wasmExports["__isoc99_vfscanf"];var _wcsnlen=Module["_wcsnlen"]=wasmExports["wcsnlen"];var ___isoc99_vfwscanf=Module["___isoc99_vfwscanf"]=wasmExports["__isoc99_vfwscanf"];var _vprintf=Module["_vprintf"]=wasmExports["vprintf"];var ___isoc99_vscanf=Module["___isoc99_vscanf"]=wasmExports["__isoc99_vscanf"];var _vsniprintf=Module["_vsniprintf"]=wasmExports["vsniprintf"];var ___small_vsnprintf=Module["___small_vsnprintf"]=wasmExports["__small_vsnprintf"];var ___isoc99_vsscanf=Module["___isoc99_vsscanf"]=wasmExports["__isoc99_vsscanf"];var ___isoc99_vswscanf=Module["___isoc99_vswscanf"]=wasmExports["__isoc99_vswscanf"];var _vwprintf=Module["_vwprintf"]=wasmExports["vwprintf"];var _vwscanf=Module["_vwscanf"]=wasmExports["vwscanf"];var ___isoc99_vwscanf=Module["___isoc99_vwscanf"]=wasmExports["__isoc99_vwscanf"];var _wcpcpy=Module["_wcpcpy"]=wasmExports["wcpcpy"];var _wcpncpy=Module["_wcpncpy"]=wasmExports["wcpncpy"];var _wcscasecmp=Module["_wcscasecmp"]=wasmExports["wcscasecmp"];var _wcsncasecmp=Module["_wcsncasecmp"]=wasmExports["wcsncasecmp"];var _wcscasecmp_l=Module["_wcscasecmp_l"]=wasmExports["wcscasecmp_l"];var _wcscat=Module["_wcscat"]=wasmExports["wcscat"];var ___wcscoll_l=Module["___wcscoll_l"]=wasmExports["__wcscoll_l"];var _wcscoll_l=Module["_wcscoll_l"]=wasmExports["wcscoll_l"];var _wcscspn=Module["_wcscspn"]=wasmExports["wcscspn"];var _wcsdup=Module["_wcsdup"]=wasmExports["wcsdup"];var _wmemcpy=Module["_wmemcpy"]=wasmExports["wmemcpy"];var ___wcsftime_l=Module["___wcsftime_l"]=wasmExports["__wcsftime_l"];var _wcstoul=Module["_wcstoul"]=wasmExports["wcstoul"];var _wcsftime_l=Module["_wcsftime_l"]=wasmExports["wcsftime_l"];var _wcsncasecmp_l=Module["_wcsncasecmp_l"]=wasmExports["wcsncasecmp_l"];var _wcsncat=Module["_wcsncat"]=wasmExports["wcsncat"];var _wmemset=Module["_wmemset"]=wasmExports["wmemset"];var _wcsnrtombs=Module["_wcsnrtombs"]=wasmExports["wcsnrtombs"];var _wcspbrk=Module["_wcspbrk"]=wasmExports["wcspbrk"];var _wcsspn=Module["_wcsspn"]=wasmExports["wcsspn"];var _wcsstr=Module["_wcsstr"]=wasmExports["wcsstr"];var _wcstof=Module["_wcstof"]=wasmExports["wcstof"];var _wcstod=Module["_wcstod"]=wasmExports["wcstod"];var _wcstold=Module["_wcstold"]=wasmExports["wcstold"];var _wcstoull=Module["_wcstoull"]=wasmExports["wcstoull"];var _wcstoll=Module["_wcstoll"]=wasmExports["wcstoll"];var _wcstoimax=Module["_wcstoimax"]=wasmExports["wcstoimax"];var _wcstoumax=Module["_wcstoumax"]=wasmExports["wcstoumax"];var _wcswcs=Module["_wcswcs"]=wasmExports["wcswcs"];var _wcswidth=Module["_wcswidth"]=wasmExports["wcswidth"];var _wcwidth=Module["_wcwidth"]=wasmExports["wcwidth"];var ___wcsxfrm_l=Module["___wcsxfrm_l"]=wasmExports["__wcsxfrm_l"];var _wcsxfrm_l=Module["_wcsxfrm_l"]=wasmExports["wcsxfrm_l"];var _wctob=Module["_wctob"]=wasmExports["wctob"];var _wctrans=Module["_wctrans"]=wasmExports["wctrans"];var _towctrans=Module["_towctrans"]=wasmExports["towctrans"];var ___wctrans_l=Module["___wctrans_l"]=wasmExports["__wctrans_l"];var ___towctrans_l=Module["___towctrans_l"]=wasmExports["__towctrans_l"];var _wctrans_l=Module["_wctrans_l"]=wasmExports["wctrans_l"];var _towctrans_l=Module["_towctrans_l"]=wasmExports["towctrans_l"];var _wmemmove=Module["_wmemmove"]=wasmExports["wmemmove"];var _wprintf=Module["_wprintf"]=wasmExports["wprintf"];var _wscanf=Module["_wscanf"]=wasmExports["wscanf"];var ___isoc99_wscanf=Module["___isoc99_wscanf"]=wasmExports["__isoc99_wscanf"];var ___libc_realloc=Module["___libc_realloc"]=wasmExports["__libc_realloc"];var _realloc_in_place=Module["_realloc_in_place"]=wasmExports["realloc_in_place"];var _memalign=Module["_memalign"]=wasmExports["memalign"];var _valloc=Module["_valloc"]=wasmExports["valloc"];var _pvalloc=Module["_pvalloc"]=wasmExports["pvalloc"];var _mallinfo=Module["_mallinfo"]=wasmExports["mallinfo"];var _mallopt=Module["_mallopt"]=wasmExports["mallopt"];var _malloc_trim=Module["_malloc_trim"]=wasmExports["malloc_trim"];var _malloc_usable_size=Module["_malloc_usable_size"]=wasmExports["malloc_usable_size"];var _malloc_footprint=Module["_malloc_footprint"]=wasmExports["malloc_footprint"];var _malloc_max_footprint=Module["_malloc_max_footprint"]=wasmExports["malloc_max_footprint"];var _malloc_footprint_limit=Module["_malloc_footprint_limit"]=wasmExports["malloc_footprint_limit"];var _malloc_set_footprint_limit=Module["_malloc_set_footprint_limit"]=wasmExports["malloc_set_footprint_limit"];var _independent_calloc=Module["_independent_calloc"]=wasmExports["independent_calloc"];var _independent_comalloc=Module["_independent_comalloc"]=wasmExports["independent_comalloc"];var _bulk_free=Module["_bulk_free"]=wasmExports["bulk_free"];var _emscripten_builtin_realloc=Module["_emscripten_builtin_realloc"]=wasmExports["emscripten_builtin_realloc"];var _emscripten_builtin_calloc=Module["_emscripten_builtin_calloc"]=wasmExports["emscripten_builtin_calloc"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=wasmExports["emscripten_get_sbrk_ptr"];var _brk=Module["_brk"]=wasmExports["brk"];var ___trap=wasmExports["__trap"];var ___absvdi2=Module["___absvdi2"]=wasmExports["__absvdi2"];var ___absvsi2=Module["___absvsi2"]=wasmExports["__absvsi2"];var ___absvti2=Module["___absvti2"]=wasmExports["__absvti2"];var ___adddf3=Module["___adddf3"]=wasmExports["__adddf3"];var ___fe_getround=Module["___fe_getround"]=wasmExports["__fe_getround"];var ___fe_raise_inexact=Module["___fe_raise_inexact"]=wasmExports["__fe_raise_inexact"];var ___addsf3=Module["___addsf3"]=wasmExports["__addsf3"];var ___ashlti3=Module["___ashlti3"]=wasmExports["__ashlti3"];var ___lshrti3=Module["___lshrti3"]=wasmExports["__lshrti3"];var ___addvdi3=Module["___addvdi3"]=wasmExports["__addvdi3"];var ___addvsi3=Module["___addvsi3"]=wasmExports["__addvsi3"];var ___addvti3=Module["___addvti3"]=wasmExports["__addvti3"];var ___ashldi3=Module["___ashldi3"]=wasmExports["__ashldi3"];var ___ashrdi3=Module["___ashrdi3"]=wasmExports["__ashrdi3"];var ___ashrti3=Module["___ashrti3"]=wasmExports["__ashrti3"];var ___atomic_is_lock_free=Module["___atomic_is_lock_free"]=wasmExports["__atomic_is_lock_free"];var ___atomic_load=Module["___atomic_load"]=wasmExports["__atomic_load"];var ___atomic_store=Module["___atomic_store"]=wasmExports["__atomic_store"];var ___atomic_compare_exchange=Module["___atomic_compare_exchange"]=wasmExports["__atomic_compare_exchange"];var ___atomic_exchange=Module["___atomic_exchange"]=wasmExports["__atomic_exchange"];var ___atomic_load_1=Module["___atomic_load_1"]=wasmExports["__atomic_load_1"];var ___atomic_load_2=Module["___atomic_load_2"]=wasmExports["__atomic_load_2"];var ___atomic_load_4=Module["___atomic_load_4"]=wasmExports["__atomic_load_4"];var ___atomic_load_8=Module["___atomic_load_8"]=wasmExports["__atomic_load_8"];var ___atomic_load_16=Module["___atomic_load_16"]=wasmExports["__atomic_load_16"];var ___atomic_store_1=Module["___atomic_store_1"]=wasmExports["__atomic_store_1"];var ___atomic_store_2=Module["___atomic_store_2"]=wasmExports["__atomic_store_2"];var ___atomic_store_4=Module["___atomic_store_4"]=wasmExports["__atomic_store_4"];var ___atomic_store_8=Module["___atomic_store_8"]=wasmExports["__atomic_store_8"];var ___atomic_store_16=Module["___atomic_store_16"]=wasmExports["__atomic_store_16"];var ___atomic_exchange_1=Module["___atomic_exchange_1"]=wasmExports["__atomic_exchange_1"];var ___atomic_exchange_2=Module["___atomic_exchange_2"]=wasmExports["__atomic_exchange_2"];var ___atomic_exchange_4=Module["___atomic_exchange_4"]=wasmExports["__atomic_exchange_4"];var ___atomic_exchange_8=Module["___atomic_exchange_8"]=wasmExports["__atomic_exchange_8"];var ___atomic_exchange_16=Module["___atomic_exchange_16"]=wasmExports["__atomic_exchange_16"];var ___atomic_compare_exchange_1=Module["___atomic_compare_exchange_1"]=wasmExports["__atomic_compare_exchange_1"];var ___atomic_compare_exchange_2=Module["___atomic_compare_exchange_2"]=wasmExports["__atomic_compare_exchange_2"];var ___atomic_compare_exchange_4=Module["___atomic_compare_exchange_4"]=wasmExports["__atomic_compare_exchange_4"];var ___atomic_compare_exchange_8=Module["___atomic_compare_exchange_8"]=wasmExports["__atomic_compare_exchange_8"];var ___atomic_compare_exchange_16=Module["___atomic_compare_exchange_16"]=wasmExports["__atomic_compare_exchange_16"];var ___atomic_fetch_add_1=Module["___atomic_fetch_add_1"]=wasmExports["__atomic_fetch_add_1"];var ___atomic_fetch_add_2=Module["___atomic_fetch_add_2"]=wasmExports["__atomic_fetch_add_2"];var ___atomic_fetch_add_4=Module["___atomic_fetch_add_4"]=wasmExports["__atomic_fetch_add_4"];var ___atomic_fetch_add_8=Module["___atomic_fetch_add_8"]=wasmExports["__atomic_fetch_add_8"];var ___atomic_fetch_add_16=Module["___atomic_fetch_add_16"]=wasmExports["__atomic_fetch_add_16"];var ___atomic_fetch_sub_1=Module["___atomic_fetch_sub_1"]=wasmExports["__atomic_fetch_sub_1"];var ___atomic_fetch_sub_2=Module["___atomic_fetch_sub_2"]=wasmExports["__atomic_fetch_sub_2"];var ___atomic_fetch_sub_4=Module["___atomic_fetch_sub_4"]=wasmExports["__atomic_fetch_sub_4"];var ___atomic_fetch_sub_8=Module["___atomic_fetch_sub_8"]=wasmExports["__atomic_fetch_sub_8"];var ___atomic_fetch_sub_16=Module["___atomic_fetch_sub_16"]=wasmExports["__atomic_fetch_sub_16"];var ___atomic_fetch_and_1=Module["___atomic_fetch_and_1"]=wasmExports["__atomic_fetch_and_1"];var ___atomic_fetch_and_2=Module["___atomic_fetch_and_2"]=wasmExports["__atomic_fetch_and_2"];var ___atomic_fetch_and_4=Module["___atomic_fetch_and_4"]=wasmExports["__atomic_fetch_and_4"];var ___atomic_fetch_and_8=Module["___atomic_fetch_and_8"]=wasmExports["__atomic_fetch_and_8"];var ___atomic_fetch_and_16=Module["___atomic_fetch_and_16"]=wasmExports["__atomic_fetch_and_16"];var ___atomic_fetch_or_1=Module["___atomic_fetch_or_1"]=wasmExports["__atomic_fetch_or_1"];var ___atomic_fetch_or_2=Module["___atomic_fetch_or_2"]=wasmExports["__atomic_fetch_or_2"];var ___atomic_fetch_or_4=Module["___atomic_fetch_or_4"]=wasmExports["__atomic_fetch_or_4"];var ___atomic_fetch_or_8=Module["___atomic_fetch_or_8"]=wasmExports["__atomic_fetch_or_8"];var ___atomic_fetch_or_16=Module["___atomic_fetch_or_16"]=wasmExports["__atomic_fetch_or_16"];var ___atomic_fetch_xor_1=Module["___atomic_fetch_xor_1"]=wasmExports["__atomic_fetch_xor_1"];var ___atomic_fetch_xor_2=Module["___atomic_fetch_xor_2"]=wasmExports["__atomic_fetch_xor_2"];var ___atomic_fetch_xor_4=Module["___atomic_fetch_xor_4"]=wasmExports["__atomic_fetch_xor_4"];var ___atomic_fetch_xor_8=Module["___atomic_fetch_xor_8"]=wasmExports["__atomic_fetch_xor_8"];var ___atomic_fetch_xor_16=Module["___atomic_fetch_xor_16"]=wasmExports["__atomic_fetch_xor_16"];var ___atomic_fetch_nand_1=Module["___atomic_fetch_nand_1"]=wasmExports["__atomic_fetch_nand_1"];var ___atomic_fetch_nand_2=Module["___atomic_fetch_nand_2"]=wasmExports["__atomic_fetch_nand_2"];var ___atomic_fetch_nand_4=Module["___atomic_fetch_nand_4"]=wasmExports["__atomic_fetch_nand_4"];var ___atomic_fetch_nand_8=Module["___atomic_fetch_nand_8"]=wasmExports["__atomic_fetch_nand_8"];var ___atomic_fetch_nand_16=Module["___atomic_fetch_nand_16"]=wasmExports["__atomic_fetch_nand_16"];var _atomic_flag_clear=Module["_atomic_flag_clear"]=wasmExports["atomic_flag_clear"];var _atomic_flag_clear_explicit=Module["_atomic_flag_clear_explicit"]=wasmExports["atomic_flag_clear_explicit"];var _atomic_flag_test_and_set=Module["_atomic_flag_test_and_set"]=wasmExports["atomic_flag_test_and_set"];var _atomic_flag_test_and_set_explicit=Module["_atomic_flag_test_and_set_explicit"]=wasmExports["atomic_flag_test_and_set_explicit"];var _atomic_signal_fence=Module["_atomic_signal_fence"]=wasmExports["atomic_signal_fence"];var _atomic_thread_fence=Module["_atomic_thread_fence"]=wasmExports["atomic_thread_fence"];var ___bswapdi2=Module["___bswapdi2"]=wasmExports["__bswapdi2"];var ___bswapsi2=Module["___bswapsi2"]=wasmExports["__bswapsi2"];var ___clear_cache=Module["___clear_cache"]=wasmExports["__clear_cache"];var ___clzdi2=Module["___clzdi2"]=wasmExports["__clzdi2"];var ___clzsi2=Module["___clzsi2"]=wasmExports["__clzsi2"];var ___clzti2=Module["___clzti2"]=wasmExports["__clzti2"];var ___cmpdi2=Module["___cmpdi2"]=wasmExports["__cmpdi2"];var ___cmpti2=Module["___cmpti2"]=wasmExports["__cmpti2"];var ___ledf2=Module["___ledf2"]=wasmExports["__ledf2"];var ___gedf2=Module["___gedf2"]=wasmExports["__gedf2"];var ___unorddf2=Module["___unorddf2"]=wasmExports["__unorddf2"];var ___eqdf2=Module["___eqdf2"]=wasmExports["__eqdf2"];var ___ltdf2=Module["___ltdf2"]=wasmExports["__ltdf2"];var ___nedf2=Module["___nedf2"]=wasmExports["__nedf2"];var ___gtdf2=Module["___gtdf2"]=wasmExports["__gtdf2"];var ___lesf2=Module["___lesf2"]=wasmExports["__lesf2"];var ___gesf2=Module["___gesf2"]=wasmExports["__gesf2"];var ___unordsf2=Module["___unordsf2"]=wasmExports["__unordsf2"];var ___eqsf2=Module["___eqsf2"]=wasmExports["__eqsf2"];var ___ltsf2=Module["___ltsf2"]=wasmExports["__ltsf2"];var ___nesf2=Module["___nesf2"]=wasmExports["__nesf2"];var ___gtsf2=Module["___gtsf2"]=wasmExports["__gtsf2"];var ___ctzdi2=Module["___ctzdi2"]=wasmExports["__ctzdi2"];var ___ctzsi2=Module["___ctzsi2"]=wasmExports["__ctzsi2"];var ___ctzti2=Module["___ctzti2"]=wasmExports["__ctzti2"];var ___divdc3=Module["___divdc3"]=wasmExports["__divdc3"];var ___divdf3=Module["___divdf3"]=wasmExports["__divdf3"];var ___divdi3=Module["___divdi3"]=wasmExports["__divdi3"];var ___udivmoddi4=Module["___udivmoddi4"]=wasmExports["__udivmoddi4"];var ___divmoddi4=Module["___divmoddi4"]=wasmExports["__divmoddi4"];var ___divmodsi4=Module["___divmodsi4"]=wasmExports["__divmodsi4"];var ___udivmodsi4=Module["___udivmodsi4"]=wasmExports["__udivmodsi4"];var ___divmodti4=Module["___divmodti4"]=wasmExports["__divmodti4"];var ___udivmodti4=Module["___udivmodti4"]=wasmExports["__udivmodti4"];var ___divsc3=Module["___divsc3"]=wasmExports["__divsc3"];var ___divsf3=Module["___divsf3"]=wasmExports["__divsf3"];var ___divsi3=Module["___divsi3"]=wasmExports["__divsi3"];var ___divtc3=Module["___divtc3"]=wasmExports["__divtc3"];var ___divti3=Module["___divti3"]=wasmExports["__divti3"];var _setThrew=Module["_setThrew"]=wasmExports["setThrew"];var ___wasm_setjmp=Module["___wasm_setjmp"]=wasmExports["__wasm_setjmp"];var ___wasm_setjmp_test=Module["___wasm_setjmp_test"]=wasmExports["__wasm_setjmp_test"];var ___wasm_longjmp=Module["___wasm_longjmp"]=wasmExports["__wasm_longjmp"];var __emscripten_tempret_set=wasmExports["_emscripten_tempret_set"];var __emscripten_tempret_get=wasmExports["_emscripten_tempret_get"];var ___get_temp_ret=Module["___get_temp_ret"]=wasmExports["__get_temp_ret"];var ___set_temp_ret=Module["___set_temp_ret"]=wasmExports["__set_temp_ret"];var _getTempRet0=Module["_getTempRet0"]=wasmExports["getTempRet0"];var _setTempRet0=Module["_setTempRet0"]=wasmExports["setTempRet0"];var ___emutls_get_address=Module["___emutls_get_address"]=wasmExports["__emutls_get_address"];var ___enable_execute_stack=Module["___enable_execute_stack"]=wasmExports["__enable_execute_stack"];var ___extendhfsf2=Module["___extendhfsf2"]=wasmExports["__extendhfsf2"];var ___gnu_h2f_ieee=Module["___gnu_h2f_ieee"]=wasmExports["__gnu_h2f_ieee"];var ___extendsfdf2=Module["___extendsfdf2"]=wasmExports["__extendsfdf2"];var ___ffsdi2=Module["___ffsdi2"]=wasmExports["__ffsdi2"];var ___ffssi2=Module["___ffssi2"]=wasmExports["__ffssi2"];var ___ffsti2=Module["___ffsti2"]=wasmExports["__ffsti2"];var ___fixdfdi=Module["___fixdfdi"]=wasmExports["__fixdfdi"];var ___fixunsdfdi=Module["___fixunsdfdi"]=wasmExports["__fixunsdfdi"];var ___fixdfsi=Module["___fixdfsi"]=wasmExports["__fixdfsi"];var ___fixdfti=Module["___fixdfti"]=wasmExports["__fixdfti"];var ___fixsfdi=Module["___fixsfdi"]=wasmExports["__fixsfdi"];var ___fixunssfdi=Module["___fixunssfdi"]=wasmExports["__fixunssfdi"];var ___fixsfsi=Module["___fixsfsi"]=wasmExports["__fixsfsi"];var ___fixsfti=Module["___fixsfti"]=wasmExports["__fixsfti"];var ___fixtfti=Module["___fixtfti"]=wasmExports["__fixtfti"];var ___fixunsdfsi=Module["___fixunsdfsi"]=wasmExports["__fixunsdfsi"];var ___fixunsdfti=Module["___fixunsdfti"]=wasmExports["__fixunsdfti"];var ___fixunssfsi=Module["___fixunssfsi"]=wasmExports["__fixunssfsi"];var ___fixunssfti=Module["___fixunssfti"]=wasmExports["__fixunssfti"];var ___fixunstfdi=Module["___fixunstfdi"]=wasmExports["__fixunstfdi"];var ___fixunstfsi=Module["___fixunstfsi"]=wasmExports["__fixunstfsi"];var ___fixunstfti=Module["___fixunstfti"]=wasmExports["__fixunstfti"];var ___floatdidf=Module["___floatdidf"]=wasmExports["__floatdidf"];var ___floatdisf=Module["___floatdisf"]=wasmExports["__floatdisf"];var ___floatditf=Module["___floatditf"]=wasmExports["__floatditf"];var ___floatsidf=Module["___floatsidf"]=wasmExports["__floatsidf"];var ___floatsisf=Module["___floatsisf"]=wasmExports["__floatsisf"];var ___floattidf=Module["___floattidf"]=wasmExports["__floattidf"];var ___floattisf=Module["___floattisf"]=wasmExports["__floattisf"];var ___floattitf=Module["___floattitf"]=wasmExports["__floattitf"];var ___floatundidf=Module["___floatundidf"]=wasmExports["__floatundidf"];var ___floatundisf=Module["___floatundisf"]=wasmExports["__floatundisf"];var ___floatunditf=Module["___floatunditf"]=wasmExports["__floatunditf"];var ___floatunsidf=Module["___floatunsidf"]=wasmExports["__floatunsidf"];var ___floatunsisf=Module["___floatunsisf"]=wasmExports["__floatunsisf"];var ___floatuntidf=Module["___floatuntidf"]=wasmExports["__floatuntidf"];var ___floatuntisf=Module["___floatuntisf"]=wasmExports["__floatuntisf"];var ___floatuntitf=Module["___floatuntitf"]=wasmExports["__floatuntitf"];var ___lshrdi3=Module["___lshrdi3"]=wasmExports["__lshrdi3"];var ___moddi3=Module["___moddi3"]=wasmExports["__moddi3"];var ___modsi3=Module["___modsi3"]=wasmExports["__modsi3"];var ___modti3=Module["___modti3"]=wasmExports["__modti3"];var ___muldf3=Module["___muldf3"]=wasmExports["__muldf3"];var ___muldi3=Module["___muldi3"]=wasmExports["__muldi3"];var ___mulodi4=Module["___mulodi4"]=wasmExports["__mulodi4"];var ___mulosi4=Module["___mulosi4"]=wasmExports["__mulosi4"];var ___muloti4=Module["___muloti4"]=wasmExports["__muloti4"];var ___udivti3=Module["___udivti3"]=wasmExports["__udivti3"];var ___mulsf3=Module["___mulsf3"]=wasmExports["__mulsf3"];var ___mulvdi3=Module["___mulvdi3"]=wasmExports["__mulvdi3"];var ___mulvsi3=Module["___mulvsi3"]=wasmExports["__mulvsi3"];var ___mulvti3=Module["___mulvti3"]=wasmExports["__mulvti3"];var ___negdf2=Module["___negdf2"]=wasmExports["__negdf2"];var ___negdi2=Module["___negdi2"]=wasmExports["__negdi2"];var ___negsf2=Module["___negsf2"]=wasmExports["__negsf2"];var ___negti2=Module["___negti2"]=wasmExports["__negti2"];var ___negvdi2=Module["___negvdi2"]=wasmExports["__negvdi2"];var ___negvsi2=Module["___negvsi2"]=wasmExports["__negvsi2"];var ___negvti2=Module["___negvti2"]=wasmExports["__negvti2"];var ___paritydi2=Module["___paritydi2"]=wasmExports["__paritydi2"];var ___paritysi2=Module["___paritysi2"]=wasmExports["__paritysi2"];var ___parityti2=Module["___parityti2"]=wasmExports["__parityti2"];var ___popcountdi2=Module["___popcountdi2"]=wasmExports["__popcountdi2"];var ___popcountsi2=Module["___popcountsi2"]=wasmExports["__popcountsi2"];var ___popcountti2=Module["___popcountti2"]=wasmExports["__popcountti2"];var ___powidf2=Module["___powidf2"]=wasmExports["__powidf2"];var ___powisf2=Module["___powisf2"]=wasmExports["__powisf2"];var ___powitf2=Module["___powitf2"]=wasmExports["__powitf2"];var _emscripten_stack_init=Module["_emscripten_stack_init"]=wasmExports["emscripten_stack_init"];var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=wasmExports["emscripten_stack_set_limits"];var _emscripten_stack_get_free=Module["_emscripten_stack_get_free"]=wasmExports["emscripten_stack_get_free"];var __emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];var __emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];var ___subdf3=Module["___subdf3"]=wasmExports["__subdf3"];var ___subsf3=Module["___subsf3"]=wasmExports["__subsf3"];var ___subvdi3=Module["___subvdi3"]=wasmExports["__subvdi3"];var ___subvsi3=Module["___subvsi3"]=wasmExports["__subvsi3"];var ___subvti3=Module["___subvti3"]=wasmExports["__subvti3"];var ___truncdfhf2=Module["___truncdfhf2"]=wasmExports["__truncdfhf2"];var ___truncdfsf2=Module["___truncdfsf2"]=wasmExports["__truncdfsf2"];var ___truncsfhf2=Module["___truncsfhf2"]=wasmExports["__truncsfhf2"];var ___gnu_f2h_ieee=Module["___gnu_f2h_ieee"]=wasmExports["__gnu_f2h_ieee"];var ___ucmpdi2=Module["___ucmpdi2"]=wasmExports["__ucmpdi2"];var ___ucmpti2=Module["___ucmpti2"]=wasmExports["__ucmpti2"];var ___udivdi3=Module["___udivdi3"]=wasmExports["__udivdi3"];var ___udivsi3=Module["___udivsi3"]=wasmExports["__udivsi3"];var ___umoddi3=Module["___umoddi3"]=wasmExports["__umoddi3"];var ___umodsi3=Module["___umodsi3"]=wasmExports["__umodsi3"];var ___umodti3=Module["___umodti3"]=wasmExports["__umodti3"];var ___cxa_begin_catch=Module["___cxa_begin_catch"]=wasmExports["__cxa_begin_catch"];var ___cxa_rethrow=Module["___cxa_rethrow"]=wasmExports["__cxa_rethrow"];var ___cxa_end_catch=Module["___cxa_end_catch"]=wasmExports["__cxa_end_catch"];var ___cxa_allocate_exception=Module["___cxa_allocate_exception"]=wasmExports["__cxa_allocate_exception"];var ___cxa_free_exception=Module["___cxa_free_exception"]=wasmExports["__cxa_free_exception"];var ___cxa_throw=wasmExports["__cxa_throw"];var ___cxa_pure_virtual=Module["___cxa_pure_virtual"]=wasmExports["__cxa_pure_virtual"];var ___cxa_uncaught_exceptions=Module["___cxa_uncaught_exceptions"]=wasmExports["__cxa_uncaught_exceptions"];var ___cxa_decrement_exception_refcount=wasmExports["__cxa_decrement_exception_refcount"];var ___cxa_increment_exception_refcount=wasmExports["__cxa_increment_exception_refcount"];var ___cxa_current_primary_exception=Module["___cxa_current_primary_exception"]=wasmExports["__cxa_current_primary_exception"];var ___cxa_rethrow_primary_exception=Module["___cxa_rethrow_primary_exception"]=wasmExports["__cxa_rethrow_primary_exception"];var ___cxa_init_primary_exception=Module["___cxa_init_primary_exception"]=wasmExports["__cxa_init_primary_exception"];var ___dynamic_cast=Module["___dynamic_cast"]=wasmExports["__dynamic_cast"];var ___cxa_bad_cast=Module["___cxa_bad_cast"]=wasmExports["__cxa_bad_cast"];var ___cxa_bad_typeid=Module["___cxa_bad_typeid"]=wasmExports["__cxa_bad_typeid"];var ___cxa_throw_bad_array_new_length=Module["___cxa_throw_bad_array_new_length"]=wasmExports["__cxa_throw_bad_array_new_length"];var ___cxa_get_globals_fast=Module["___cxa_get_globals_fast"]=wasmExports["__cxa_get_globals_fast"];var ___cxa_demangle=wasmExports["__cxa_demangle"];var ___cxa_allocate_dependent_exception=Module["___cxa_allocate_dependent_exception"]=wasmExports["__cxa_allocate_dependent_exception"];var ___cxa_free_dependent_exception=Module["___cxa_free_dependent_exception"]=wasmExports["__cxa_free_dependent_exception"];var ___cxa_get_globals=Module["___cxa_get_globals"]=wasmExports["__cxa_get_globals"];var __Unwind_RaiseException=Module["__Unwind_RaiseException"]=wasmExports["_Unwind_RaiseException"];var ___cxa_get_exception_ptr=Module["___cxa_get_exception_ptr"]=wasmExports["__cxa_get_exception_ptr"];var __Unwind_DeleteException=Module["__Unwind_DeleteException"]=wasmExports["_Unwind_DeleteException"];var ___cxa_call_terminate=Module["___cxa_call_terminate"]=wasmExports["__cxa_call_terminate"];var ___cxa_current_exception_type=Module["___cxa_current_exception_type"]=wasmExports["__cxa_current_exception_type"];var ___cxa_uncaught_exception=Module["___cxa_uncaught_exception"]=wasmExports["__cxa_uncaught_exception"];var ___thrown_object_from_unwind_exception=wasmExports["__thrown_object_from_unwind_exception"];var ___get_exception_message=wasmExports["__get_exception_message"];var ___get_exception_terminate_message=Module["___get_exception_terminate_message"]=wasmExports["__get_exception_terminate_message"];var ___cxa_guard_acquire=Module["___cxa_guard_acquire"]=wasmExports["__cxa_guard_acquire"];var ___cxa_guard_release=Module["___cxa_guard_release"]=wasmExports["__cxa_guard_release"];var ___cxa_guard_abort=Module["___cxa_guard_abort"]=wasmExports["__cxa_guard_abort"];var ___gxx_personality_wasm0=Module["___gxx_personality_wasm0"]=wasmExports["__gxx_personality_wasm0"];var __Unwind_SetGR=Module["__Unwind_SetGR"]=wasmExports["_Unwind_SetGR"];var __Unwind_SetIP=Module["__Unwind_SetIP"]=wasmExports["_Unwind_SetIP"];var __Unwind_GetLanguageSpecificData=Module["__Unwind_GetLanguageSpecificData"]=wasmExports["_Unwind_GetLanguageSpecificData"];var __Unwind_GetIP=Module["__Unwind_GetIP"]=wasmExports["_Unwind_GetIP"];var __Unwind_GetRegionStart=Module["__Unwind_GetRegionStart"]=wasmExports["_Unwind_GetRegionStart"];var ___cxa_call_unexpected=Module["___cxa_call_unexpected"]=wasmExports["__cxa_call_unexpected"];var ___cxa_thread_atexit=Module["___cxa_thread_atexit"]=wasmExports["__cxa_thread_atexit"];var ___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=wasmExports["__cxa_deleted_virtual"];var __Unwind_CallPersonality=Module["__Unwind_CallPersonality"]=wasmExports["_Unwind_CallPersonality"];var _gethostbyaddr_r=Module["_gethostbyaddr_r"]=wasmExports["gethostbyaddr_r"];var _gethostbyname2=Module["_gethostbyname2"]=wasmExports["gethostbyname2"];var _gethostbyname2_r=Module["_gethostbyname2_r"]=wasmExports["gethostbyname2_r"];var _gethostbyname_r=Module["_gethostbyname_r"]=wasmExports["gethostbyname_r"];var _shutdown=Module["_shutdown"]=wasmExports["shutdown"];var _socketpair=Module["_socketpair"]=wasmExports["socketpair"];var ___wasm_apply_data_relocs=wasmExports["__wasm_apply_data_relocs"];var _py_docstring_mod=Module["_py_docstring_mod"]=3472896;var _PyExc_AttributeError=Module["_PyExc_AttributeError"]=2794416;var _stdout=Module["_stdout"]=3326248;var _PyExc_ModuleNotFoundError=Module["_PyExc_ModuleNotFoundError"]=2794320;var __Py_NoneStruct=Module["__Py_NoneStruct"]=2829112;var _internal_error=Module["_internal_error"]=3472904;var _conversion_error=Module["_conversion_error"]=3472908;var _PyExc_ImportError=Module["_PyExc_ImportError"]=2794316;var _pyodide_export_=Module["_pyodide_export_"]=2777896;var _pystate_keepalive_=Module["_pystate_keepalive_"]=2777900;var _pystate_keepalive=Module["_pystate_keepalive"]=3473100;var _compat_null_to_none=Module["_compat_null_to_none"]=3472916;var _py_jsnull=Module["_py_jsnull"]=3473040;var __Py_TrueStruct=Module["__Py_TrueStruct"]=2782740;var __Py_FalseStruct=Module["__Py_FalseStruct"]=2782756;var _Jsr_error=Module["_Jsr_error"]=3473020;var _jsbind=Module["_jsbind"]=3472968;var _PyExc_TypeError=Module["_PyExc_TypeError"]=2794284;var _Jsr_undefined=Module["_Jsr_undefined"]=3473024;var _PyExc_StopIteration=Module["_PyExc_StopIteration"]=2794292;var _PyTraceBack_Type=Module["_PyTraceBack_Type"]=3172108;var _PyExc_GeneratorExit=Module["_PyExc_GeneratorExit"]=2794296;var _PyExc_StopAsyncIteration=Module["_PyExc_StopAsyncIteration"]=2794288;var _PyExc_RuntimeError=Module["_PyExc_RuntimeError"]=2794392;var _PyExc_IndexError=Module["_PyExc_IndexError"]=2794644;var _PyExc_Exception=Module["_PyExc_Exception"]=2794280;var _PyExc_BaseException=Module["_PyExc_BaseException"]=2794276;var _methods=Module["_methods"]=2778704;var _PyExc_SystemError=Module["_PyExc_SystemError"]=2794688;var _PyExc_KeyError=Module["_PyExc_KeyError"]=2794648;var _PySlice_Type=Module["_PySlice_Type"]=2840208;var _PyLong_Type=Module["_PyLong_Type"]=2820356;var _PyBool_Type=Module["_PyBool_Type"]=2782916;var _PyExc_ValueError=Module["_PyExc_ValueError"]=2794308;var _PyExc_NotImplementedError=Module["_PyExc_NotImplementedError"]=2794404;var _PyBaseObject_Type=Module["_PyBaseObject_Type"]=2842248;var _PyExc_OverflowError=Module["_PyExc_OverflowError"]=2794680;var _PyList_Type=Module["_PyList_Type"]=2818768;var _PyTuple_Type=Module["_PyTuple_Type"]=2840720;var __Py_NotImplementedStruct=Module["__Py_NotImplementedStruct"]=2829888;var _default_signature=Module["_default_signature"]=3472976;var _no_default=Module["_no_default"]=3472972;var _PyCoro_Type=Module["_PyCoro_Type"]=2812288;var _PyGen_Type=Module["_PyGen_Type"]=2811760;var _PyDict_Type=Module["_PyDict_Type"]=2821376;var _compat_to_string_repr=Module["_compat_to_string_repr"]=3472992;var _PyMethod_Type=Module["_PyMethod_Type"]=2788072;var _PyFunction_Type=Module["_PyFunction_Type"]=2816628;var _py_buffer_len_offset=Module["_py_buffer_len_offset"]=2781352;var _py_buffer_shape_offset=Module["_py_buffer_shape_offset"]=2781356;var _Jsr_true=Module["_Jsr_true"]=3473028;var _Jsr_false=Module["_Jsr_false"]=3473032;var _Jsr_novalue=Module["_Jsr_novalue"]=3473036;var _PySet_Type=Module["_PySet_Type"]=2838832;var _PyFloat_Type=Module["_PyFloat_Type"]=2814860;var _threadstate_freelist_len=Module["_threadstate_freelist_len"]=3473096;var _threadstate_freelist=Module["_threadstate_freelist"]=3473056;var _stderr=Module["_stderr"]=3325944;var __PyParser_TokenNames=Module["__PyParser_TokenNames"]=2782032;var _PyExc_SyntaxError=Module["_PyExc_SyntaxError"]=2794420;var __PyExc_IncompleteInputError=Module["__PyExc_IncompleteInputError"]=2794432;var _PyExc_LookupError=Module["_PyExc_LookupError"]=2794640;var _PyExc_UnicodeDecodeError=Module["_PyExc_UnicodeDecodeError"]=2794660;var _PyExc_IndentationError=Module["_PyExc_IndentationError"]=2794424;var _PyExc_KeyboardInterrupt=Module["_PyExc_KeyboardInterrupt"]=2794312;var _PyExc_TabError=Module["_PyExc_TabError"]=2794428;var _PyExc_UnicodeError=Module["_PyExc_UnicodeError"]=2794652;var _stdin=Module["_stdin"]=3326096;var _PyExc_MemoryError=Module["_PyExc_MemoryError"]=2794696;var __PyRuntime=Module["__PyRuntime"]=2869344;var _PyComplex_Type=Module["_PyComplex_Type"]=2790364;var _PyUnicode_Type=Module["_PyUnicode_Type"]=285e4;var _PyBytes_Type=Module["_PyBytes_Type"]=2786288;var __Py_EllipsisObject=Module["__Py_EllipsisObject"]=2840064;var __Py_ctype_table=Module["__Py_ctype_table"]=477184;var _PyExc_DeprecationWarning=Module["_PyExc_DeprecationWarning"]=2794920;var _PyExc_SyntaxWarning=Module["_PyExc_SyntaxWarning"]=2794928;var __Py_ctype_tolower=Module["__Py_ctype_tolower"]=478208;var _PyExc_OSError=Module["_PyExc_OSError"]=2794324;var __PyOS_ReadlineTState=Module["__PyOS_ReadlineTState"]=3473172;var _PyOS_InputHook=Module["_PyOS_InputHook"]=3473176;var _PyOS_ReadlineFunctionPointer=Module["_PyOS_ReadlineFunctionPointer"]=3473180;var _PyType_Type=Module["_PyType_Type"]=2841856;var _PyExc_BufferError=Module["_PyExc_BufferError"]=2794908;var _PyCFunction_Type=Module["_PyCFunction_Type"]=2827768;var _PyByteArray_Type=Module["_PyByteArray_Type"]=2784208;var __PyByteArray_empty_string=Module["__PyByteArray_empty_string"]=3473185;var __PyUnion_Type=Module["__PyUnion_Type"]=2852536;var __Py_ctype_toupper=Module["__Py_ctype_toupper"]=478464;var _Py_hexdigits=Module["_Py_hexdigits"]=2858416;var _PyExc_BytesWarning=Module["_PyExc_BytesWarning"]=2794948;var _PyByteArrayIter_Type=Module["_PyByteArrayIter_Type"]=2784480;var __PyLong_DigitValue=Module["__PyLong_DigitValue"]=2819616;var _PyBytesIter_Type=Module["_PyBytesIter_Type"]=2786560;var _PyModule_Type=Module["_PyModule_Type"]=2828520;var _PyCapsule_Type=Module["_PyCapsule_Type"]=2787460;var _PyCell_Type=Module["_PyCell_Type"]=2787720;var _PyInstanceMethod_Type=Module["_PyInstanceMethod_Type"]=2788376;var _PyCode_Type=Module["_PyCode_Type"]=2789564;var _PyFrozenSet_Type=Module["_PyFrozenSet_Type"]=2839392;var _PyExc_ZeroDivisionError=Module["_PyExc_ZeroDivisionError"]=2794684;var _PyMethodDescr_Type=Module["_PyMethodDescr_Type"]=2790832;var _PyClassMethodDescr_Type=Module["_PyClassMethodDescr_Type"]=2791040;var _PyMemberDescr_Type=Module["_PyMemberDescr_Type"]=2791308;var _PyGetSetDescr_Type=Module["_PyGetSetDescr_Type"]=2791580;var _PyWrapperDescr_Type=Module["_PyWrapperDescr_Type"]=2791872;var _PyDictProxy_Type=Module["_PyDictProxy_Type"]=2792816;var _PyProperty_Type=Module["_PyProperty_Type"]=2793276;var _PyReversed_Type=Module["_PyReversed_Type"]=2793984;var _PyEnum_Type=Module["_PyEnum_Type"]=2793712;var _PyExc_BaseExceptionGroup=Module["_PyExc_BaseExceptionGroup"]=2794304;var _PyExc_UnicodeTranslateError=Module["_PyExc_UnicodeTranslateError"]=2794664;var _PyExc_BlockingIOError=Module["_PyExc_BlockingIOError"]=2794328;var _PyExc_BrokenPipeError=Module["_PyExc_BrokenPipeError"]=2794340;var _PyExc_ChildProcessError=Module["_PyExc_ChildProcessError"]=2794336;var _PyExc_ConnectionAbortedError=Module["_PyExc_ConnectionAbortedError"]=2794344;var _PyExc_ConnectionRefusedError=Module["_PyExc_ConnectionRefusedError"]=2794348;var _PyExc_ConnectionResetError=Module["_PyExc_ConnectionResetError"]=2794352;var _PyExc_FileExistsError=Module["_PyExc_FileExistsError"]=2794356;var _PyExc_FileNotFoundError=Module["_PyExc_FileNotFoundError"]=2794360;var _PyExc_IsADirectoryError=Module["_PyExc_IsADirectoryError"]=2794364;var _PyExc_NotADirectoryError=Module["_PyExc_NotADirectoryError"]=2794368;var _PyExc_InterruptedError=Module["_PyExc_InterruptedError"]=2794372;var _PyExc_PermissionError=Module["_PyExc_PermissionError"]=2794376;var _PyExc_ProcessLookupError=Module["_PyExc_ProcessLookupError"]=2794380;var _PyExc_TimeoutError=Module["_PyExc_TimeoutError"]=2794384;var _PyExc_EnvironmentError=Module["_PyExc_EnvironmentError"]=3473188;var _PyExc_IOError=Module["_PyExc_IOError"]=3473192;var _PyExc_SystemExit=Module["_PyExc_SystemExit"]=2794300;var _PyExc_ConnectionError=Module["_PyExc_ConnectionError"]=2794332;var _PyExc_EOFError=Module["_PyExc_EOFError"]=2794388;var _PyExc_RecursionError=Module["_PyExc_RecursionError"]=2794396;var _PyExc_PythonFinalizationError=Module["_PyExc_PythonFinalizationError"]=2794400;var _PyExc_NameError=Module["_PyExc_NameError"]=2794408;var _PyExc_UnboundLocalError=Module["_PyExc_UnboundLocalError"]=2794412;var _PyExc_UnicodeEncodeError=Module["_PyExc_UnicodeEncodeError"]=2794656;var _PyExc_AssertionError=Module["_PyExc_AssertionError"]=2794668;var _PyExc_ArithmeticError=Module["_PyExc_ArithmeticError"]=2794672;var _PyExc_FloatingPointError=Module["_PyExc_FloatingPointError"]=2794676;var _PyExc_ReferenceError=Module["_PyExc_ReferenceError"]=2794692;var _PyExc_Warning=Module["_PyExc_Warning"]=2794912;var _PyExc_UserWarning=Module["_PyExc_UserWarning"]=2794916;var _PyExc_PendingDeprecationWarning=Module["_PyExc_PendingDeprecationWarning"]=2794924;var _PyExc_RuntimeWarning=Module["_PyExc_RuntimeWarning"]=2794932;var _PyExc_FutureWarning=Module["_PyExc_FutureWarning"]=2794936;var _PyExc_ImportWarning=Module["_PyExc_ImportWarning"]=2794940;var _PyExc_UnicodeWarning=Module["_PyExc_UnicodeWarning"]=2794944;var _PyExc_EncodingWarning=Module["_PyExc_EncodingWarning"]=2794952;var _PyExc_ResourceWarning=Module["_PyExc_ResourceWarning"]=2794956;var _Py_GenericAliasType=Module["_Py_GenericAliasType"]=2811212;var _PyAsyncGen_Type=Module["_PyAsyncGen_Type"]=2813068;var __PyAsyncGenASend_Type=Module["__PyAsyncGenASend_Type"]=2813360;var _PyStdPrinter_Type=Module["_PyStdPrinter_Type"]=2814240;var __Py_SwappedOp=Module["__Py_SwappedOp"]=2829120;var _PyFrameLocalsProxy_Type=Module["_PyFrameLocalsProxy_Type"]=2815584;var _PyFrame_Type=Module["_PyFrame_Type"]=2816088;var _PyClassMethod_Type=Module["_PyClassMethod_Type"]=2816972;var _PyStaticMethod_Type=Module["_PyStaticMethod_Type"]=2817308;var _PySeqIter_Type=Module["_PySeqIter_Type"]=2817712;var _PyCallIter_Type=Module["_PyCallIter_Type"]=2817952;var _PyDictKeys_Type=Module["_PyDictKeys_Type"]=2823160;var _PyDictValues_Type=Module["_PyDictValues_Type"]=2823744;var _PyDictItems_Type=Module["_PyDictItems_Type"]=2823456;var _PyListIter_Type=Module["_PyListIter_Type"]=2819040;var _PyListRevIter_Type=Module["_PyListRevIter_Type"]=2819312;var _PyDictIterKey_Type=Module["_PyDictIterKey_Type"]=2821632;var _PyDictRevIterKey_Type=Module["_PyDictRevIterKey_Type"]=2822256;var _PyDictRevIterValue_Type=Module["_PyDictRevIterValue_Type"]=2822672;var _PyDictIterItem_Type=Module["_PyDictIterItem_Type"]=2822048;var _PyDictIterValue_Type=Module["_PyDictIterValue_Type"]=2821840;var _PyDictRevIterItem_Type=Module["_PyDictRevIterItem_Type"]=2822464;var _PyODict_Type=Module["_PyODict_Type"]=2824456;var _PyODictIter_Type=Module["_PyODictIter_Type"]=2824704;var _PyODictKeys_Type=Module["_PyODictKeys_Type"]=2824944;var _PyODictValues_Type=Module["_PyODictValues_Type"]=2825424;var _PyODictItems_Type=Module["_PyODictItems_Type"]=2825184;var _PyMemoryView_Type=Module["_PyMemoryView_Type"]=2826948;var _PyCMethod_Type=Module["_PyCMethod_Type"]=2827976;var _PyModuleDef_Type=Module["_PyModuleDef_Type"]=2828184;var __PyNone_Type=Module["__PyNone_Type"]=2829288;var __PyNotImplemented_Type=Module["__PyNotImplemented_Type"]=2829680;var _PyContextToken_Type=Module["_PyContextToken_Type"]=2859404;var _PyContextVar_Type=Module["_PyContextVar_Type"]=2859096;var _PyContext_Type=Module["_PyContext_Type"]=2858768;var _PyEllipsis_Type=Module["_PyEllipsis_Type"]=2839856;var _PyFilter_Type=Module["_PyFilter_Type"]=2855872;var _PyLongRangeIter_Type=Module["_PyLongRangeIter_Type"]=2837824;var _PyMap_Type=Module["_PyMap_Type"]=2856112;var _PyPickleBuffer_Type=Module["_PyPickleBuffer_Type"]=2836704;var _PyRangeIter_Type=Module["_PyRangeIter_Type"]=2837552;var _PyRange_Type=Module["_PyRange_Type"]=2837280;var _PySetIter_Type=Module["_PySetIter_Type"]=2838080;var _PySuper_Type=Module["_PySuper_Type"]=2842752;var _PyTupleIter_Type=Module["_PyTupleIter_Type"]=2840992;var _PyUnicodeIter_Type=Module["_PyUnicodeIter_Type"]=2850272;var _PyZip_Type=Module["_PyZip_Type"]=2856368;var __PyWeakref_CallableProxyType=Module["__PyWeakref_CallableProxyType"]=2853488;var __PyWeakref_ProxyType=Module["__PyWeakref_ProxyType"]=2853280;var __PyWeakref_RefType=Module["__PyWeakref_RefType"]=2852824;var __PySet_Dummy=Module["__PySet_Dummy"]=2839608;var _PyStructSequence_UnnamedField=Module["_PyStructSequence_UnnamedField"]=2840436;var __Py_ascii_whitespace=Module["__Py_ascii_whitespace"]=325216;var __PyIntrinsics_UnaryFunctions=Module["__PyIntrinsics_UnaryFunctions"]=2864336;var __PyIntrinsics_BinaryFunctions=Module["__PyIntrinsics_BinaryFunctions"]=2864432;var __PyEval_ConversionFuncs=Module["__PyEval_ConversionFuncs"]=2858400;var _Py_EMSCRIPTEN_SIGNAL_HANDLING=Module["_Py_EMSCRIPTEN_SIGNAL_HANDLING"]=3510868;var __PyEval_BinaryOps=Module["__PyEval_BinaryOps"]=2858288;var _PyExc_InterpreterError=Module["_PyExc_InterpreterError"]=2859832;var _PyExc_InterpreterNotFoundError=Module["_PyExc_InterpreterNotFoundError"]=2859836;var _PyUnstable_ExecutableKinds=Module["_PyUnstable_ExecutableKinds"]=2860320;var _Py_Version=Module["_Py_Version"]=460772;var _PyImport_Inittab=Module["_PyImport_Inittab"]=2861984;var __PyImport_FrozenBootstrap=Module["__PyImport_FrozenBootstrap"]=3321056;var _PyImport_FrozenModules=Module["_PyImport_FrozenModules"]=3519688;var __PyImport_FrozenStdlib=Module["__PyImport_FrozenStdlib"]=3321328;var __PyImport_FrozenTest=Module["__PyImport_FrozenTest"]=3321536;var _Py_IgnoreEnvironmentFlag=Module["_Py_IgnoreEnvironmentFlag"]=3509612;var _Py_IsolatedFlag=Module["_Py_IsolatedFlag"]=3509632;var _Py_BytesWarningFlag=Module["_Py_BytesWarningFlag"]=3509604;var _Py_InspectFlag=Module["_Py_InspectFlag"]=3509592;var _Py_InteractiveFlag=Module["_Py_InteractiveFlag"]=3509588;var _Py_OptimizeFlag=Module["_Py_OptimizeFlag"]=3509596;var _Py_DebugFlag=Module["_Py_DebugFlag"]=3509576;var _Py_VerboseFlag=Module["_Py_VerboseFlag"]=3509580;var _Py_QuietFlag=Module["_Py_QuietFlag"]=3509584;var _Py_FrozenFlag=Module["_Py_FrozenFlag"]=3509608;var _Py_UnbufferedStdioFlag=Module["_Py_UnbufferedStdioFlag"]=3509624;var _Py_NoSiteFlag=Module["_Py_NoSiteFlag"]=3509600;var _Py_DontWriteBytecodeFlag=Module["_Py_DontWriteBytecodeFlag"]=3509616;var _Py_NoUserSiteDirectory=Module["_Py_NoUserSiteDirectory"]=3509620;var _Py_HashRandomizationFlag=Module["_Py_HashRandomizationFlag"]=3509628;var _Py_FileSystemDefaultEncoding=Module["_Py_FileSystemDefaultEncoding"]=3509736;var _Py_HasFileSystemDefaultEncoding=Module["_Py_HasFileSystemDefaultEncoding"]=3509740;var _Py_FileSystemDefaultEncodeErrors=Module["_Py_FileSystemDefaultEncodeErrors"]=3509744;var _Py_UTF8Mode=Module["_Py_UTF8Mode"]=3509572;var __Py_HashSecret=Module["__Py_HashSecret"]=3509752;var _PY_TIMEOUT_MAX=Module["_PY_TIMEOUT_MAX"]=492424;var __PyEM_EMSCRIPTEN_COUNT_ARGS_OFFSET=Module["__PyEM_EMSCRIPTEN_COUNT_ARGS_OFFSET"]=493368;var _ffi_type_pointer=Module["_ffi_type_pointer"]=2424916;var _ffi_type_void=Module["_ffi_type_void"]=2424808;var _ffi_type_sint32=Module["_ffi_type_sint32"]=2424880;var _ffi_type_uint8=Module["_ffi_type_uint8"]=2424820;var _ffi_type_double=Module["_ffi_type_double"]=2424940;var _ffi_type_longdouble=Module["_ffi_type_longdouble"]=2424952;var _ffi_type_float=Module["_ffi_type_float"]=2424928;var _ffi_type_sint16=Module["_ffi_type_sint16"]=2424856;var _ffi_type_uint16=Module["_ffi_type_uint16"]=2424844;var _ffi_type_uint32=Module["_ffi_type_uint32"]=2424868;var _ffi_type_sint64=Module["_ffi_type_sint64"]=2424904;var _ffi_type_uint64=Module["_ffi_type_uint64"]=2424892;var _ffi_type_sint8=Module["_ffi_type_sint8"]=2424832;var _environ=Module["_environ"]=3519712;var __deduplicate_map=Module["__deduplicate_map"]=3519692;var _BZ2_crc32Table=Module["_BZ2_crc32Table"]=3321712;var _BZ2_rNums=Module["_BZ2_rNums"]=3322736;var _z_errmsg=Module["_z_errmsg"]=3324976;var __length_code=Module["__length_code"]=2435632;var __dist_code=Module["__dist_code"]=2435120;var _deflate_copyright=Module["_deflate_copyright"]=2430288;var _inflate_copyright=Module["_inflate_copyright"]=2434816;var ___environ=Module["___environ"]=3519712;var ____environ=Module["____environ"]=3519712;var __environ=Module["__environ"]=3519712;var ___stack_chk_guard=Module["___stack_chk_guard"]=3519724;var _daylight=Module["_daylight"]=3519732;var _timezone=Module["_timezone"]=3519728;var ___tzname=Module["___tzname"]=3519736;var ___timezone=Module["___timezone"]=3519728;var ___daylight=Module["___daylight"]=3519732;var _tzname=Module["_tzname"]=3519736;var ___progname=Module["___progname"]=3521664;var ___optreset=Module["___optreset"]=3520628;var _optind=Module["_optind"]=3325224;var ___optpos=Module["___optpos"]=3520632;var _optarg=Module["_optarg"]=3520636;var _optopt=Module["_optopt"]=3520640;var _opterr=Module["_opterr"]=3325228;var _optreset=Module["_optreset"]=3520628;var _h_errno=Module["_h_errno"]=3520764;var ___signgam=Module["___signgam"]=3536060;var __ns_flagdata=Module["__ns_flagdata"]=2622992;var ___progname_full=Module["___progname_full"]=3521668;var _program_invocation_short_name=Module["_program_invocation_short_name"]=3521664;var _program_invocation_name=Module["_program_invocation_name"]=3521668;var ___sig_pending=Module["___sig_pending"]=3526040;var ___sig_actions=Module["___sig_actions"]=3526960;var _signgam=Module["_signgam"]=3536060;var ___THREW__=Module["___THREW__"]=3542864;var ___threwValue=Module["___threwValue"]=3542868;var ___cxa_unexpected_handler=Module["___cxa_unexpected_handler"]=3336596;var ___cxa_terminate_handler=Module["___cxa_terminate_handler"]=3336592;var ___cxa_new_handler=Module["___cxa_new_handler"]=3565664;var ___wasm_lpad_context=Module["___wasm_lpad_context"]=3566208;var _in6addr_any=Module["_in6addr_any"]=2777708;var _in6addr_loopback=Module["_in6addr_loopback"]=2777724;function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;var makeWrapper_pP=f=>a0=>f(a0)>>>0;var makeWrapper_ppp=f=>(a0,a1)=>f(a0,a1)>>>0;var makeWrapper_p_=f=>a0=>f(a0)>>>0;var makeWrapper_pppp=f=>(a0,a1,a2)=>f(a0,a1,a2)>>>0;var makeWrapper_ppppp=f=>(a0,a1,a2,a3)=>f(a0,a1,a2,a3)>>>0;wasmExports["malloc"]=makeWrapper_pp(wasmExports["malloc"]);wasmExports["__errno_location"]=makeWrapper_p(wasmExports["__errno_location"]);wasmExports["sbrk"]=makeWrapper_pP(wasmExports["sbrk"]);wasmExports["calloc"]=makeWrapper_ppp(wasmExports["calloc"]);wasmExports["strerror"]=makeWrapper_p_(wasmExports["strerror"]);wasmExports["pthread_self"]=makeWrapper_p(wasmExports["pthread_self"]);wasmExports["emscripten_stack_get_end"]=makeWrapper_p(wasmExports["emscripten_stack_get_end"]);wasmExports["emscripten_stack_get_base"]=makeWrapper_p(wasmExports["emscripten_stack_get_base"]);wasmExports["emscripten_builtin_malloc"]=makeWrapper_pp(wasmExports["emscripten_builtin_malloc"]);wasmExports["memcpy"]=makeWrapper_pppp(wasmExports["memcpy"]);wasmExports["_emscripten_find_dylib"]=makeWrapper_ppppp(wasmExports["_emscripten_find_dylib"]);wasmExports["emscripten_builtin_memalign"]=makeWrapper_ppp(wasmExports["emscripten_builtin_memalign"]);wasmExports["emscripten_stack_get_current"]=makeWrapper_p(wasmExports["emscripten_stack_get_current"]);wasmExports["emscripten_main_runtime_thread_id"]=makeWrapper_p(wasmExports["emscripten_main_runtime_thread_id"]);wasmExports["memalign"]=makeWrapper_ppp(wasmExports["memalign"]);wasmExports["emscripten_builtin_calloc"]=makeWrapper_ppp(wasmExports["emscripten_builtin_calloc"]);wasmExports["_emscripten_stack_alloc"]=makeWrapper_pp(wasmExports["_emscripten_stack_alloc"]);wasmExports["__cxa_get_exception_ptr"]=makeWrapper_pp(wasmExports["__cxa_get_exception_ptr"]);return wasmExports}function callMain(args=[]){var entryFunction=resolveGlobalSymbol("main").sym;if(!entryFunction)return;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>>2>>>0]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>>2>>>0]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();moduleRtn=readyPromise; return moduleRtn; } ); })(); globalThis._createPyodideModule = _createPyodideModule;