{"version":3,"sources":["jsdelivr-header.js","/npm/libcurl.js@0.7.4/libcurl.mjs"],"names":[],"mappings":"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","file":"/npm/libcurl.js@0.7.4/libcurl.mjs","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/libcurl.js@0.7.4/libcurl.mjs\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*\nading2210/libcurl.js - A port of libcurl to WASM for the browser.\nCopyright (C) 2024 ading2210\nLicensed under the GNU LGPL v3. See https://github.com/ading2210/libcurl.js\n*/\n\n//everything is wrapped in a function to prevent emscripten from polluting the global scope\nexport const libcurl = (function() {\n\n//emscripten compiled code is inserted here\n/* __emscripten_output__ */\nvar Module=typeof Module!=\"undefined\"?Module:{};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==\"object\";var ENVIRONMENT_IS_WORKER=typeof importScripts==\"function\";var ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module[\"ENVIRONMENT\"]){throw new Error(\"Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)\")}var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e==\"object\"&&e.stack){toLog=[e,e.stack]}err(\"exiting due to exception: \"+toLog)}if(ENVIRONMENT_IS_SHELL){if(typeof process==\"object\"&&typeof require===\"function\"||typeof window==\"object\"||typeof importScripts==\"function\")throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");if(typeof read!=\"undefined\"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){let data;if(typeof readbuffer==\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data==\"object\");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof scriptArgs!=\"undefined\"){arguments_=scriptArgs}else if(typeof arguments!=\"undefined\"){arguments_=arguments}if(typeof quit==\"function\"){quit_=((status,toThrow)=>{if(runtimeKeepaliveCounter){throw toThrow}logExceptionOnExit(toThrow);quit(status)})}if(typeof print!=\"undefined\"){if(typeof console==\"undefined\")console={};console.log=print;console.warn=console.error=typeof printErr!=\"undefined\"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}if(!(typeof window==\"object\"||typeof importScripts==\"function\"))throw new Error(\"not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)\");{read_=(url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{throw new Error(\"environment detection error\")}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module[\"arguments\"])arguments_=Module[\"arguments\"];legacyModuleProp(\"arguments\",\"arguments_\");if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];legacyModuleProp(\"thisProgram\",\"thisProgram\");if(Module[\"quit\"])quit_=Module[\"quit\"];legacyModuleProp(\"quit\",\"quit_\");assert(typeof Module[\"memoryInitializerPrefixURL\"]==\"undefined\",\"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"pthreadMainPrefixURL\"]==\"undefined\",\"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"cdInitializerPrefixURL\"]==\"undefined\",\"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"filePackagePrefixURL\"]==\"undefined\",\"Module.filePackagePrefixURL option was removed, use Module.locateFile instead\");assert(typeof Module[\"read\"]==\"undefined\",\"Module.read option was removed (modify read_ in JS)\");assert(typeof Module[\"readAsync\"]==\"undefined\",\"Module.readAsync option was removed (modify readAsync in JS)\");assert(typeof Module[\"readBinary\"]==\"undefined\",\"Module.readBinary option was removed (modify readBinary in JS)\");assert(typeof Module[\"setWindowTitle\"]==\"undefined\",\"Module.setWindowTitle option was removed (modify setWindowTitle in JS)\");assert(typeof Module[\"TOTAL_MEMORY\"]==\"undefined\",\"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY\");legacyModuleProp(\"read\",\"read_\");legacyModuleProp(\"readAsync\",\"readAsync\");legacyModuleProp(\"readBinary\",\"readBinary\");legacyModuleProp(\"setWindowTitle\",\"setWindowTitle\");assert(!ENVIRONMENT_IS_NODE,\"node environment detected but not enabled at build time.  Add 'node' to `-s ENVIRONMENT` to enable.\");assert(!ENVIRONMENT_IS_SHELL,\"shell environment detected but not enabled at build time.  Add 'shell' to `-s ENVIRONMENT` to enable.\");var POINTER_SIZE=4;function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function==\"function\"){var typeNames={\"i\":\"i32\",\"j\":\"i64\",\"f\":\"f32\",\"d\":\"f64\"};var type={parameters:[],results:sig[0]==\"v\"?[]:[typeNames[sig[0]]]};for(var i=1;i<sig.length;++i){type.parameters.push(typeNames[sig[i]])}return new WebAssembly.Function(type,func)}var typeSection=[1,0,1,96];var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={\"i\":127,\"j\":126,\"f\":125,\"d\":124};typeSection.push(sigParam.length);for(var i=0;i<sigParam.length;++i){typeSection.push(typeCodes[sigParam[i]])}if(sigRet==\"v\"){typeSection.push(0)}else{typeSection=typeSection.concat([1,typeCodes[sigRet]])}typeSection[1]=typeSection.length-2;var bytes=new Uint8Array([0,97,115,109,1,0,0,0].concat(typeSection,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0]));var module=new WebAssembly.Module(bytes);var instance=new WebAssembly.Instance(module,{\"e\":{\"f\":func}});var wrappedFunc=instance.exports[\"f\"];return wrappedFunc}var freeTableIndexes=[];var functionsInTableMap;function 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}function updateTableMap(offset,count){for(var i=offset;i<offset+count;i++){var item=getWasmTableEntry(i);if(item){functionsInTableMap.set(item,i)}}}function addFunction(func,sig){assert(typeof func!=\"undefined\");if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}if(functionsInTableMap.has(func)){return functionsInTableMap.get(func)}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}assert(typeof sig!=\"undefined\",\"Missing signature argument to addFunction: \"+func);var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret}function removeFunction(index){functionsInTableMap.delete(getWasmTableEntry(index));freeTableIndexes.push(index)}function legacyModuleProp(prop,newName){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get:function(){abort(\"Module.\"+prop+\" has been replaced with plain \"+newName+\" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)\")}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(\"`Module.\"+prop+\"` was supplied but `\"+prop+\"` not included in INCOMING_MODULE_JS_API\")}}function unexportedMessage(sym,isFSSybol){var msg=\"'\"+sym+\"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)\";if(isFSSybol){msg+=\". Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you\"}return msg}function unexportedRuntimeSymbol(sym,isFSSybol){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get:function(){abort(unexportedMessage(sym,isFSSybol))}})}}function unexportedRuntimeFunction(sym,isFSSybol){if(!Object.getOwnPropertyDescriptor(Module,sym)){Module[sym]=(()=>abort(unexportedMessage(sym,isFSSybol)))}}var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var getTempRet0=()=>tempRet0;var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];legacyModuleProp(\"wasmBinary\",\"wasmBinary\");var noExitRuntime=Module[\"noExitRuntime\"]||true;legacyModuleProp(\"noExitRuntime\",\"noExitRuntime\");if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(\"Assertion failed\"+(text?\": \"+text:\"\"))}}function getCFunc(ident){var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={\"string\":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},\"array\":function(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;assert(returnType!==\"array\",'Return type should not be \"array\".');if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}var ALLOC_NORMAL=0;var ALLOC_STACK=1;function allocate(slab,allocator){var ret;assert(typeof allocator==\"number\",\"allocate no longer takes a type argument\");assert(typeof slab!=\"number\",\"allocate no longer takes a number as arg0\");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);return ret}var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str=\"\";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{if((u0&248)!=240)warnOnce(\"Invalid UTF-8 leading byte 0x\"+u0.toString(16)+\" encountered when deserializing a UTF-8 string in wasm memory to a JS string!\");u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce(\"Invalid Unicode code point 0x\"+u.toString(16)+\" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).\");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite==\"number\",\"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!\");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){assert(array.length>=0,\"writeArrayToMemory array must have a length (should be an array or typed array)\");HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===(str.charCodeAt(i)&255));HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var TOTAL_STACK=5242880;if(Module[\"TOTAL_STACK\"])assert(TOTAL_STACK===Module[\"TOTAL_STACK\"],\"the stack size can no longer be determined at runtime\");var INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||16777216;legacyModuleProp(\"INITIAL_MEMORY\",\"INITIAL_MEMORY\");assert(INITIAL_MEMORY>=TOTAL_STACK,\"INITIAL_MEMORY should be larger than TOTAL_STACK, was \"+INITIAL_MEMORY+\"! (TOTAL_STACK=\"+TOTAL_STACK+\")\");assert(typeof Int32Array!=\"undefined\"&&typeof Float64Array!==\"undefined\"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,\"JS engine does not provide full typed array support\");assert(!Module[\"wasmMemory\"],\"Use of `wasmMemory` detected.  Use -s IMPORTED_MEMORY to define wasmMemory externally\");assert(INITIAL_MEMORY==16777216,\"Detected runtime INITIAL_MEMORY setting.  Use -s IMPORTED_MEMORY to define wasmMemory dynamically\");var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);HEAP32[max+4>>2]=34821223;HEAP32[max+8>>2]=2310721022;HEAP32[0]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();var cookie1=HEAPU32[max+4>>2];var cookie2=HEAPU32[max+8>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(\"Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x\"+cookie2.toString(16)+\" 0x\"+cookie1.toString(16))}if(HEAP32[0]!==1668509029)abort(\"Runtime error: The application has corrupted its heap memory area (address zero)!\")}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw\"Runtime error: expected the system to be little-endian! (Run with -s SUPPORT_BIG_ENDIAN=1 to bypass)\"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){checkStackCookie();assert(!runtimeInitialized);runtimeInitialized=true;if(!Module[\"noFSInit\"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,\"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");assert(Math.fround,\"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");assert(Math.clz32,\"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");assert(Math.trunc,\"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill\");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=\"undefined\"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err(\"still waiting on run dependencies:\")}err(\"dependency: \"+dep)}if(shown){err(\"(end of list)\")}},1e4)}}else{err(\"warning: run dependency added without ID\")}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err(\"warning: run dependency removed without ID\")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};function abort(what){{if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith(\"file://\")}function createExportWrapper(name,fixedasm){return function(){var displayName=name;var asm=fixedasm;if(!fixedasm){asm=Module[\"asm\"]}assert(runtimeInitialized,\"native function `\"+displayName+\"` called before runtime initialization\");assert(!runtimeExited,\"native function `\"+displayName+\"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)\");if(!asm[name]){assert(asm[name],\"exported native function `\"+displayName+\"` not found\")}return asm[name].apply(null,arguments)}}var wasmBinaryFile;wasmBinaryFile=\"emscripten_compiled.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw\"both async and sync fetching of the wasm failed\"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={\"env\":asmLibraryArg,\"wasi_snapshot_preview1\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmMemory=Module[\"asm\"][\"memory\"];assert(wasmMemory,\"memory not found in wasm exports\");updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module[\"asm\"][\"__indirect_function_table\"];assert(wasmTable,\"table not found in wasm exports\");addOnInit(Module[\"asm\"][\"__wasm_call_ctors\"]);removeRunDependency(\"wasm-instantiate\")}addRunDependency(\"wasm-instantiate\");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,\"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?\");trueModule=null;receiveInstance(result[\"instance\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);if(isFileURI(wasmBinaryFile)){err(\"warning: Loading from a file URI (\"+wasmBinaryFile+\") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing\")}abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(wasmBinaryFile)&&typeof fetch==\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback(Module);continue}var func=callback.func;if(typeof func==\"number\"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function demangle(func){warnOnce(\"warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling\");return func}function demangleAll(text){var regex=/\\b_Z[\\w\\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+\" [\"+x+\"]\"})}function getWasmTableEntry(funcPtr){return wasmTable.get(funcPtr)}function handleException(e){if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return\"(no stack trace available)\"}}return error.stack.toString()}function setWasmTableEntry(idx,func){wasmTable.set(idx,func)}function ___assert_fail(condition,filename,line,func){abort(\"Assertion failed: \"+UTF8ToString(condition)+\", at: \"+[filename?UTF8ToString(filename):\"unknown filename\",line,func?UTF8ToString(func):\"unknown function\"])}function ___call_sighandler(fp,sig){getWasmTableEntry(fp)(sig)}var PATH={splitPath:function(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(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:function(path){var isAbsolute=path.charAt(0)===\"/\",trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter(function(p){return!!p}),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path===\"/\")return\"/\";path=PATH.normalize(path);path=path.replace(/\\/$/,\"\");var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join(\"/\"))},join2:function(l,r){return PATH.normalize(l+\"/\"+r)}};function getRandomDevice(){if(typeof crypto==\"object\"&&typeof crypto[\"getRandomValues\"]==\"function\"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else return function(){abort(\"no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };\")}}var PATH_FS={resolve:function(){var resolvedPath=\"\",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[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.charAt(0)===\"/\"}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter(function(p){return!!p}),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=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<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(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;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;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!==null){result+=\"\\n\"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function mmapAlloc(size){abort(\"internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported\")}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,\"/\",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var 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.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(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:function(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<CAPACITY_DOUBLING_MAX?2:1.125)>>>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:function(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:function(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.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(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);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){assert(!(buffer instanceof ArrayBuffer));if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){assert(position===0,\"canOwn must imply no weird position inside the file\");node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(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.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,address,length,position,prot,flags){if(address!==0){throw new FS.ErrnoError(28)}if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===buffer){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}HEAP8.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};function asyncLoad(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency(\"al \"+url):\"\";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file \"'+url+'\" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file \"'+url+'\" failed.'}});if(dep)addRunDependency(dep)}var ERRNO_MESSAGES={0:\"Success\",1:\"Arg list too long\",2:\"Permission denied\",3:\"Address already in use\",4:\"Address not available\",5:\"Address family not supported by protocol family\",6:\"No more processes\",7:\"Socket already connected\",8:\"Bad file number\",9:\"Trying to read unreadable message\",10:\"Mount device busy\",11:\"Operation canceled\",12:\"No children\",13:\"Connection aborted\",14:\"Connection refused\",15:\"Connection reset by peer\",16:\"File locking deadlock error\",17:\"Destination address required\",18:\"Math arg out of domain of func\",19:\"Quota exceeded\",20:\"File exists\",21:\"Bad address\",22:\"File too large\",23:\"Host is unreachable\",24:\"Identifier removed\",25:\"Illegal byte sequence\",26:\"Connection already in progress\",27:\"Interrupted system call\",28:\"Invalid argument\",29:\"I/O error\",30:\"Socket is already connected\",31:\"Is a directory\",32:\"Too many symbolic links\",33:\"Too many open files\",34:\"Too many links\",35:\"Message too long\",36:\"Multihop attempted\",37:\"File or path name too long\",38:\"Network interface is not configured\",39:\"Connection reset by network\",40:\"Network is unreachable\",41:\"Too many open files in system\",42:\"No buffer space available\",43:\"No such device\",44:\"No such file or directory\",45:\"Exec format error\",46:\"No record locks available\",47:\"The link has been severed\",48:\"Not enough core\",49:\"No message of desired type\",50:\"Protocol not available\",51:\"No space left on device\",52:\"Function not implemented\",53:\"Socket is not connected\",54:\"Not a directory\",55:\"Directory not empty\",56:\"State not recoverable\",57:\"Socket operation on non-socket\",59:\"Not a typewriter\",60:\"No such device or address\",61:\"Value too large for defined data type\",62:\"Previous owner died\",63:\"Not super-user\",64:\"Broken pipe\",65:\"Protocol error\",66:\"Unknown protocol\",67:\"Protocol wrong type for socket\",68:\"Math result not representable\",69:\"Read only file system\",70:\"Illegal seek\",71:\"No such process\",72:\"Stale file handle\",73:\"Connection timed out\",74:\"Text file busy\",75:\"Cross-device link\",100:\"Device not a stream\",101:\"Bad font file fmt\",102:\"Invalid slot\",103:\"Invalid request code\",104:\"No anode\",105:\"Block device required\",106:\"Channel number out of range\",107:\"Level 3 halted\",108:\"Level 3 reset\",109:\"Link number out of range\",110:\"Protocol driver not attached\",111:\"No CSI structure available\",112:\"Level 2 halted\",113:\"Invalid exchange\",114:\"Invalid request descriptor\",115:\"Exchange full\",116:\"No data (for no delay io)\",117:\"Timer expired\",118:\"Out of streams resources\",119:\"Machine is not on the network\",120:\"Package not installed\",121:\"The object is remote\",122:\"Advertise error\",123:\"Srmount error\",124:\"Communication error on send\",125:\"Cross mount point (not really error)\",126:\"Given log. name not unique\",127:\"f.d. invalid for this operation\",128:\"Remote address changed\",129:\"Can   access a needed shared lib\",130:\"Accessing a corrupted shared lib\",131:\".lib section in a.out corrupted\",132:\"Attempting to link in too many libs\",133:\"Attempting to exec a shared library\",135:\"Streams pipe error\",136:\"Too many users\",137:\"Socket type not supported\",138:\"Not supported\",139:\"Protocol family not supported\",140:\"Can't send after socket shutdown\",141:\"Too many references\",142:\"Host is down\",148:\"No medium (in tape drive)\",156:\"Level 2 not synchronized\"};var ERRNO_CODES={};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:\"\",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split(\"/\").filter(p=>!!p),false);var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?mount+\"/\"+path:mount+path}path=path?node.name+\"/\"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>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,parent)}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)=>{assert(typeof parent==\"object\");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},flagModes:{\"r\":0,\"r+\":2,\"w\":577,\"w+\":578,\"a\":1089,\"a+\":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags==\"undefined\"){throw new Error(\"Unknown file open mode: \"+str)}return flags},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=>{var errCode=FS.nodePermissions(dir,\"x\");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{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){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){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.apply(check,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){assert(FS.syncFSRequests>0);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)=>{if(typeof type==\"string\"){throw type}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:type,opts:opts,mountpoint: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);assert(idx!==-1);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||name===\".\"||name===\"..\"){throw new FS.ErrnoError(28)}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)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split(\"/\");var d=\"\";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+=\"/\"+dirs[i];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)}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)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},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)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.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)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},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 PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path==\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},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}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}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)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode,fd_start,fd_end)=>{if(path===\"\"){throw new FS.ErrnoError(44)}flags=typeof flags==\"string\"?FS.modeStringToFlags(flags):flags;mode=typeof mode==\"undefined\"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==\"object\"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,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){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}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},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=[];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;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;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,address,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)}return stream.stream_ops.mmap(stream,address,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,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,0)}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});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 random_device=getRandomDevice();FS.createDevice(\"/dev\",\"random\",random_device);FS.createDevice(\"/dev\",\"urandom\",random_device);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\",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},\"/proc/self/fd\")},createStandardStreams:()=>{if(Module[\"stdin\"]){FS.createDevice(\"/dev\",\"stdin\",Module[\"stdin\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(Module[\"stdout\"]){FS.createDevice(\"/dev\",\"stdout\",null,Module[\"stdout\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(Module[\"stderr\"]){FS.createDevice(\"/dev\",\"stderr\",null,Module[\"stderr\"])}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);assert(stdin.fd===0,\"invalid handle for stdin (\"+stdin.fd+\")\");assert(stdout.fd===1,\"invalid handle for stdout (\"+stdout.fd+\")\");assert(stderr.fd===2,\"invalid handle for stderr (\"+stderr.fd+\")\")},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}};this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack){Object.defineProperty(this,\"stack\",{value:(new Error).stack,writable:true});this.stack=demangleAll(this.stack)}};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=\"<generic error, no stack>\"})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={\"MEMFS\":MEMFS}},init:(input,output,error)=>{assert(!FS.init.initialized,\"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)\");FS.init.initialized=true;FS.ensureErrnoError();Module[\"stdin\"]=input||Module[\"stdin\"];Module[\"stdout\"]=output||Module[\"stdout\"];Module[\"stderr\"]=error||Module[\"stderr\"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;___stdio_exit();for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{return null}},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){}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;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:(parent,name,input,output)=>{var path=PATH.join2(typeof parent==\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:(stream,buffer,offset,length,pos)=>{for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile:obj=>{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error(\"Cannot load without read() or XMLHttpRequest.\")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_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||[])}else{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};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;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url: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]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=((stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size});node.stream_ops=stream_ops;return node},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){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return\"EM_FS_\"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=(()=>{out(\"creating db\");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)});openRequest.onsuccess=(()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],\"readwrite\");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=(()=>{ok++;if(ok+fail==total)finish()});putRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=(()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],\"readonly\")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=(()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()});getRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror},absolutePath:()=>{abort(\"FS.absolutePath has been removed; use PATH_FS.resolve instead\")},createFolder:()=>{abort(\"FS.createFolder has been removed; use FS.mkdir instead\")},createLink:()=>{abort(\"FS.createLink has been removed; use FS.symlink instead\")},joinPath:()=>{abort(\"FS.joinPath has been removed; use PATH.join instead\")},mmapAlloc:()=>{abort(\"FS.mmapAlloc has been replaced by the top level function mmapAlloc\")},standardizePath:()=>{abort(\"FS.standardizePath has been removed; use PATH.normalize instead\")}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(path[0]===\"/\"){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]===\"/\")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){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},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){if(low>=0)assert(high===0);else assert(high===-1);return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}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]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var SOCKFS={mount:function(mount){Module[\"websocket\"]=Module[\"websocket\"]&&\"object\"===typeof Module[\"websocket\"]?Module[\"websocket\"]:{};Module[\"websocket\"]._callbacks={};Module[\"websocket\"][\"on\"]=function(event,callback){if(\"function\"===typeof callback){this._callbacks[event]=callback}return this};Module[\"websocket\"].emit=function(event,param){if(\"function\"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,\"/\",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol: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:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(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:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return\"socket[\"+SOCKFS.nextname.current+++\"]\"},websocket_sock_ops:{createPeer:function(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 runtimeConfig=Module[\"websocket\"]&&\"object\"===typeof Module[\"websocket\"];var url=\"ws:#\".replace(\"#\",\"//\");if(runtimeConfig){if(\"string\"===typeof Module[\"websocket\"][\"url\"]){url=Module[\"websocket\"][\"url\"]}}if(url===\"ws://\"||url===\"wss://\"){var parts=addr.split(\"/\");url=url+parts[0]+\":\"+port+\"/\"+parts.slice(1).join(\"/\")}var subProtocols=\"binary\";if(runtimeConfig){if(\"string\"===typeof Module[\"websocket\"][\"subprotocol\"]){subProtocols=Module[\"websocket\"][\"subprotocol\"]}}var opts=undefined;var parts = addr.split(\"/\");\nif (!url.endsWith(\"/\")) url += \"/\";\nurl += parts[0] + \":\" + port;if(subProtocols!==\"null\"){subProtocols=subProtocols.replace(/^ +| +$/g,\"\").split(/ *, */);opts=ENVIRONMENT_IS_NODE?{\"protocol\":subProtocols.toString()}:subProtocols}if(runtimeConfig&&null===Module[\"websocket\"][\"subprotocol\"]){subProtocols=\"null\";opts=undefined}var WebSocketConstructor;{WebSocketConstructor=WebSocket}try {\n  if (api.transport === \"wisp\") {\n    ws = new WispWebSocket(url);\n  }\n  else if (api.transport === \"wsproxy\") {\n    ws = new WebSocket(url);\n  }\n  else if (typeof api.transport === \"string\") {\n    throw new TypeError(\"invalid transport type\");\n  }\n  else { //custom transports\n    ws = new api.transport(url);\n  }\n}\ncatch (e) {\n  error_msg(\"Error while creating a TCP connection: \" + e);\n  throw e;\n};ws.binaryType=\"arraybuffer\"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_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.dgram_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:function(sock,addr,port){return sock.peers[addr+\":\"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+\":\"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+\":\"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module[\"websocket\"].emit(\"open\",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_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}else{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:data});Module[\"websocket\"].emit(\"message\",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on(\"open\",handleOpen);peer.socket.on(\"message\",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on(\"close\",function(){Module[\"websocket\"].emit(\"close\",sock.stream.fd)});peer.socket.on(\"error\",function(error){sock.error=14;Module[\"websocket\"].emit(\"error\",[sock.stream.fd,sock.error,\"ECONNREFUSED: Connection refused\"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module[\"websocket\"].emit(\"close\",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module[\"websocket\"].emit(\"error\",[sock.stream.fd,sock.error,\"ECONNREFUSED: Connection refused\"])}}},poll:function(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){mask|=16}return mask},ioctl:function(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]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind:function(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 instanceof FS.ErrnoError))throw e;if(e.errno!==138)throw e}}},connect:function(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;throw new FS.ErrnoError(26)},listen:function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}},accept:function(listensock){if(!listensock.server){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname:function(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:addr,port:port}},sendmsg:function(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)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(6)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data;data=buffer.slice(offset,offset+length);if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg:function(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)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(6)}}else{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<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res}}};function getSocketFromFD(fd){var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function inetNtop4(addr){return(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255)}function inetNtop6(ints){var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str}function readSockaddr(sa,salen){var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function 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}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(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:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}function ___syscall_bind(fd,addr,addrlen){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 instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_connect(fd,addr,addrlen){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 instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstatat64(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~4352;assert(!flags,flags);path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size<cwdLengthInBytes+1)return-68;stringToUTF8(cwd,buf,size);return buf}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getdents64(fd,dirp,count){try{var stream=SYSCALLS.getStreamFromFD(fd);if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var idx=Math.floor(off/struct_size);while(idx<stream.getdents.length&&pos+struct_size<=count){var id;var type;var name=stream.getdents[idx];if(name===\".\"){id=stream.node.id;type=4}else if(name===\"..\"){var lookup=FS.lookupPath(stream.path,{parent:true});id=lookup.node.id;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}assert(id);tempI64=[id>>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}function ___syscall_getsockname(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||\"0.0.0.0\"),sock.sport,addrlen);assert(!errno);return 0}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getsockopt(fd,level,optname,optval,optlen){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort(\"bad ioctl syscall \"+op)}}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,\"/\",16384|511,0)},createPipe:function(){var pipe={buckets:[],refcnt:2};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:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];if(bucket.offset-bucket.roffset>0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return 28},fsync:function(stream){return 28},read:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];currentLength+=bucket.offset-bucket.roffset}assert(buffer instanceof ArrayBuffer||ArrayBuffer.isView(buffer));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 i=0;i<pipe.buckets.length;i++){var currBucket=pipe.buckets[i];var bucketSize=currBucket.offset-currBucket.roffset;if(toRead<=bucketSize){var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);if(toRead<bucketSize){tmpSlice=tmpSlice.subarray(0,toRead);currBucket.roffset+=toRead}else{toRemove++}data.set(tmpSlice);break}else{var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);data.set(tmpSlice);data=data.subarray(tmpSlice.byteLength);toRead-=tmpSlice.byteLength;toRemove++}}if(toRemove&&toRemove==pipe.buckets.length){toRemove--;pipe.buckets[toRemove].offset=0;pipe.buckets[toRemove].roffset=0}pipe.buckets.splice(0,toRemove);return totalRead},write:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;assert(buffer instanceof ArrayBuffer||ArrayBuffer.isView(buffer));var data=buffer.subarray(offset,offset+length);var dataLen=data.byteLength;if(dataLen<=0){return 0}var currBucket=null;if(pipe.buckets.length==0){currBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0};pipe.buckets.push(currBucket)}else{currBucket=pipe.buckets[pipe.buckets.length-1]}assert(currBucket.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var freeBytesInCurrBuffer=PIPEFS.BUCKET_BUFFER_SIZE-currBucket.offset;if(freeBytesInCurrBuffer>=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;i<numBuckets;i++){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE));data=data.subarray(PIPEFS.BUCKET_BUFFER_SIZE,data.byteLength)}if(remElements>0){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:function(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return\"pipe[\"+PIPEFS.nextname.current+++\"]\"}};function ___syscall_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i<nfds;i++){var pollfd=fds+8*i;var fd=HEAP32[pollfd>>2];var events=HEAP16[pollfd+4>>1];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)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_readlink(path,buf,bufsize){try{path=SYSCALLS.getStr(path);return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){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);assert(!errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_rename(old_path,new_path){try{old_path=SYSCALLS.getStr(old_path);new_path=SYSCALLS.getStr(new_path);FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}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 instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_unlink(path){try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __emscripten_throw_longjmp(){throw Infinity}function __gmtime_js(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=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]=yday}function _tzset_impl(timezone,daylight,tzname){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);HEAP32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return match?match[1]:\"GMT\"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset<winterOffset){HEAP32[tzname>>2]=winterNamePtr;HEAP32[tzname+4>>2]=summerNamePtr}else{HEAP32[tzname>>2]=summerNamePtr;HEAP32[tzname+4>>2]=winterNamePtr}}function __tzset_js(timezone,daylight,tzname){if(__tzset_js.called)return;__tzset_js.called=true;_tzset_impl(timezone,daylight,tzname)}function callUserCallback(func,synchronous){if(runtimeExited||ABORT){err(\"user callback triggered after runtime exited or application aborted.  Ignoring.\");return}if(synchronous){func();return}try{func()}catch(e){handleException(e)}}function _alarm(seconds){setTimeout(function(){callUserCallback(function(){_raise(14)})},seconds*1e3)}var _emscripten_get_now;_emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _emscripten_console_error(str){assert(typeof str==\"number\");console.error(UTF8ToString(str))}function _emscripten_get_heap_max(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){err(\"emscripten_realloc_buffer: Attempted to grow heap from \"+buffer.byteLength+\" bytes to \"+size+\" bytes, but got error: \"+e)}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;assert(requestedSize>oldSize);var maxHeapSize=_emscripten_get_heap_max();if(requestedSize>maxHeapSize){err(\"Cannot enlarge memory, asked to go up to \"+requestedSize+\" bytes, but the limit is \"+maxHeapSize+\" bytes!\");return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}err(\"Failed to grow the heap from \"+oldSize+\" bytes to \"+newSize+\" bytes, not enough memory!\");return false}var ENV={};function getExecutableName(){return thisProgram||\"./this.program\"}function 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){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==\"undefined\"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _getTempRet0(){return getTempRet0()}function _getaddrinfo(node,service,hint,out){var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}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]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=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);HEAP32[out>>2]=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);HEAP32[out>>2]=ai;return 0}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __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 _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value==\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={\"%a\":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},\"%A\":function(date){return WEEKDAYS[date.tm_wday]},\"%b\":function(date){return MONTHS[date.tm_mon].substring(0,3)},\"%B\":function(date){return MONTHS[date.tm_mon]},\"%C\":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":function(date){return leadingNulls(date.tm_mday,2)},\"%e\":function(date){return leadingSomething(date.tm_mday,2,\" \")},\"%g\":function(date){return getWeekBasedYear(date).toString().substring(2)},\"%G\":function(date){return getWeekBasedYear(date)},\"%H\":function(date){return leadingNulls(date.tm_hour,2)},\"%I\":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},\"%m\":function(date){return leadingNulls(date.tm_mon+1,2)},\"%M\":function(date){return leadingNulls(date.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}else{return\"PM\"}},\"%S\":function(date){return leadingNulls(date.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(date){return date.tm_wday||7},\"%U\":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?\"01\":\"00\"},\"%V\":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return\"53\"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return\"01\"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},\"%w\":function(date){return date.tm_wday},\"%W\":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?\"01\":\"00\"},\"%y\":function(date){return(date.tm_year+1900).toString().substring(2)},\"%Y\":function(date){return date.tm_year+1900},\"%z\":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":function(date){return date.tm_zone},\"%%\":function(){return\"%\"}};pattern=pattern.replace(/%%/g,\"\\0\\0\");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\\0\\0/g,\"%\");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();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 ASSERTIONS=true;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function checkIncomingModuleAPI(){ignoredModuleProp(\"fetchSettings\")}var asmLibraryArg={\"__assert_fail\":___assert_fail,\"__call_sighandler\":___call_sighandler,\"__syscall__newselect\":___syscall__newselect,\"__syscall_bind\":___syscall_bind,\"__syscall_connect\":___syscall_connect,\"__syscall_fcntl64\":___syscall_fcntl64,\"__syscall_fstat64\":___syscall_fstat64,\"__syscall_fstatat64\":___syscall_fstatat64,\"__syscall_getcwd\":___syscall_getcwd,\"__syscall_getdents64\":___syscall_getdents64,\"__syscall_getsockname\":___syscall_getsockname,\"__syscall_getsockopt\":___syscall_getsockopt,\"__syscall_ioctl\":___syscall_ioctl,\"__syscall_lstat64\":___syscall_lstat64,\"__syscall_open\":___syscall_open,\"__syscall_pipe\":___syscall_pipe,\"__syscall_poll\":___syscall_poll,\"__syscall_readlink\":___syscall_readlink,\"__syscall_recvfrom\":___syscall_recvfrom,\"__syscall_rename\":___syscall_rename,\"__syscall_rmdir\":___syscall_rmdir,\"__syscall_sendto\":___syscall_sendto,\"__syscall_socket\":___syscall_socket,\"__syscall_stat64\":___syscall_stat64,\"__syscall_unlink\":___syscall_unlink,\"_emscripten_throw_longjmp\":__emscripten_throw_longjmp,\"_gmtime_js\":__gmtime_js,\"_tzset_js\":__tzset_js,\"alarm\":_alarm,\"clock_gettime\":_clock_gettime,\"emscripten_console_error\":_emscripten_console_error,\"emscripten_resize_heap\":_emscripten_resize_heap,\"environ_get\":_environ_get,\"environ_sizes_get\":_environ_sizes_get,\"fd_close\":_fd_close,\"fd_read\":_fd_read,\"fd_seek\":_fd_seek,\"fd_write\":_fd_write,\"getTempRet0\":_getTempRet0,\"getaddrinfo\":_getaddrinfo,\"gettimeofday\":_gettimeofday,\"invoke_i\":invoke_i,\"invoke_ii\":invoke_ii,\"invoke_iiii\":invoke_iiii,\"invoke_iiiiiii\":invoke_iiiiiii,\"invoke_jii\":invoke_jii,\"invoke_vi\":invoke_vi,\"invoke_viii\":invoke_viii,\"setTempRet0\":_setTempRet0,\"strftime\":_strftime,\"time\":_time};if (wasmBinaryFile && isDataURI(wasmBinaryFile)) var asm = createWasm();\nelse var asm = null;var ___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=createExportWrapper(\"__wasm_call_ctors\");var _get_cacert=Module[\"_get_cacert\"]=createExportWrapper(\"get_cacert\");var _malloc=Module[\"_malloc\"]=createExportWrapper(\"malloc\");var _init_curl=Module[\"_init_curl\"]=createExportWrapper(\"init_curl\");var _http_set_options=Module[\"_http_set_options\"]=createExportWrapper(\"http_set_options\");var _free=Module[\"_free\"]=createExportWrapper(\"free\");var _http_set_cookie_jar=Module[\"_http_set_cookie_jar\"]=createExportWrapper(\"http_set_cookie_jar\");var _http_get_info=Module[\"_http_get_info\"]=createExportWrapper(\"http_get_info\");var _create_request=Module[\"_create_request\"]=createExportWrapper(\"create_request\");var _request_cleanup=Module[\"_request_cleanup\"]=createExportWrapper(\"request_cleanup\");var _request_set_proxy=Module[\"_request_set_proxy\"]=createExportWrapper(\"request_set_proxy\");var _session_create=Module[\"_session_create\"]=createExportWrapper(\"session_create\");var _session_perform=Module[\"_session_perform\"]=createExportWrapper(\"session_perform\");var _session_set_options=Module[\"_session_set_options\"]=createExportWrapper(\"session_set_options\");var _session_add_request=Module[\"_session_add_request\"]=createExportWrapper(\"session_add_request\");var _session_get_active=Module[\"_session_get_active\"]=createExportWrapper(\"session_get_active\");var _session_remove_request=Module[\"_session_remove_request\"]=createExportWrapper(\"session_remove_request\");var _session_cleanup=Module[\"_session_cleanup\"]=createExportWrapper(\"session_cleanup\");var _recv_from_socket=Module[\"_recv_from_socket\"]=createExportWrapper(\"recv_from_socket\");var _send_to_socket=Module[\"_send_to_socket\"]=createExportWrapper(\"send_to_socket\");var _tls_socket_set_options=Module[\"_tls_socket_set_options\"]=createExportWrapper(\"tls_socket_set_options\");var _get_version=Module[\"_get_version\"]=createExportWrapper(\"get_version\");var _get_error_str=Module[\"_get_error_str\"]=createExportWrapper(\"get_error_str\");var _recv_from_websocket=Module[\"_recv_from_websocket\"]=createExportWrapper(\"recv_from_websocket\");var _send_to_websocket=Module[\"_send_to_websocket\"]=createExportWrapper(\"send_to_websocket\");var _close_websocket=Module[\"_close_websocket\"]=createExportWrapper(\"close_websocket\");var _websocket_set_options=Module[\"_websocket_set_options\"]=createExportWrapper(\"websocket_set_options\");var _get_result_size=Module[\"_get_result_size\"]=createExportWrapper(\"get_result_size\");var _get_result_buffer=Module[\"_get_result_buffer\"]=createExportWrapper(\"get_result_buffer\");var _get_result_code=Module[\"_get_result_code\"]=createExportWrapper(\"get_result_code\");var _get_result_closed=Module[\"_get_result_closed\"]=createExportWrapper(\"get_result_closed\");var _get_result_bytes_left=Module[\"_get_result_bytes_left\"]=createExportWrapper(\"get_result_bytes_left\");var _get_result_is_text=Module[\"_get_result_is_text\"]=createExportWrapper(\"get_result_is_text\");var ___errno_location=Module[\"___errno_location\"]=createExportWrapper(\"__errno_location\");var _ntohs=Module[\"_ntohs\"]=createExportWrapper(\"ntohs\");var _htons=Module[\"_htons\"]=createExportWrapper(\"htons\");var _saveSetjmp=Module[\"_saveSetjmp\"]=createExportWrapper(\"saveSetjmp\");var _htonl=Module[\"_htonl\"]=createExportWrapper(\"htonl\");var ___stdio_exit=Module[\"___stdio_exit\"]=createExportWrapper(\"__stdio_exit\");var _raise=Module[\"_raise\"]=createExportWrapper(\"raise\");var _setThrew=Module[\"_setThrew\"]=createExportWrapper(\"setThrew\");var _emscripten_stack_init=Module[\"_emscripten_stack_init\"]=function(){return(_emscripten_stack_init=Module[\"_emscripten_stack_init\"]=Module[\"asm\"][\"emscripten_stack_init\"]).apply(null,arguments)};var _emscripten_stack_get_free=Module[\"_emscripten_stack_get_free\"]=function(){return(_emscripten_stack_get_free=Module[\"_emscripten_stack_get_free\"]=Module[\"asm\"][\"emscripten_stack_get_free\"]).apply(null,arguments)};var _emscripten_stack_get_base=Module[\"_emscripten_stack_get_base\"]=function(){return(_emscripten_stack_get_base=Module[\"_emscripten_stack_get_base\"]=Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null,arguments)};var _emscripten_stack_get_end=Module[\"_emscripten_stack_get_end\"]=function(){return(_emscripten_stack_get_end=Module[\"_emscripten_stack_get_end\"]=Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null,arguments)};var stackSave=Module[\"stackSave\"]=createExportWrapper(\"stackSave\");var stackRestore=Module[\"stackRestore\"]=createExportWrapper(\"stackRestore\");var stackAlloc=Module[\"stackAlloc\"]=createExportWrapper(\"stackAlloc\");var dynCall_jii=Module[\"dynCall_jii\"]=createExportWrapper(\"dynCall_jii\");var dynCall_iiji=Module[\"dynCall_iiji\"]=createExportWrapper(\"dynCall_iiji\");var dynCall_iiij=Module[\"dynCall_iiij\"]=createExportWrapper(\"dynCall_iiij\");var dynCall_iiiiijjii=Module[\"dynCall_iiiiijjii\"]=createExportWrapper(\"dynCall_iiiiijjii\");var dynCall_jiji=Module[\"dynCall_jiji\"]=createExportWrapper(\"dynCall_jiji\");function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}unexportedRuntimeFunction(\"intArrayFromString\",false);unexportedRuntimeFunction(\"intArrayToString\",false);unexportedRuntimeFunction(\"ccall\",false);unexportedRuntimeFunction(\"cwrap\",false);unexportedRuntimeFunction(\"setValue\",false);unexportedRuntimeFunction(\"getValue\",false);Module[\"allocate\"]=allocate;unexportedRuntimeFunction(\"UTF8ArrayToString\",false);unexportedRuntimeFunction(\"UTF8ToString\",false);unexportedRuntimeFunction(\"stringToUTF8Array\",false);unexportedRuntimeFunction(\"stringToUTF8\",false);unexportedRuntimeFunction(\"lengthBytesUTF8\",false);unexportedRuntimeFunction(\"stackTrace\",false);unexportedRuntimeFunction(\"addOnPreRun\",false);unexportedRuntimeFunction(\"addOnInit\",false);unexportedRuntimeFunction(\"addOnPreMain\",false);unexportedRuntimeFunction(\"addOnExit\",false);unexportedRuntimeFunction(\"addOnPostRun\",false);unexportedRuntimeFunction(\"writeStringToMemory\",false);unexportedRuntimeFunction(\"writeArrayToMemory\",false);unexportedRuntimeFunction(\"writeAsciiToMemory\",false);unexportedRuntimeFunction(\"addRunDependency\",true);unexportedRuntimeFunction(\"removeRunDependency\",true);unexportedRuntimeFunction(\"FS_createFolder\",false);unexportedRuntimeFunction(\"FS_createPath\",true);unexportedRuntimeFunction(\"FS_createDataFile\",true);unexportedRuntimeFunction(\"FS_createPreloadedFile\",true);unexportedRuntimeFunction(\"FS_createLazyFile\",true);unexportedRuntimeFunction(\"FS_createLink\",false);unexportedRuntimeFunction(\"FS_createDevice\",true);unexportedRuntimeFunction(\"FS_unlink\",true);unexportedRuntimeFunction(\"getLEB\",false);unexportedRuntimeFunction(\"getFunctionTables\",false);unexportedRuntimeFunction(\"alignFunctionTables\",false);unexportedRuntimeFunction(\"registerFunctions\",false);Module[\"addFunction\"]=addFunction;Module[\"removeFunction\"]=removeFunction;unexportedRuntimeFunction(\"getFuncWrapper\",false);unexportedRuntimeFunction(\"prettyPrint\",false);unexportedRuntimeFunction(\"dynCall\",false);unexportedRuntimeFunction(\"getCompilerSetting\",false);unexportedRuntimeFunction(\"print\",false);unexportedRuntimeFunction(\"printErr\",false);unexportedRuntimeFunction(\"getTempRet0\",false);unexportedRuntimeFunction(\"setTempRet0\",false);unexportedRuntimeFunction(\"callMain\",false);unexportedRuntimeFunction(\"abort\",false);unexportedRuntimeFunction(\"keepRuntimeAlive\",false);unexportedRuntimeFunction(\"zeroMemory\",false);unexportedRuntimeFunction(\"stringToNewUTF8\",false);unexportedRuntimeFunction(\"emscripten_realloc_buffer\",false);unexportedRuntimeFunction(\"ENV\",false);unexportedRuntimeFunction(\"withStackSave\",false);unexportedRuntimeFunction(\"ERRNO_CODES\",false);unexportedRuntimeFunction(\"ERRNO_MESSAGES\",false);unexportedRuntimeFunction(\"setErrNo\",false);unexportedRuntimeFunction(\"inetPton4\",false);unexportedRuntimeFunction(\"inetNtop4\",false);unexportedRuntimeFunction(\"inetPton6\",false);unexportedRuntimeFunction(\"inetNtop6\",false);unexportedRuntimeFunction(\"readSockaddr\",false);unexportedRuntimeFunction(\"writeSockaddr\",false);unexportedRuntimeFunction(\"DNS\",false);unexportedRuntimeFunction(\"getHostByName\",false);unexportedRuntimeFunction(\"Protocols\",false);unexportedRuntimeFunction(\"Sockets\",false);unexportedRuntimeFunction(\"getRandomDevice\",false);unexportedRuntimeFunction(\"traverseStack\",false);unexportedRuntimeFunction(\"convertFrameToPC\",false);unexportedRuntimeFunction(\"UNWIND_CACHE\",false);unexportedRuntimeFunction(\"saveInUnwindCache\",false);unexportedRuntimeFunction(\"convertPCtoSourceLocation\",false);unexportedRuntimeFunction(\"readAsmConstArgsArray\",false);unexportedRuntimeFunction(\"readAsmConstArgs\",false);unexportedRuntimeFunction(\"mainThreadEM_ASM\",false);unexportedRuntimeFunction(\"jstoi_q\",false);unexportedRuntimeFunction(\"jstoi_s\",false);unexportedRuntimeFunction(\"getExecutableName\",false);unexportedRuntimeFunction(\"listenOnce\",false);unexportedRuntimeFunction(\"autoResumeAudioContext\",false);unexportedRuntimeFunction(\"dynCallLegacy\",false);unexportedRuntimeFunction(\"getDynCaller\",false);unexportedRuntimeFunction(\"dynCall\",false);unexportedRuntimeFunction(\"callRuntimeCallbacks\",false);unexportedRuntimeFunction(\"setWasmTableEntry\",false);unexportedRuntimeFunction(\"getWasmTableEntry\",false);unexportedRuntimeFunction(\"handleException\",false);unexportedRuntimeFunction(\"runtimeKeepalivePush\",false);unexportedRuntimeFunction(\"runtimeKeepalivePop\",false);unexportedRuntimeFunction(\"callUserCallback\",false);unexportedRuntimeFunction(\"maybeExit\",false);unexportedRuntimeFunction(\"safeSetTimeout\",false);unexportedRuntimeFunction(\"asmjsMangle\",false);unexportedRuntimeFunction(\"asyncLoad\",false);unexportedRuntimeFunction(\"alignMemory\",false);unexportedRuntimeFunction(\"mmapAlloc\",false);unexportedRuntimeFunction(\"reallyNegative\",false);unexportedRuntimeFunction(\"unSign\",false);unexportedRuntimeFunction(\"reSign\",false);unexportedRuntimeFunction(\"formatString\",false);unexportedRuntimeFunction(\"PATH\",false);unexportedRuntimeFunction(\"PATH_FS\",false);unexportedRuntimeFunction(\"SYSCALLS\",false);unexportedRuntimeFunction(\"getSocketFromFD\",false);unexportedRuntimeFunction(\"getSocketAddress\",false);unexportedRuntimeFunction(\"JSEvents\",false);unexportedRuntimeFunction(\"registerKeyEventCallback\",false);unexportedRuntimeFunction(\"specialHTMLTargets\",false);unexportedRuntimeFunction(\"maybeCStringToJsString\",false);unexportedRuntimeFunction(\"findEventTarget\",false);unexportedRuntimeFunction(\"findCanvasEventTarget\",false);unexportedRuntimeFunction(\"getBoundingClientRect\",false);unexportedRuntimeFunction(\"fillMouseEventData\",false);unexportedRuntimeFunction(\"registerMouseEventCallback\",false);unexportedRuntimeFunction(\"registerWheelEventCallback\",false);unexportedRuntimeFunction(\"registerUiEventCallback\",false);unexportedRuntimeFunction(\"registerFocusEventCallback\",false);unexportedRuntimeFunction(\"fillDeviceOrientationEventData\",false);unexportedRuntimeFunction(\"registerDeviceOrientationEventCallback\",false);unexportedRuntimeFunction(\"fillDeviceMotionEventData\",false);unexportedRuntimeFunction(\"registerDeviceMotionEventCallback\",false);unexportedRuntimeFunction(\"screenOrientation\",false);unexportedRuntimeFunction(\"fillOrientationChangeEventData\",false);unexportedRuntimeFunction(\"registerOrientationChangeEventCallback\",false);unexportedRuntimeFunction(\"fillFullscreenChangeEventData\",false);unexportedRuntimeFunction(\"registerFullscreenChangeEventCallback\",false);unexportedRuntimeFunction(\"registerRestoreOldStyle\",false);unexportedRuntimeFunction(\"hideEverythingExceptGivenElement\",false);unexportedRuntimeFunction(\"restoreHiddenElements\",false);unexportedRuntimeFunction(\"setLetterbox\",false);unexportedRuntimeFunction(\"currentFullscreenStrategy\",false);unexportedRuntimeFunction(\"restoreOldWindowedStyle\",false);unexportedRuntimeFunction(\"softFullscreenResizeWebGLRenderTarget\",false);unexportedRuntimeFunction(\"doRequestFullscreen\",false);unexportedRuntimeFunction(\"fillPointerlockChangeEventData\",false);unexportedRuntimeFunction(\"registerPointerlockChangeEventCallback\",false);unexportedRuntimeFunction(\"registerPointerlockErrorEventCallback\",false);unexportedRuntimeFunction(\"requestPointerLock\",false);unexportedRuntimeFunction(\"fillVisibilityChangeEventData\",false);unexportedRuntimeFunction(\"registerVisibilityChangeEventCallback\",false);unexportedRuntimeFunction(\"registerTouchEventCallback\",false);unexportedRuntimeFunction(\"fillGamepadEventData\",false);unexportedRuntimeFunction(\"registerGamepadEventCallback\",false);unexportedRuntimeFunction(\"registerBeforeUnloadEventCallback\",false);unexportedRuntimeFunction(\"fillBatteryEventData\",false);unexportedRuntimeFunction(\"battery\",false);unexportedRuntimeFunction(\"registerBatteryEventCallback\",false);unexportedRuntimeFunction(\"setCanvasElementSize\",false);unexportedRuntimeFunction(\"getCanvasElementSize\",false);unexportedRuntimeFunction(\"demangle\",false);unexportedRuntimeFunction(\"demangleAll\",false);unexportedRuntimeFunction(\"jsStackTrace\",false);unexportedRuntimeFunction(\"stackTrace\",false);unexportedRuntimeFunction(\"getEnvStrings\",false);unexportedRuntimeFunction(\"checkWasiClock\",false);unexportedRuntimeFunction(\"writeI53ToI64\",false);unexportedRuntimeFunction(\"writeI53ToI64Clamped\",false);unexportedRuntimeFunction(\"writeI53ToI64Signaling\",false);unexportedRuntimeFunction(\"writeI53ToU64Clamped\",false);unexportedRuntimeFunction(\"writeI53ToU64Signaling\",false);unexportedRuntimeFunction(\"readI53FromI64\",false);unexportedRuntimeFunction(\"readI53FromU64\",false);unexportedRuntimeFunction(\"convertI32PairToI53\",false);unexportedRuntimeFunction(\"convertU32PairToI53\",false);unexportedRuntimeFunction(\"setImmediateWrapped\",false);unexportedRuntimeFunction(\"clearImmediateWrapped\",false);unexportedRuntimeFunction(\"polyfillSetImmediate\",false);unexportedRuntimeFunction(\"uncaughtExceptionCount\",false);unexportedRuntimeFunction(\"exceptionLast\",false);unexportedRuntimeFunction(\"exceptionCaught\",false);unexportedRuntimeFunction(\"ExceptionInfo\",false);unexportedRuntimeFunction(\"CatchInfo\",false);unexportedRuntimeFunction(\"exception_addRef\",false);unexportedRuntimeFunction(\"exception_decRef\",false);unexportedRuntimeFunction(\"Browser\",false);unexportedRuntimeFunction(\"funcWrappers\",false);unexportedRuntimeFunction(\"getFuncWrapper\",false);unexportedRuntimeFunction(\"setMainLoop\",false);unexportedRuntimeFunction(\"wget\",false);unexportedRuntimeFunction(\"FS\",false);unexportedRuntimeFunction(\"MEMFS\",false);unexportedRuntimeFunction(\"TTY\",false);unexportedRuntimeFunction(\"PIPEFS\",false);unexportedRuntimeFunction(\"SOCKFS\",false);unexportedRuntimeFunction(\"_setNetworkCallback\",false);unexportedRuntimeFunction(\"tempFixedLengthArray\",false);unexportedRuntimeFunction(\"miniTempWebGLFloatBuffers\",false);unexportedRuntimeFunction(\"heapObjectForWebGLType\",false);unexportedRuntimeFunction(\"heapAccessShiftForWebGLHeap\",false);unexportedRuntimeFunction(\"GL\",false);unexportedRuntimeFunction(\"emscriptenWebGLGet\",false);unexportedRuntimeFunction(\"computeUnpackAlignedImageSize\",false);unexportedRuntimeFunction(\"emscriptenWebGLGetTexPixelData\",false);unexportedRuntimeFunction(\"emscriptenWebGLGetUniform\",false);unexportedRuntimeFunction(\"webglGetUniformLocation\",false);unexportedRuntimeFunction(\"webglPrepareUniformLocationsBeforeFirstUse\",false);unexportedRuntimeFunction(\"webglGetLeftBracePos\",false);unexportedRuntimeFunction(\"emscriptenWebGLGetVertexAttrib\",false);unexportedRuntimeFunction(\"writeGLArray\",false);unexportedRuntimeFunction(\"AL\",false);unexportedRuntimeFunction(\"SDL_unicode\",false);unexportedRuntimeFunction(\"SDL_ttfContext\",false);unexportedRuntimeFunction(\"SDL_audio\",false);unexportedRuntimeFunction(\"SDL\",false);unexportedRuntimeFunction(\"SDL_gfx\",false);unexportedRuntimeFunction(\"GLUT\",false);unexportedRuntimeFunction(\"EGL\",false);unexportedRuntimeFunction(\"GLFW_Window\",false);unexportedRuntimeFunction(\"GLFW\",false);unexportedRuntimeFunction(\"GLEW\",false);unexportedRuntimeFunction(\"IDBStore\",false);unexportedRuntimeFunction(\"runAndAbortIfError\",false);unexportedRuntimeFunction(\"WS\",false);unexportedRuntimeFunction(\"warnOnce\",false);unexportedRuntimeFunction(\"stackSave\",false);unexportedRuntimeFunction(\"stackRestore\",false);unexportedRuntimeFunction(\"stackAlloc\",false);unexportedRuntimeFunction(\"AsciiToString\",false);unexportedRuntimeFunction(\"stringToAscii\",false);unexportedRuntimeFunction(\"UTF16ToString\",false);unexportedRuntimeFunction(\"stringToUTF16\",false);unexportedRuntimeFunction(\"lengthBytesUTF16\",false);unexportedRuntimeFunction(\"UTF32ToString\",false);unexportedRuntimeFunction(\"stringToUTF32\",false);unexportedRuntimeFunction(\"lengthBytesUTF32\",false);unexportedRuntimeFunction(\"allocateUTF8\",false);unexportedRuntimeFunction(\"allocateUTF8OnStack\",false);Module[\"writeStackCookie\"]=writeStackCookie;Module[\"checkStackCookie\"]=checkStackCookie;Module[\"ALLOC_NORMAL\"]=ALLOC_NORMAL;unexportedRuntimeSymbol(\"ALLOC_STACK\",false);var calledRun;function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(args){args=args||arguments_;if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();assert(!Module[\"_main\"],'compiled without a main, but one is present. if you added it from JS, use Module[\"onRuntimeInitialized\"]');postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}checkStackCookie()}Module[\"run\"]=run;function checkUnflushedContent(){var oldOut=out;var oldErr=err;var has=false;out=err=(x=>{has=true});try{___stdio_exit();[\"stdout\",\"stderr\"].forEach(function(name){var info=FS.analyzePath(\"/dev/\"+name);if(!info)return;var stream=info.object;var rdev=stream.rdev;var tty=TTY.ttys[rdev];if(tty&&tty.output&&tty.output.length){has=true}})}catch(e){}out=oldOut;err=oldErr;if(has){warnOnce(\"stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.\")}}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}if (wasmBinaryFile && isDataURI(wasmBinaryFile)) run();//extra client code goes here\n/* __extra_libraries__ */\n//mapping of packet names to packet types\nconst packet_types = {\n  CONNECT: 0x01,\n  DATA: 0x02,\n  CONTINUE: 0x03,\n  CLOSE: 0x04\n}\n\n//mapping of types to packet names\nconst packet_names = [undefined, \"CONNECT\", \"DATA\", \"CONTINUE\", \"CLOSE\"];\n\nfunction uint_from_array(array) {\n  if (array.length == 4) return new Uint32Array(array.buffer)[0];\n  else if (array.length == 2) return new Uint16Array(array.buffer)[0];\n  else if (array.length == 1) return array[0];\n  else throw \"invalid array length\";\n}\n\nfunction array_from_uint(int, size) {\n  let buffer = new ArrayBuffer(size);\n  let view = new DataView(buffer);\n  if (size == 1) view.setUint8(0, int, true);\n  else if (size == 2) view.setUint16(0, int, true);\n  else if (size == 4) view.setUint32(0, int, true);\n  else throw \"invalid array length\";\n  return new Uint8Array(buffer);\n}\n\nfunction concat_uint8array() {\n  let total_length = 0;\n  for (let array of arguments) {\n    total_length += array.length;\n  }\n  let new_array = new Uint8Array(total_length);\n  let index = 0;\n  for (let array of arguments) {\n    new_array.set(array, index);\n    index += array.length;\n  }\n  return new_array;\n}\n\nfunction create_packet(packet_type, stream_id, payload) {\n  let stream_id_array = array_from_uint(stream_id, 4);\n  let packet_type_array = array_from_uint(packet_type, 1);\n  let packet = concat_uint8array(packet_type_array, stream_id_array, payload);\n  return packet;\n}\n\nclass WispStream extends EventTarget {\n  constructor(hostname, port, websocket, buffer_size, stream_id, connection, stream_type) {\n    super();\n    this.hostname = hostname;\n    this.port = port;\n    this.ws = websocket;\n    this.buffer_size = buffer_size;\n    this.stream_id = stream_id;\n    this.connection = connection;\n    this.stream_type = stream_type;\n    this.send_buffer = [];\n    this.open = true;\n  }\n\n  send(data) {\n    //note: udp shouldn't buffer anything\n    if (this.buffer_size > 0 || !this.open || this.stream_type === 0x02) {\n      //construct and send a DATA packet\n      let packet = create_packet(0x02, this.stream_id, data);\n      this.ws.send(packet);\n      this.buffer_size--;\n    }\n    else { //server is slow, don't send data yet\n      this.send_buffer.push(data);\n    }\n  }\n\n  //handle receiving a CONTINUE packet\n  continue_received(buffer_size) {\n    this.buffer_size = buffer_size;\n    //send buffered data now\n    while (this.buffer_size > 0 && this.send_buffer.length > 0) {\n      this.send(this.send_buffer.shift());\n    }\n  }\n\n  //construct and send a CLOSE packet\n  close(reason = 0x01) {\n    if (!this.open) return;\n    let payload = array_from_uint(reason, 1)\n    let packet = create_packet(0x04, this.stream_id, payload);\n    this.ws.send(packet);\n    this.open = false;\n    delete this.connection.active_streams[this.stream_id];\n  }\n}\n\nclass WispConnection extends EventTarget {\n  constructor(wisp_url) {\n    super();\n    this.wisp_url = wisp_url;\n    this.max_buffer_size = null;\n    this.active_streams = {};\n    this.connected = false;\n    this.connecting = false;\n    this.next_stream_id = 1;\n\n    if (!this.wisp_url.endsWith(\"/\")) {\n      throw \"wisp endpoints must end with a trailing forward slash\";\n    }\n\n    this.connect_ws();\n  }\n\n  connect_ws() {\n    this.ws = new WebSocket(this.wisp_url);\n    this.ws.binaryType = \"arraybuffer\";\n    this.connecting = true;\n\n    this.ws.addEventListener(\"error\", (event) => {\n      this.on_ws_close();\n      let error_event = new Event(\"error\");\n      this.dispatchEvent(error_event);\n    });\n    this.ws.addEventListener(\"close\", () => {\n      this.on_ws_close();\n      let close_event = new CloseEvent(\"close\");\n      this.dispatchEvent(close_event);\n    });\n    this.ws.addEventListener(\"message\", (event) => {\n      this.on_ws_msg(event);\n      if (this.connecting) {\n        this.connected = true;\n        this.connecting = false;\n        let open_event = new Event(\"open\");\n        this.dispatchEvent(open_event);\n      }\n    });\n  }\n\n  close_stream(stream, reason) {\n    let close_event = new CloseEvent(\"close\", { code: reason });\n    stream.open = false;\n    stream.dispatchEvent(close_event);\n    delete this.active_streams[stream.stream_id];\n  }\n\n  on_ws_close() {\n    this.connected = false;\n    this.connecting = false;\n    for (let stream_id of Object.keys(this.active_streams)) {\n      this.close_stream(this.active_streams[stream_id], 0x03);\n    }\n  }\n\n  create_stream(hostname, port, type=\"tcp\") {\n    let stream_type = type === \"udp\" ? 0x02 : 0x01;\n    let stream_id = this.next_stream_id\n    this.next_stream_id++;\n    let stream = new WispStream(hostname, port, this.ws, this.max_buffer_size, stream_id, this, stream_type);\n    stream.open = this.connected;\n\n    //construct CONNECT packet\n    let type_array = array_from_uint(stream_type, 1);\n    let port_array = array_from_uint(port, 2);\n    let host_array = new TextEncoder().encode(hostname);\n    let payload = concat_uint8array(type_array, port_array, host_array);\n    let packet = create_packet(0x01, stream_id, payload);\n\n    this.active_streams[stream_id] = stream;\n    this.ws.send(packet);\n    return stream;\n  }\n\n  on_ws_msg(event) {\n    let packet = new Uint8Array(event.data);\n\n    if (packet.length < 5) {\n      warn_msg(`wisp client warning: received a packet which is too short`);\n      return;\n    }\n\n    let packet_type = packet[0];\n    let stream_id = uint_from_array(packet.slice(1, 5));\n    let payload = packet.slice(5);\n    let stream = this.active_streams[stream_id];\n\n    if (typeof stream === \"undefined\" && stream_id !== 0) {\n      warn_msg(`wisp client warning: received a ${packet_names[packet_type]} packet for a stream which doesn't exist`);\n      return;\n    }\n\n    if (packet_type === packet_types.DATA) { //DATA packets\n      let msg_event = new MessageEvent(\"message\", { data: payload });\n      stream.dispatchEvent(msg_event);\n    }\n\n    else if (packet_type === packet_types.CONTINUE && stream_id == 0) { //initial CONTINUE packet\n      this.max_buffer_size = uint_from_array(payload);\n    }\n\n    else if (packet_type === packet_types.CONTINUE) { //other CONTINUE packets\n      stream.continue_received(uint_from_array(payload));\n    }\n\n    else if (packet_type === packet_types.CLOSE) { //CLOSE packets\n      this.close_stream(stream, payload[0]);\n    }\n\n    else {\n      warn_msg(`wisp client warning: receive an invalid packet of type ${packet_type}`);\n    }\n  }\n}\n\n//polyfill the DOM Websocket API so that applications using wsproxy can easily use wisp with minimal changes\n\nconst _wisp_connections = {};\n\nclass WispWebSocket extends EventTarget {\n  constructor(url, protocols) {\n    super();\n    this.url = url;\n    this.protocols = protocols\n    this.binaryType = \"blob\";\n    this.stream = null;\n    this.event_listeners = {};\n    this.connection = null;\n\n    //legacy event handlers\n    this.onopen = () => {};\n    this.onerror = () => {};\n    this.onmessage = () => {};\n    this.onclose = () => {};\n\n    this.CONNECTING = 0;\n    this.OPEN = 1;\n    this.CLOSING = 2;\n    this.CLOSED = 3;\n    \n    //parse the wsproxy url\n    let url_split = this.url.split(\"/\");\n    let wsproxy_path = url_split.pop().split(\":\");\n    this.host = wsproxy_path[0];\n    this.port = parseInt(wsproxy_path[1]);\n    this.real_url = url_split.join(\"/\") + \"/\";\n\n    this.init_connection();\n  }\n\n  on_conn_close() {\n    delete _wisp_connections[this.real_url];\n  }\n\n  init_connection() {\n    //create the stream\n    this.connection = _wisp_connections[this.real_url];\n\n    if (!this.connection) {\n      this.connection = new WispConnection(this.real_url);\n      this.connection.addEventListener(\"open\", () => {\n        this.init_stream();\n      })\n      this.connection.addEventListener(\"close\", () => {this.on_conn_close()});\n      this.connection.addEventListener(\"error\", () => {this.on_conn_close()});\n      _wisp_connections[this.real_url] = this.connection;\n    }\n    else if (!this.connection.connected) {\n      this.connection.addEventListener(\"open\", () => {\n        this.init_stream();\n      });\n    }\n    else {\n      this.connection = _wisp_connections[this.real_url];\n      this.init_stream();\n    }\n  }\n\n  init_stream() {\n    this.stream = this.connection.create_stream(this.host, this.port);\n    this.stream.addEventListener(\"message\", (event) => {\n      let data;\n      if (this.binaryType == \"blob\") {\n        data = new Blob(event.data);\n      }\n      else if (this.binaryType == \"arraybuffer\") {\n        data = event.data.buffer;\n      }\n      else {\n        throw \"invalid binaryType string\";\n      }\n      let msg_event = new MessageEvent(\"message\", {data: data});\n      this.onmessage(msg_event);\n      this.dispatchEvent(msg_event);\n    });\n    this.stream.addEventListener(\"close\", (event) => {\n      let close_event = new CloseEvent(\"close\", {code: event.code});\n      this.onclose(close_event);\n      this.dispatchEvent(close_event);\n    })\n    let open_event = new Event(\"open\");\n    this.onopen(open_event);\n    this.dispatchEvent(open_event);\n  }\n\n  send(data) {\n    let data_array;\n    if (typeof data === \"string\") {\n      data_array = new TextEncoder().encode(data);\n    }\n    else if (data instanceof Blob) {\n      data.arrayBuffer().then(array_buffer => {\n        data_array = new Uint8Array(array_buffer);\n        this.send(data_array);\n      });\n      return;\n    }\n    //any typedarray\n    else if (data instanceof ArrayBuffer) {\n      //dataview objects\n      if (ArrayBuffer.isView(data) && data instanceof DataView) {\n        data_array = new Uint8Array(data.buffer);\n      }\n      //regular arraybuffers\n      else {\n        data_array = new Uint8Array(data);\n      }\n    }\n    //regular typed arrays\n    else if (ArrayBuffer.isView(data)) {\n      data_array = Uint8Array.from(data);\n    }\n    else {\n      throw \"invalid data type\";\n    }\n    \n    if (!this.stream) {\n      throw \"websocket is not ready\";\n    }\n    this.stream.send(data_array);\n  }\n\n  close() {\n    this.stream.close(0x02);\n  }\n\n  get bufferedAmount() {\n    let total = 0;\n    for (let msg of this.stream.send_buffer) {\n      total += msg.length;\n    }\n    return total;\n  }\n\n  get extensions() {\n    return \"\";\n  }\n\n  get protocol() {\n    return \"binary\";\n  }\n\n  get readyState() {\n    if (this.connection && !this.connection.connected && !this.connection.connecting) {\n      return this.CLOSED;\n    }\n    if (!this.connection || !this.connection.connected) {\n      return this.CONNECTING;\n    }\n    if (this.stream.open) {\n      return this.OPEN;\n    }\n    return this.CLOSED;\n  }\n}function logger(type, text) {\n  if (type === \"log\")\n    console.log(text);\n  else if (type === \"warn\") \n    console.warn(text);\n  else if (type === \"error\")\n    console.error(text);\n}\n\nfunction log_msg(text) {\n  logger(\"log\", text);\n}\nfunction warn_msg(text) {\n  logger(\"warn\", text);\n}\nfunction error_msg(text) {\n  logger(\"error\", text);\n}\n//a case insensitive dictionary for request headers\nclass HeadersDict {\n  constructor(obj) {\n    for (let key in obj) {\n      this[key] = obj[key];\n    }\n    return new Proxy(this, this);\n  }\n  get(target, prop) {\n    let keys = Object.keys(this);\n    for (let key of keys) {\n      if (key.toLowerCase() === prop.toLowerCase()) {\n        return this[key];\n      }\n    }\n  }\n  set(target, prop, value) {\n    let keys = Object.keys(this);\n    for (let key of keys) {\n      if (key.toLowerCase() === prop.toLowerCase()) {\n        this[key] = value;\n      }\n    }\n    this[prop] = value;\n    return true;\n  }\n}\n\nfunction allocate_str(str) {\n  return allocate(intArrayFromString(str), ALLOC_NORMAL);\n}\n\nfunction allocate_array(array) {\n  return allocate(array, ALLOC_NORMAL);\n}\n\nfunction get_error_str(error_code) {\n  let error_ptr = _get_error_str(error_code);\n  return UTF8ToString(error_ptr);\n}\n\nfunction merge_arrays(arrays) {\n  let total_len = arrays.reduce((acc, val) => acc + val.length, 0);\n  let new_array = new Uint8Array(total_len);\n  let offset = 0;\n  for (let array of arrays) {\n    new_array.set(array, offset);\n    offset += array.length;\n  }\n  return new_array;\n}\n\n//convert various data types to a uint8array (blobs excluded)\nfunction data_to_array(data) {\n  //data already in correct type\n  if (data instanceof Uint8Array) {\n    return data;  \n  }\n\n  else if (typeof data === \"string\") {\n    return new TextEncoder().encode(data);\n  }\n\n  else if (data instanceof ArrayBuffer) {\n    return new Uint8Array(data);\n  }\n\n  //dataview objects or any other typedarray\n  else if (ArrayBuffer.isView(data)) {\n    return new Uint8Array(data.buffer);\n  }\n\n  throw new TypeError(\"invalid data type to be sent\");\n}\n\n//c function wrapper\nfunction c_func(target, args=[]) {\n  let str_pointers = [];\n  for (let i = 0; i < args.length; i++) {\n    let ptr = null;\n    if (typeof args[i] === \"string\") {\n      ptr = allocate_str(args[i]);\n    }\n    if (args[i] instanceof Uint8Array) {\n      ptr = allocate_array(args[i]);\n    }\n\n    if (!ptr) continue;\n    args[i] = ptr;\n    str_pointers.push(ptr);\n  }\n\n  let ret = target(...args);\n  for (let ptr of str_pointers) {\n    _free(ptr);\n  }\n\n  return ret;\n}\n\n//additional wrapper to free any returned strings\nfunction c_func_str(target, args=[]) {\n  let ptr = c_func(target, args);\n  let str = UTF8ToString(ptr);\n  _free(ptr);\n  return str;\n}\n\n//ensure that the proxy url has a valid protocol\nfunction check_proxy(proxy) {\n  if (typeof proxy === \"string\" || proxy instanceof String) {\n    let protocol = new URL(proxy).protocol;\n    if (![\"socks5h:\", \"socks4a:\", \"http:\"].includes(protocol)) {\n      throw new TypeError(\"Only socks5h, socks4a, and http proxies are supported.\");\n    }\n  }\n}const status_messages = {\n  100: \"Continue\",\n  101: \"Switching Protocols\",\n  102: \"Processing\",\n  103: \"Early Hints\",\n  200: \"OK\",\n  201: \"Created\",\n  202: \"Accepted\",\n  203: \"Non-Authoritative Information\",\n  204: \"No Content\",\n  205: \"Reset Content\",\n  206: \"Partial Content\",\n  207: \"Multi-Status\",\n  208: \"Already Reported\",\n  226: \"IM Used\",\n  300: \"Multiple Choices\",\n  301: \"Moved Permanently\",\n  302: \"Found\",\n  303: \"See Other\",\n  304: \"Not Modified\",\n  305: \"Use Proxy\",\n  306: \"Switch Proxy\",\n  307: \"Temporary Redirect\",\n  308: \"Permanent Redirect\",\n  400: \"Bad Request\",\n  401: \"Unauthorized\",\n  402: \"Payment Required\",\n  403: \"Forbidden\",\n  404: \"Not Found\",\n  405: \"Method Not Allowed\",\n  406: \"Not Acceptable\",\n  407: \"Proxy Authentication Required\",\n  408: \"Request Timeout\",\n  409: \"Conflict\",\n  410: \"Gone\",\n  411: \"Length Required\",\n  412: \"Precondition Failed\",\n  413: \"Payload Too Large\",\n  414: \"URI Too Long\",\n  415: \"Unsupported Media Type\",\n  416: \"Range Not Satisfiable\",\n  417: \"Expectation Failed\",\n  418: \"I'm a teapot\",\n  421: \"Misdirected Request\",\n  422: \"Unprocessable Content\",\n  423: \"Locked\",\n  424: \"Failed Dependency\",\n  425: \"Too Early\",\n  426: \"Upgrade Required\",\n  428: \"Precondition Required\",\n  429: \"Too Many Requests\",\n  431: \"Request Header Fields Too Large\",\n  451: \"Unavailable For Legal Reasons\",\n  500: \"Internal Server Error\",\n  501: \"Not Implemented\",\n  502: \"Bad Gateway\",\n  503: \"Service Unavailable\",\n  504: \"Gateway Timeout\",\n  505: \"HTTP Version Not Supported\",\n  506: \"Variant Also Negotiates\",\n  507: \"Insufficient Storage\",\n  508: \"Loop Detected\",\n  510: \"Not Extended\",\n  511: \"Network Authentication Required\"\n}\nconst copyright_notice = `libcurl.js is licensed under the GNU LGPL v3. You can find the license text and source code at the project's git repository: https://github.com/ading2210/libcurl.js\n\nSeveral C libraries are used, and their licenses are listed below:\n- libcurl: curl License (https://curl.se/docs/copyright.html)\n- mbedtls: Apache License 2.0 (https://github.com/Mbed-TLS/mbedtls/blob/development/LICENSE)\n- cjson: MIT License (https://github.com/DaveGamble/cJSON/blob/master/LICENSE)\n- zlib: zlib License (https://www.zlib.net/zlib_license.html)\n- brotli: MIT License (https://github.com/google/brotli/blob/master/LICENSE)\n- nghttp2: MIT License (https://github.com/nghttp2/nghttp2/blob/master/COPYING)\n`;class CurlSession {\n  constructor(options={}) {\n    check_loaded(true);\n\n    this.options = options;\n    this.session_ptr = _session_create();\n    this.active_requests = 0;\n    this.event_loop = null;\n    this.requests_list = [];\n    this.to_remove = [];\n  \n    this.end_callback_ptr = Module.addFunction((request_id, error) => {\n      this.end_callback(request_id, error);\n    }, \"vii\");\n    this.headers_callback_ptr = Module.addFunction((request_id, chunk_ptr, chunk_size) => {\n      this.headers_callback(request_id, chunk_ptr, chunk_size)\n    }, \"viii\");\n    this.data_callback_ptr = Module.addFunction((request_id, chunk_ptr, chunk_size) => {\n      this.data_callback(request_id, chunk_ptr, chunk_size)\n    }, \"viii\");\n    this.request_callbacks = {};\n    this.last_request_id = 0;\n  }\n\n  assert_ready() {\n    if (!this.session_ptr) {\n      throw new Error(\"session has been removed\");\n    }\n  }\n\n  set_connections(connections_limit, cache_limit, host_conn_limit=0) {\n    this.assert_ready();\n    _session_set_options(this.session_ptr, connections_limit, cache_limit, host_conn_limit);\n  }\n\n  end_callback(request_id, error) {\n    this.active_requests--;\n    this.request_callbacks[request_id].end(error);\n    delete this.request_callbacks[request_id];\n  }\n\n  data_callback(request_id, chunk_ptr, chunk_size) {\n    let data = Module.HEAPU8.subarray(chunk_ptr, chunk_ptr + chunk_size);\n    let chunk = new Uint8Array(data);\n    this.request_callbacks[request_id].data(chunk);\n  }\n\n  headers_callback(request_id, chunk_ptr, chunk_size) {\n    let data = Module.HEAPU8.subarray(chunk_ptr, chunk_ptr + chunk_size);\n    let chunk = new Uint8Array(data);\n    this.request_callbacks[request_id].headers(chunk);\n  }\n\n  create_request(url, js_data_callback, js_end_callback, js_headers_callback) {\n    this.assert_ready();\n    let request_id = this.last_request_id++;\n    this.request_callbacks[request_id] = {\n      end: js_end_callback,\n      data: js_data_callback,\n      headers: js_headers_callback\n    }\n  \n    let request_ptr = c_func(_create_request, [\n      url, request_id, this.data_callback_ptr, this.end_callback_ptr, this.headers_callback_ptr\n    ]);\n    return request_ptr;\n  }\n\n  remove_request_now(request_ptr) {\n    if (this.session_ptr) {\n      _session_remove_request(this.session_ptr, request_ptr);\n    }\n    _request_cleanup(request_ptr);\n    \n    let request_index = this.requests_list.indexOf(request_ptr);\n    if (request_index !== -1) {\n      this.requests_list.splice(request_index, 1);\n    }\n  }\n\n  //remove the request on the next iteration of the loop\n  remove_request(request_ptr) {\n    this.assert_ready();\n    setTimeout(() => {\n      this.remove_request_now(request_ptr);\n    }, 1)\n  }\n\n  start_request(request_ptr) {\n    this.assert_ready();\n    _session_add_request(this.session_ptr, request_ptr);\n    _session_perform(this.session_ptr);\n\n    this.active_requests++;\n    this.requests_list.push(request_ptr);\n  \n    if (this.event_loop) {\n      return;\n    }\n    \n    this.event_loop = setInterval(() => {\n      this.event_loop_func();\n    }, 0);\n  }\n\n  event_loop_func() {\n    let libcurl_active = _session_get_active(this.session_ptr);\n    if (libcurl_active || this.active_requests) {\n      _session_perform(this.session_ptr);\n    }\n    else {\n      clearInterval(this.event_loop);\n      this.event_loop = null;\n    }\n  }\n\n  close_now() {\n    for (let request_ptr of this.requests_list) {\n      this.remove_request_now(request_ptr);\n    }\n    _session_cleanup(this.session_ptr);\n    this.session_ptr = null;\n    Module.removeFunction(this.end_callback_ptr);\n    Module.removeFunction(this.headers_callback_ptr);\n    Module.removeFunction(this.data_callback_ptr);\n  }\n\n  close() {\n    this.assert_ready();\n    setTimeout(() => {\n      this.close_now();\n    }, 1);\n  }\n\n  //wrap request callbacks using a readable stream and return the new callbacks\n  stream_response(url, headers_callback, end_callback, abort_signal) {\n    let stream_controller;\n    let aborted = false;\n    let headers_received = false;\n\n    let stream = new ReadableStream({\n      start(controller) {\n        stream_controller = controller;\n      }\n    });\n\n    if (abort_signal instanceof AbortSignal) {\n      abort_signal.addEventListener(\"abort\", () => {\n        if (aborted) return;\n        aborted = true;\n        if (headers_received) {\n          stream_controller.error(\"The operation was aborted.\");\n        }\n        real_end_callback(-1);\n      });\n    }\n\n    let real_data_callback = (new_data) => {\n      if (!headers_received) {\n        headers_received = true;\n        headers_callback(stream);\n      }\n\n      try {\n        stream_controller.enqueue(new_data);\n      }\n      catch (e) {\n        //the readable stream has been closed elsewhere, so cancel the request\n        if (aborted) return;\n        aborted = true;\n        if (e instanceof TypeError) {\n          end_callback(-1);\n        }\n        else {\n          throw e;\n        }\n      }\n    }\n\n    let real_end_callback = (error) => {\n      if (!headers_received && error === 0) {\n        headers_received = true;\n        headers_callback(stream);\n      }\n\n      try {\n        stream_controller.close();\n      }\n      catch {}\n      end_callback(error);\n    }\n\n    return this.create_request(url, real_data_callback, real_end_callback, () => {});\n  }\n}class HTTPSession extends CurlSession {\n  constructor(options={}) {\n    super();\n    this.options = options;\n    this.base_url = undefined;\n\n    this.set_connections(50, 40, 6);\n    this.import_cookies();\n  }\n\n  import_cookies() {\n    if (this.options.enable_cookies) {\n      this.cookie_filename = `/cookies_${Math.random()}.txt`;\n      if (this.options.cookie_jar) {\n        FS.writeFile(this.cookie_filename, this.options.cookie_jar);\n      }\n    }\n  }\n\n  export_cookies() {\n    if (!this.cookie_filename) return \"\";\n\n    try {\n      return FS.readFile(this.cookie_filename, {encoding: \"utf8\"});\n    }\n    catch (e) {\n      if (e.errno === 44) return \"\";\n      throw e;\n    }\n  }\n\n  close() {\n    if (this.cookie_filename) {\n      try {\n        FS.unlink(this.cookie_filename);\n      }\n      catch (e) {}\n    }\n    super.close();\n  }\n\n  request_async(url, params, body) {\n    return new Promise((resolve, reject) => {\n      let http_handle = null;\n      let body_ptr = null; \n\n      let headers_callback = (stream) => {\n        let response_json = c_func_str(_http_get_info, [http_handle]);\n        let response = this.constructor.create_response(stream, JSON.parse(response_json));\n        \n        if (params.redirect === \"error\" && response.status >= 300 && response.status < 400) {\n          finish_callback(-2);\n          return;\n        }\n        resolve(response);\n      }\n      let finish_callback = (error) => {\n        if (body_ptr != null) {\n          _free(body_ptr);\n          body_ptr = null;\n        }\n        if (http_handle == null) {\n          //a race condition with aborting requests may lead to this state\n          //if the request gets cancelled right before it finishes normally, this function gets called twice\n          //fortunately, we can just return here to prevent anything bad from happening\n          return;\n        }\n        if (error > 0) {\n          error_msg(`Request \"${url}\" failed with error code ${error}: ${get_error_str(error)}`);\n          reject(new TypeError(`Request failed with error code ${error}: ${get_error_str(error)}`));\n        }\n        else if (error === -1) {\n          reject(new DOMException(\"The operation was aborted.\"));\n        }\n        else if (error === -2) {\n          reject(new TypeError(\"Request failed because redirects were disallowed.\"));\n        }\n        this.remove_request(http_handle);\n        http_handle = null;\n      }\n      \n      body_ptr = body ? allocate_array(body) : null;\n      let body_length = body ? body.length : 0;\n      let params_json = JSON.stringify(params);\n      \n      http_handle = this.stream_response(url, headers_callback, finish_callback, params.signal);\n      c_func(_http_set_options, [http_handle, params_json, body_ptr, body_length]);\n      if (this.cookie_filename && params.credentials !== \"omit\") {\n        c_func(_http_set_cookie_jar, [http_handle, this.cookie_filename]);\n      }\n      if (params.proxy) {\n        c_func_str(_request_set_proxy, [http_handle, params.proxy]);\n      }\n\n      this.start_request(http_handle);\n    });\n  }\n\n  async fetch(resource, params_old={}) {\n    let url = resource;\n    //shallow copy the original params object\n    let params = Object.fromEntries(Object.entries(params_old));\n\n    if (resource instanceof Request) {\n      url = resource.url;\n      params.headers = params.headers || Object.fromEntries(resource.headers);\n      params.method = params.method || resource.method;\n      let resource_body = await resource.arrayBuffer();\n      if (resource_body.byteLength !== 0) \n        params.body = resource_body;\n    }\n    else if (typeof url === \"string\" || url instanceof String) {\n      url = (new URL(url, this.base_url)).href;\n    }\n    else if (url instanceof URL) {\n      url = url.href;\n    }\n    else {\n      url = \"\" + url;\n    }\n\n    if (this.options && this.options.proxy) {\n      params.proxy = this.options.proxy;\n    }\n    check_proxy(params.proxy);\n\n    let body = await this.constructor.create_options(params);\n    return await this.request_async(url, params, body);\n  }\n\n  static create_response(response_data, response_info) {\n    response_info.ok = response_info.status >= 200 && response_info.status < 300;\n    response_info.statusText = status_messages[response_info.status] || \"\";\n    if (response_info.status === 204 || response_info.status === 205) {\n      response_data = null;\n    }\n\n    //construct base response object\n    let response_obj = new Response(response_data, response_info);\n    for (let key in response_info) {\n      if (key == \"headers\") continue;\n      Object.defineProperty(response_obj, key, {\n        writable: false,\n        value: response_info[key]\n      });\n    }\n\n    //create headers object\n    Object.defineProperty(response_obj, \"headers\", {\n      writable: false,\n      value: new Headers()\n    });\n    Object.defineProperty(response_obj, \"raw_headers\", {\n      writable: false,\n      value: response_info.headers\n    });\n    for (let [header_name, header_value] of response_info.headers) {\n      response_obj.headers.append(header_name, header_value);\n    }\n\n    //hack to fix invalid blob type\n    let response_proto = Object.getPrototypeOf(response_obj);\n    response_obj.blob = async () => {\n      let blob = await response_proto.blob.call(response_obj);\n      let mime_type = blob.type.split(\";\")[0].trim();\n      Object.defineProperty(blob, \"type\", {\n        value: mime_type\n      });\n      return blob;\n    }\n    \n    return response_obj;\n  }\n\n  static async create_options(params) {\n    let body = null;\n    if (params.body instanceof ReadableStream) {\n      params.duplex = \"half\";\n    }\n\n    let request_obj = new Request(\"http://127.0.0.1/\", params);\n    let array_buffer = await request_obj.arrayBuffer();\n    if (array_buffer.byteLength > 0) {\n      body = new Uint8Array(array_buffer);\n    }\n    \n    let headers = params.headers || {};\n    if (headers instanceof Headers) {\n      headers = Object.fromEntries(headers);\n    }\n    params.headers = new HeadersDict(headers);\n\n    if (params.referrer) {\n      params.headers[\"Referer\"] = params.referrer;\n    }\n    if (!params.headers[\"User-Agent\"]) {\n      params.headers[\"User-Agent\"] = navigator.userAgent;\n    }\n    if (body && !params.headers[\"Content-Type\"]) {\n      params.headers[\"Content-Type\"] = request_obj.headers.get(\"Content-Type\") || \"\";\n    }\n\n    return body;\n  }\n}class CurlWebSocket extends CurlSession {\n  constructor(url, protocols=[], options={}) {    \n    if (!url.startsWith(\"wss://\") && !url.startsWith(\"ws://\")) {\n      throw new SyntaxError(\"invalid url\");\n    }\n    super();\n    \n    this.url = url;\n    this.protocols = protocols;\n    this.options = options;\n\n    this.onopen = () => {};\n    this.onerror = () => {};\n    this.onmessage = () => {};\n    this.onclose = () => {};\n\n    this.connected = false;\n    this.recv_loop = null;\n    this.http_handle = null;\n    this.recv_buffer = [];\n\n    try {\n      check_proxy(this.options.proxy);\n      this.set_connections(1, 0);\n      this.connect();\n    }\n    catch (e) {\n      this.cleanup(true);\n      throw e;\n    }\n  }\n\n  connect() {\n    let data_callback = () => {};\n    let headers_callback = () => {};\n    let finish_callback = (error) => {\n      if (error === 0) {\n        this.connected = true;\n        this.recv_loop = setInterval(() => {\n          let data = this.recv();\n          if (data !== null) this.onmessage(data);\n        }, 0);\n        this.onopen();\n      }\n      else {\n        this.cleanup(error);\n      }\n    };\n    let request_options = {\n      headers: this.options.headers || {}\n    };\n    if (this.protocols) {\n      if (typeof this.protocols === \"string\")\n        this.protocols = [this.protocols];\n      request_options.headers[\"Sec-Websocket-Protocol\"] = this.protocols.join(\", \");\n    }\n    if (this.options.verbose) {\n      request_options._libcurl_verbose = 1;\n    }\n\n    this.http_handle = this.create_request(this.url, data_callback, finish_callback, headers_callback);\n    c_func(_http_set_options, [this.http_handle, JSON.stringify(request_options), null, 0]);\n    _websocket_set_options(this.http_handle);\n    if (this.options.proxy) {\n      c_func_str(_request_set_proxy, [this.http_handle, this.options.proxy]);\n    }\n    this.start_request(this.http_handle);\n  }\n\n  recv() {\n    let buffer_size = 64*1024;\n    let result_ptr = _recv_from_websocket(this.http_handle, buffer_size);\n    let data_ptr = _get_result_buffer(result_ptr);\n    let result_code = _get_result_code(result_ptr);\n    let result_closed = _get_result_closed(result_ptr);\n    let returned_data = null;\n\n    //CURLE_OK - data received \n    if (result_code === 0 && !result_closed) {\n      let data_size = _get_result_size(result_ptr);\n      let data_heap = Module.HEAPU8.subarray(data_ptr, data_ptr + data_size);\n      let data = new Uint8Array(data_heap);\n      \n      this.recv_buffer.push(data);\n      if (data_size !== buffer_size && !_get_result_bytes_left(result_ptr)) { //message finished\n        let full_data = merge_arrays(this.recv_buffer);\n        let is_text = _get_result_is_text(result_ptr)\n        this.recv_buffer = [];\n        if (is_text) {\n          returned_data = new TextDecoder().decode(full_data);\n        }\n        else {\n          returned_data = full_data;\n        }\n      }\n    }\n    \n    // websocket was cleanly closed by the server\n    else if (result_code === 0 && result_closed) {\n      this.cleanup();\n    }\n\n    //code is not CURLE_AGAIN - an error must have occurred\n    else if (result_code !== 81) {\n      this.cleanup(result_code);\n    }\n    \n    _free(data_ptr);\n    _free(result_ptr);\n    return returned_data;\n  }\n\n  cleanup(error=0) {\n    if (!this.connected)\n      return;\n    if (this.recv_loop) \n      clearInterval(this.recv_loop);\n    \n    super.close();\n    this.connected = false;\n\n    if (error) {\n      error_msg(`Websocket \"${this.url}\" encountered error code ${error}: ${get_error_str(error)}`);\n      this.onerror(error);\n    }\n    else {\n      this.onclose();\n    }\n  }\n\n  send(data) {\n    let is_text = typeof data === \"string\";\n    if (!this.connected) return;\n\n    if (is_text) {\n      data = new TextEncoder().encode(data);\n    }\n    let data_ptr = allocate_array(data);\n    let data_len = data.length;\n    _send_to_websocket(this.http_handle, data_ptr, data_len, is_text);\n    _free(data_ptr);\n  }\n\n  close() {\n    this.cleanup();\n  }\n}//class for websocket polyfill\n\nclass FakeWebSocket extends EventTarget {\n  constructor(url, protocols=[], options={}) {\n    super();\n\n    this.url = url;\n    this.protocols = protocols;\n    this.options = options;\n    this.binaryType = \"blob\";\n\n    //legacy event handlers\n    this.onopen = () => {};\n    this.onerror = () => {};\n    this.onmessage = () => {};\n    this.onclose = () => {};\n\n    this.CONNECTING = 0;\n    this.OPEN = 1;\n    this.CLOSING = 2;\n    this.CLOSED = 3;\n    this.status = this.CONNECTING;\n\n    this.socket = null;\n    this.connect();\n  }\n\n  connect() {\n    this.socket = new CurlWebSocket(this.url, this.protocols, this.options);\n\n    this.socket.onopen = () => {\n      this.status = this.OPEN;\n      let open_event = new Event(\"open\");\n      this.onopen(open_event);\n      this.dispatchEvent(open_event);\n    }\n\n    this.socket.onclose = () => {\n      this.status = this.CLOSED;\n      let close_event = new CloseEvent(\"close\");\n      this.dispatchEvent(close_event);\n      this.onclose(close_event);\n    };\n\n    this.socket.onerror = (error) => {\n      this.status = this.CLOSED;\n      let error_event = new Event(\"error\");\n      this.dispatchEvent(error_event);\n      this.onerror(error_event);\n    }\n\n    this.socket.onmessage = (data) => {\n      let converted;\n      if (typeof data === \"string\") {\n        converted = data;\n      }\n      else { //binary frame received as uint8array\n        if (this.binaryType == \"blob\") {\n          converted = new Blob(data);\n        }\n        else if (this.binaryType == \"arraybuffer\") {\n          converted = data.buffer;\n        }\n        else {\n          throw new TypeError(\"invalid binaryType string\");\n        }\n      }\n\n      let msg_event = new MessageEvent(\"message\", {data: converted});\n      this.onmessage(msg_event);\n      this.dispatchEvent(msg_event);\n    }\n  }\n\n  send(data) {\n    if (this.status === this.CONNECTING) {\n      throw new DOMException(\"websocket not ready yet\");\n    }\n    if (this.status === this.CLOSED) {\n      return;\n    }\n\n    if (data instanceof Blob) {\n      (async () => {\n        let array_buffer = await data.arrayBuffer();\n        this.socket.send(new Uint8Array(array_buffer));\n      })();\n    }\n    else if (typeof data === \"string\") {\n      this.socket.send(data);\n    }\n    else {\n      this.socket.send(data_to_array(data));\n    }\n  }\n\n  close() {\n    this.status = this.CLOSING;\n    this.socket.close();\n  }\n\n  get readyState() {\n    return this.status;\n  }\n  get bufferedAmount() {\n    return 0;\n  }\n  get protocol() {\n    return this.protocols[0] || \"\";\n  }\n  get extensions() {\n    return \"\";\n  }\n}class TLSSocket extends CurlSession {\n  constructor(hostname, port, options={}) {\n    super();\n\n    this.hostname = hostname;\n    this.port = port;\n    this.url = `https://${hostname}:${port}`;\n    this.options = options;\n\n    this.onopen = () => {};\n    this.onerror = () => {};\n    this.onmessage = () => {};\n    this.onclose = () => {};\n\n    this.connected = false;\n    this.recv_loop = null;\n\n    try {\n      check_proxy(this.options.proxy);\n      this.set_connections(1, 0);\n      this.connect();\n    }\n    catch (e) {\n      this.cleanup(true);\n      throw e;\n    }\n  }\n\n  connect() {\n    let data_callback = () => {};\n    let headers_callback = () => {};\n    let finish_callback = (error) => {\n      if (error === 0) {\n        this.connected = true;\n        this.recv_loop = setInterval(() => {\n          let data = this.recv();\n          if (data != null) this.onmessage(data);\n        }, 0);\n        this.onopen();\n      }\n      else {\n        this.cleanup(error);\n      }\n    }\n\n    this.http_handle = this.create_request(this.url, data_callback, finish_callback, headers_callback);\n    _tls_socket_set_options(this.http_handle, +this.options.verbose);\n    if (this.options.proxy) {\n      c_func_str(_request_set_proxy, [this.http_handle, this.options.proxy]);\n    }\n    this.start_request(this.http_handle);\n  }\n\n  recv() {\n    let buffer_size = 64*1024;\n    let result_ptr = _recv_from_socket(this.http_handle, buffer_size);\n    let data_ptr = _get_result_buffer(result_ptr);\n    let result_code = _get_result_code(result_ptr);\n    let result_closed = _get_result_closed(result_ptr);\n\n    if (result_code === 0 && !result_closed) { //CURLE_OK - data received \n      let data_size = _get_result_size(result_ptr);\n      let data_heap = Module.HEAPU8.subarray(data_ptr, data_ptr + data_size);\n      let data = new Uint8Array(data_heap);\n      this.onmessage(data)\n    }\n    \n    else if (result_code === 0 && result_closed) {\n      this.cleanup();\n    }\n\n    else if (result_code != 81) {\n      this.cleanup(result_code);\n    }\n\n    _free(data_ptr);\n    _free(result_ptr);\n  }\n\n  send(data_array) {\n    if (!this.connected) return;\n    let data_ptr = allocate_array(data_array);\n    let data_len = data_array.length;\n    _send_to_socket(this.http_handle, data_ptr, data_len);\n    _free(data_ptr);\n  }\n\n  cleanup(error=false) {\n    if (this.http_handle) {\n      this.remove_request(this.http_handle);\n      this.http_handle = null;\n      super.close();\n    }\n    else return;\n    \n    clearInterval(this.recv_loop);\n    this.connected = false;\n\n    if (error) {\n      this.onerror(error);\n    }\n    else {\n      this.onclose();\n    }\n  }\n\n  close() {\n    this.cleanup();\n  }\n}\nvar websocket_url = null;\nvar wasm_ready = false;\nvar version_dict = null;\nvar api = null;\nvar main_session = null;\nconst libcurl_version = \"0.7.4\";\nconst wisp_version = \"1.1.1\";\n\nfunction check_loaded(check_websocket) {\n  if (!wasm_ready) {\n    throw new Error(\"wasm not loaded yet, please call libcurl.load_wasm first\");\n  }\n  if (!websocket_url && check_websocket) {\n    throw new Error(\"websocket proxy url not set, please call libcurl.set_websocket\");\n  }\n}\nfunction set_websocket_url(url) {\n  websocket_url = url;\n  if (typeof Module.websocket === \"undefined\") \n    Module.websocket = {};\n  if (typeof SOCKFS.websocketArgs !== \"undefined\") \n    SOCKFS.websocketArgs.url = url;\n  Module.websocket.url = url;\n  if (!main_session && wasm_ready) {\n    setup_main_session();\n  }\n}\n\nfunction get_version() {\n  if (!wasm_ready) return null;\n  if (version_dict) return version_dict;\n\n  let version_ptr = _get_version();\n  let version_str = UTF8ToString(version_ptr);\n  _free(version_ptr);\n  version_dict = JSON.parse(version_str);\n  version_dict.lib = libcurl_version;\n  version_dict.wisp = wisp_version;\n  return version_dict;\n}\n\nfunction get_cacert() {\n  return UTF8ToString(_get_cacert());\n}\n\nfunction setup_main_session() {\n  main_session = new HTTPSession();\n  api.fetch = main_session.fetch.bind(main_session);\n}\n\nfunction main() {\n  wasm_ready = true;\n  _init_curl();\n\n  if (!main_session && websocket_url) {\n    setup_main_session();\n  }\n\n  let load_event = new Event(\"libcurl_load\");\n  api.events.dispatchEvent(load_event);\n  api.onload();\n  if (ENVIRONMENT_IS_WEB) {\n    document.dispatchEvent(load_event);\n  }\n}\n\nfunction abort_callback(reason) {\n  let abort_event = new CustomEvent(\"libcurl_abort\", {detail: reason});\n  api.events.dispatchEvent(abort_event);\n  if (ENVIRONMENT_IS_WEB) {\n    document.dispatchEvent(abort_event);\n  }\n}\n\nfunction load_wasm(url) {\n  if (wasm_ready) return;\n\n  //skip this if we are running in single file mode\n  if (!wasmBinaryFile || !isDataURI(wasmBinaryFile)) {\n    wasmBinaryFile = url;\n    createWasm();\n    run();  \n  }\n\n  return new Promise((resolve, reject) => {\n    if (wasm_ready) return resolve();\n    api.events.addEventListener(\"libcurl_load\", () => {\n      resolve();\n    }, {once: true});\n    api.events.addEventListener(\"libcurl_abort\", (event) => {\n      reject(event.detail);\n    }, {once: true});\n  });\n}\n\nModule.onRuntimeInitialized = main;\nModule.onAbort = abort_callback;\n\napi = {\n  set_websocket: set_websocket_url,\n  load_wasm: load_wasm,\n  get_cacert: get_cacert,\n  get_error_string: get_error_str,\n\n  wisp: {\n    wisp_connections: _wisp_connections,\n    WispConnection: WispConnection,\n    WispWebSocket: WispWebSocket  \n  },\n\n  transport: \"wisp\",\n\n  WebSocket: FakeWebSocket,\n  CurlWebSocket: CurlWebSocket,\n  TLSSocket: TLSSocket,\n  HTTPSession: HTTPSession,\n  fetch() {\n    check_loaded(true);\n    throw new Error(\"not ready\")\n  },\n  \n  get copyright() {return copyright_notice},\n  get version() {return get_version()},\n  get ready() {return wasm_ready},\n  get websocket_url() {return websocket_url},\n\n  get stdout() {return out},\n  set stdout(callback) {out = callback},\n  get stderr() {return err},\n  set stderr(callback) {err = callback},\n  get logger() {return logger},\n  set logger(func) {logger = func},\n\n  onload() {},\n  events: new EventTarget()\n};\n\nreturn api;\n\n})()"]}