livesplit-core
Version:
livesplit-core is a library that provides a lot of functionality for creating a speedrun timer.
8 lines (6 loc) • 4.23 MB
JavaScript
var LiveSplitCore = (function() {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
return (
function(LiveSplitCore) {
LiveSplitCore = LiveSplitCore || {};
var Module=typeof LiveSplitCore!=="undefined"?LiveSplitCore:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",abort);Module["quit"]=(function(status){process["exit"](status)});Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WEB){if(document.currentScript){scriptDirectory=document.currentScript.src}}else{scriptDirectory=self.location.href}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var Runtime={dynCall:dynCall};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(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})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){function convertReturnValue(ret){if(returnType==="string")return Pointer_stringify(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function cwrap(ident,returnType,argTypes,opts){argTypes=argTypes||[];var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(function(){return ccall(ident,returnType,argTypes,arguments,opts)})}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function getMemory(size){if(!staticSealed)return staticAlloc(size);if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,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;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){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 if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}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 demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY<HEAP32[DYNAMICTOP_PTR>>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||33554432;if(TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;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 ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function(){Module.STDWEB={}}),(function(){Module.STDWEB.alloc=_malloc;Module.STDWEB.dyncall=Runtime.dynCall;Module.STDWEB.utf8_len=lengthBytesUTF8}),(function(){Module.STDWEB.to_utf8=function to_utf8(str,addr){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){HEAPU8[addr++]=u}else if(u<=2047){HEAPU8[addr++]=192|u>>6;HEAPU8[addr++]=128|u&63}else if(u<=65535){HEAPU8[addr++]=224|u>>12;HEAPU8[addr++]=128|u>>6&63;HEAPU8[addr++]=128|u&63}else if(u<=2097151){HEAPU8[addr++]=240|u>>18;HEAPU8[addr++]=128|u>>12&63;HEAPU8[addr++]=128|u>>6&63;HEAPU8[addr++]=128|u&63}else if(u<=67108863){HEAPU8[addr++]=248|u>>24;HEAPU8[addr++]=128|u>>18&63;HEAPU8[addr++]=128|u>>12&63;HEAPU8[addr++]=128|u>>6&63;HEAPU8[addr++]=128|u&63}else{HEAPU8[addr++]=252|u>>30;HEAPU8[addr++]=128|u>>24&63;HEAPU8[addr++]=128|u>>18&63;HEAPU8[addr++]=128|u>>12&63;HEAPU8[addr++]=128|u>>6&63;HEAPU8[addr++]=128|u&63}}}}),(function(){Module.STDWEB.noop=(function(){});Module.STDWEB.to_js=function to_js(address){var kind=HEAPU8[address+12];if(kind===0){return undefined}else if(kind===1){return null}else if(kind===2){return HEAP32[address/4]}else if(kind===3){return HEAPF64[address/8]}else if(kind===4){var pointer=HEAPU32[address/4];var length=HEAPU32[(address+4)/4];return Module.STDWEB.to_js_string(pointer,length)}else if(kind===5){return false}else if(kind===6){return true}else if(kind===7){var pointer=HEAPU32[address/4];var length=HEAPU32[(address+4)/4];var output=[];for(var i=0;i<length;++i){output.push(Module.STDWEB.to_js(pointer+i*16))}return output}else if(kind===8){var value_array_pointer=HEAPU32[address/4];var length=HEAPU32[(address+4)/4];var key_array_pointer=HEAPU32[(address+8)/4];var output={};for(var i=0;i<length;++i){var key_pointer=HEAPU32[(key_array_pointer+i*8)/4];var key_length=HEAPU32[(key_array_pointer+4+i*8)/4];var key=Module.STDWEB.to_js_string(key_pointer,key_length);var value=Module.STDWEB.to_js(value_array_pointer+i*16);output[key]=value}return output}else if(kind===9||kind===11||kind===12){return Module.STDWEB.acquire_js_reference(HEAP32[address/4])}else if(kind===10){var adapter_pointer=HEAPU32[address/4];var pointer=HEAPU32[(address+4)/4];var deallocator_pointer=HEAPU32[(address+8)/4];var output=(function(){if(pointer===0){throw new ReferenceError("Already dropped Rust function called!")}var args=Module.STDWEB.alloc(16);Module.STDWEB.serialize_array(args,arguments);Module.STDWEB.dyncall("vii",adapter_pointer,[pointer,args]);var result=Module.STDWEB.tmp;Module.STDWEB.tmp=null;return result});output.drop=(function(){output.drop=Module.STDWEB.noop;var function_pointer=pointer;pointer=0;Module.STDWEB.dyncall("vi",deallocator_pointer,[function_pointer])});return output}else if(kind===13){var adapter_pointer=HEAPU32[address/4];var pointer=HEAPU32[(address+4)/4];var deallocator_pointer=HEAPU32[(address+8)/4];var output=(function(){if(pointer===0){throw new ReferenceError("Already called or dropped FnOnce function called!")}output.drop=Module.STDWEB.noop;var function_pointer=pointer;pointer=0;var args=Module.STDWEB.alloc(16);Module.STDWEB.serialize_array(args,arguments);Module.STDWEB.dyncall("vii",adapter_pointer,[function_pointer,args]);var result=Module.STDWEB.tmp;Module.STDWEB.tmp=null;return result});output.drop=(function(){output.drop=Module.STDWEB.noop;var function_pointer=pointer;pointer=0;Module.STDWEB.dyncall("vi",deallocator_pointer,[function_pointer])});return output}else if(kind===14){var pointer=HEAPU32[address/4];var length=HEAPU32[(address+4)/4];var array_kind=HEAPU32[(address+8)/4];var pointer_end=pointer+length;switch(array_kind){case 0:return HEAPU8.subarray(pointer,pointer_end);case 1:return HEAP8.subarray(pointer,pointer_end);case 2:return HEAPU16.subarray(pointer,pointer_end);case 3:return HEAP16.subarray(pointer,pointer_end);case 4:return HEAPU32.subarray(pointer,pointer_end);case 5:return HEAP32.subarray(pointer,pointer_end);case 6:return HEAPF32.subarray(pointer,pointer_end);case 7:return HEAPF64.subarray(pointer,pointer_end)}}}}),(function(){Module.STDWEB.serialize_object=function serialize_object(address,value){var keys=Object.keys(value);var length=keys.length;var key_array_pointer=Module.STDWEB.alloc(length*8);var value_array_pointer=Module.STDWEB.alloc(length*16);HEAPU8[address+12]=8;HEAPU32[address/4]=value_array_pointer;HEAPU32[(address+4)/4]=length;HEAPU32[(address+8)/4]=key_array_pointer;for(var i=0;i<length;++i){var key=keys[i];var key_length=Module.STDWEB.utf8_len(key);var key_pointer=Module.STDWEB.alloc(key_length);Module.STDWEB.to_utf8(key,key_pointer);var key_address=key_array_pointer+i*8;HEAPU32[key_address/4]=key_pointer;HEAPU32[(key_address+4)/4]=key_length;Module.STDWEB.from_js(value_array_pointer+i*16,value[key])}};Module.STDWEB.serialize_array=function serialize_array(address,value){var length=value.length;var pointer=Module.STDWEB.alloc(length*16);HEAPU8[address+12]=7;HEAPU32[address/4]=pointer;HEAPU32[(address+4)/4]=length;for(var i=0;i<length;++i){Module.STDWEB.from_js(pointer+i*16,value[i])}};Module.STDWEB.from_js=function from_js(address,value){var kind=Object.prototype.toString.call(value);if(kind==="[object String]"){var length=Module.STDWEB.utf8_len(value);var pointer=0;if(length>0){pointer=Module.STDWEB.alloc(length);Module.STDWEB.to_utf8(value,pointer)}HEAPU8[address+12]=4;HEAPU32[address/4]=pointer;HEAPU32[(address+4)/4]=length}else if(kind==="[object Number]"){if(value===(value|0)){HEAPU8[address+12]=2;HEAP32[address/4]=value}else{HEAPU8[address+12]=3;HEAPF64[address/8]=value}}else if(value===null){HEAPU8[address+12]=1}else if(value===undefined){HEAPU8[address+12]=0}else if(value===false){HEAPU8[address+12]=5}else if(value===true){HEAPU8[address+12]=6}else{var refid=Module.STDWEB.acquire_rust_reference(value);var id=9;if(kind==="[object Object]"){id=11}else if(kind==="[object Array]"||kind==="[object Arguments]"){id=12}HEAPU8[address+12]=id;HEAP32[address/4]=refid}}}),(function(){Module.STDWEB.to_js_string=function to_js_string(index,length){index=index|0;length=length|0;var end=(index|0)+(length|0);var output="";while(index<end){var x=HEAPU8[index++];if(x<128){output+=String.fromCharCode(x);continue}var init=x&127>>2;var y=0;if(index<end){y=HEAPU8[index++]}var ch=init<<6|y&63;if(x>=224){var z=0;if(index<end){z=HEAPU8[index++]}var y_z=(y&63)<<6|z&63;ch=init<<12|y_z;if(x>=240){var w=0;if(index<end){w=HEAPU8[index++]}ch=(init&7)<<18|(y_z<<6|w&63)}}output+=String.fromCharCode(ch);continue}return output}}),(function(){var id_to_ref_map={};var id_to_refcount_map={};var ref_to_id_map=new WeakMap;var ref_to_id_symbol_map={};var last_refid=1;Module.STDWEB.acquire_rust_reference=(function(reference){if(reference===undefined||reference===null){return 0}var refid=ref_to_id_map.get(reference);if(refid===undefined){refid=ref_to_id_symbol_map[reference]}if(refid===undefined){refid=last_refid++;if(typeof reference==="symbol"){ref_to_id_symbol_map[reference]=refid}else{ref_to_id_map.set(reference,refid)}id_to_ref_map[refid]=reference;id_to_refcount_map[refid]=1}else{id_to_refcount_map[refid]++}return refid});Module.STDWEB.acquire_js_reference=(function(refid){return id_to_ref_map[refid]});Module.STDWEB.increment_refcount=(function(refid){id_to_refcount_map[refid]++});Module.STDWEB.decrement_refcount=(function(refid){id_to_refcount_map[refid]--;if(id_to_refcount_map[refid]===0){var reference=id_to_ref_map[refid];delete id_to_ref_map[refid];delete id_to_refcount_map[refid];if(typeof reference==="symbol"){delete ref_to_id_symbol_map[reference]}else{ref_to_id_map.delete(reference)}}})}),(function($0){Module.STDWEB.from_js($0,(function(){var keyProt=KeyboardEvent&&KeyboardEvent.prototype||Event.prototype;if(Object.getOwnPropertyDescriptor(keyProt,"code")!==undefined){return}Object.defineProperties(keyProt,{"code":{get:(function(){switch(this.keyCode){case 8:return"Backspace";case 9:return"Tab";case 12:return"NumpadEqual";case 13:return"Enter";case 16:return"ShiftLeft";case 17:return"ControlLeft";case 18:return"AltLeft";case 19:return"Pause";case 20:return"CapsLock";case 27:return"Escape";case 32:return"Space";case 33:return"PageUp";case 34:return"PageDown";case 35:return"End";case 36:return"Home";case 37:return"ArrowLeft";case 38:return"ArrowUp";case 39:return"ArrowRight";case 40:return"ArrowDown";case 44:return"PrintScreen";case 45:return"Insert";case 46:return"Delete";case 47:return"Help";case 48:return"Numpad0";case 49:return"Numpad1";case 50:return"Numpad2";case 51:return"Numpad3";case 52:return"Numpad4";case 53:return"Numpad5";case 54:return"Numpad6";case 55:return"Numpad7";case 56:return"Numpad8";case 57:return"Numpad9";case 65:return"KeyA";case 66:return"KeyB";case 67:return"KeyC";case 68:return"KeyD";case 69:return"KeyE";case 70:return"KeyF";case 71:return"KeyG";case 72:return"KeyH";case 73:return"KeyI";case 74:return"KeyJ";case 75:return"KeyK";case 76:return"KeyL";case 77:return"KeyM";case 78:return"KeyN";case 79:return"KeyO";case 80:return"KeyP";case 81:return"KeyQ";case 82:return"KeyR";case 83:return"KeyS";case 84:return"KeyT";case 85:return"KeyU";case 86:return"KeyV";case 87:return"KeyW";case 88:return"KeyX";case 89:return"KeyY";case 90:return"KeyZ";case 91:return"MetaLeft";case 92:return"MetaRight";case 93:return"ContextMenu";case 96:return"Numpad0";case 97:return"Numpad1";case 98:return"Numpad2";case 99:return"Numpad3";case 100:return"Numpad4";case 101:return"Numpad5";case 102:return"Numpad6";case 103:return"Numpad7";case 104:return"Numpad8";case 105:return"Numpad9";case 106:return"NumpadMultiply";case 107:return"NumpadAdd";case 109:return"NumpadSubtract";case 110:return"NumpadDecimal";case 111:return"NumpadDivide";case 112:return"F1";case 113:return"F2";case 114:return"F3";case 115:return"F4";case 116:return"F5";case 117:return"F6";case 118:return"F7";case 119:return"F8";case 120:return"F9";case 121:return"F10";case 122:return"F11";case 123:return"F12";case 124:return"F13";case 125:return"F14";case 126:return"F15";case 127:return"F16";case 128:return"F17";case 129:return"F18";case 130:return"F19";case 131:return"F20";case 132:return"F21";case 133:return"F22";case 134:return"F23";case 135:return"F24";case 144:return"NumLock";case 145:return"ScrollLock";case 186:return"Semicolon";case 187:return"Equal";case 188:return"Comma";case 189:return"Minus";case 190:return"Period";case 191:return"Slash";case 192:return"Backquote";case 193:return"IntlRo";case 194:return"NumpadComma";case 219:return"BracketLeft";case 220:return"Backslash";case 221:return"BracketRight";case 222:return"Quote";case 226:return"IntlBackslash";case 255:return"IntlYen";default:return"Unidentified"}})}})})())}),(function($0){Module.STDWEB.increment_refcount($0)}),(function($0){Module.STDWEB.decrement_refcount($0)}),(function($0){Module.STDWEB.from_js($0,(function(){return window})())}),(function($0,$1,$2,$3){$1=Module.STDWEB.to_js($1);$2=Module.STDWEB.to_js($2);$3=Module.STDWEB.to_js($3);Module.STDWEB.from_js($0,(function(){var listener=$1;$2.addEventListener($3,listener);return listener})())}),(function($0){return Module.STDWEB.acquire_js_reference($0)instanceof KeyboardEvent|0}),(function($0,$1){$1=Module.STDWEB.to_js($1);Module.STDWEB.from_js($0,(function(){return $1.code})())}),(function($0){Module.STDWEB.tmp=Module.STDWEB.to_js($0)}),(function($0,$1,$2){$0=Module.STDWEB.to_js($0);$1=Module.STDWEB.to_js($1);$2=Module.STDWEB.to_js($2);var self=$0;var event_type=$1;var listener=$2;listener.drop();self.removeEventListener(event_type,listener)}),(function(){console.error("Encountered a panic!")}),(function($0,$1){console.error("Panic error message:",Module.STDWEB.to_js_string($0,$1))}),(function($0,$1,$2){console.error("Panic location:",Module.STDWEB.to_js_string($0,$1)+":"+$2)})];function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+136176;__ATINIT__.push({func:(function(){___emscripten_environ_constructor()})});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAABUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVz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