From 041a0a056c052dc08160e2ccc361765ef036c451 Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Tue, 7 Nov 2017 16:41:07 -0500 Subject: [PATCH] added cc65, asm/link to wasm, new timer funcs --- cc65/Makefile | 4 ++-- src/worker/wasm/ca65.js | 14 ++++++++++++ src/worker/wasm/ca65.wasm | Bin 0 -> 195789 bytes src/worker/wasm/cc65.js | 14 ++++++++++++ src/worker/wasm/cc65.wasm | Bin 0 -> 360522 bytes src/worker/wasm/ld65.js | 14 ++++++++++++ src/worker/wasm/ld65.wasm | Bin 0 -> 142415 bytes src/worker/workermain.js | 47 +++++++++++++++++++++++++++----------- 8 files changed, 78 insertions(+), 15 deletions(-) create mode 100644 src/worker/wasm/ca65.js create mode 100644 src/worker/wasm/ca65.wasm create mode 100644 src/worker/wasm/cc65.js create mode 100644 src/worker/wasm/cc65.wasm create mode 100644 src/worker/wasm/ld65.js create mode 100644 src/worker/wasm/ld65.wasm diff --git a/cc65/Makefile b/cc65/Makefile index ffbba7f5..98639c63 100644 --- a/cc65/Makefile +++ b/cc65/Makefile @@ -1,5 +1,5 @@ -CC65FLAGS=-I/home/huggvey/compilers/cc65/include -I/home/huggvey/compilers/cc65/include/nes -L/home/huggvey/compilers/cc65/lib --cfg-path /home/huggvey/compilers/cc65/cfg/ +CC65FLAGS=-I/home/hugg/compilers/cc65/include -I/home/hugg/compilers/cc65/include/nes -L/home/hugg/compilers/cc65/lib --cfg-path /home/hugg/compilers/cc65/cfg/ -v all: \ default_neslib.neslib.nes default_conio.conio.nes \ @@ -19,7 +19,7 @@ clean: cl65 $(CC65FLAGS) -o $@ -t nes $*.c nes.lib %.rom: %.s - ld65 -o $@ -C atarivec.cfg $*.o atari2600.lib + time ld65 -o $@ -C atarivec.cfg $*.o atari2600.lib %.lzg: %.nes lzg $< | hexdump -v -e '"\n" 32/1 "%u,"' > $@ diff --git a/src/worker/wasm/ca65.js b/src/worker/wasm/ca65.js new file mode 100644 index 00000000..ec2e5fb2 --- /dev/null +++ b/src/worker/wasm/ca65.js @@ -0,0 +1,14 @@ +var ca65 = function(ca65) { + ca65 = ca65 || {}; + var Module = ca65; + +var Module;if(!Module)Module=(typeof ca65!=="undefined"?ca65:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{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}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var 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};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var 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,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(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 Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296;return ret}),GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.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=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>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)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;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:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(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>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 Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;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)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&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}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=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}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");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:x+" ["+y+"]"}))}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)}Module["stackTrace"]=stackTrace;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,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;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){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)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;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}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;function integrateWasmJS(){var method=Module["wasmJSMethod"]||"native-wasm";Module["wasmJSMethod"]=method;var wasmTextFile=Module["wasmTextFile"]||"ca65.wast";var wasmBinaryFile=Module["wasmBinaryFile"]||"ca65.wasm";var asmjsCodeFile=Module["asmjsCodeFile"]||"ca65.temp.asm.js";if(typeof Module["locateFile"]==="function"){wasmTextFile=Module["locateFile"](wasmTextFile);wasmBinaryFile=Module["locateFile"](wasmBinaryFile);asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}var wasmPageSize=64*1024;var asm2wasmImports={"f64-rem":(function(x,y){return x%y}),"f64-to-int":(function(x){return x|0}),"i32s-div":(function(x,y){return(x|0)/(y|0)|0}),"i32u-div":(function(x,y){return(x>>>0)/(y>>>0)>>>0}),"i32s-rem":(function(x,y){return(x|0)%(y|0)|0}),"i32u-rem":(function(x,y){return(x>>>0)%(y>>>0)>>>0}),"debugger":(function(){debugger})};var info={"global":null,"env":null,"asm2wasm":asm2wasmImports,"parent":Module};var exports=null;function lookupImport(mod,base){var lookup=info;if(mod.indexOf(".")<0){lookup=(lookup||{})[mod]}else{var parts=mod.split(".");lookup=(lookup||{})[parts[0]];lookup=(lookup||{})[parts[1]]}if(base){lookup=(lookup||{})[base]}if(lookup===undefined){abort("bad lookupImport to ("+mod+")."+base)}return lookup}function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength=0){Module["printErr"]("Memory size incompatibility issues may be due to changing TOTAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set TOTAL_MEMORY at runtime to something smaller than it was at compile time).")}return false}receiveInstance(instance);return exports}Module["asmPreload"]=Module["asm"];var asmjsReallocBuffer=Module["reallocBuffer"];var wasmReallocBuffer=(function(size){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;size=alignUp(size,PAGE_MULTIPLE);var old=Module["buffer"];var oldSize=old.byteLength;if(Module["usingWasm"]){try{var result=Module["wasmMemory"].grow((size-oldSize)/wasmPageSize);if(result!==(-1|0)){return Module["buffer"]=Module["wasmMemory"].buffer}else{return null}}catch(e){return null}}else{exports["__growWasmMemory"]((size-oldSize)/wasmPageSize);return Module["buffer"]!==old?Module["buffer"]:null}});Module["reallocBuffer"]=(function(size){if(finalMethod==="asmjs"){return asmjsReallocBuffer(size)}else{return wasmReallocBuffer(size)}});var finalMethod="";Module["asm"]=(function(global,env,providedBuffer){global=fixImports(global);env=fixImports(env);if(!env["table"]){var TABLE_SIZE=Module["wasmTableSize"];if(TABLE_SIZE===undefined)TABLE_SIZE=1024;var MAX_TABLE_SIZE=Module["wasmMaxTableSize"];if(typeof WebAssembly==="object"&&typeof WebAssembly.Table==="function"){if(MAX_TABLE_SIZE!==undefined){env["table"]=new WebAssembly.Table({"initial":TABLE_SIZE,"maximum":MAX_TABLE_SIZE,"element":"anyfunc"})}else{env["table"]=new WebAssembly.Table({"initial":TABLE_SIZE,element:"anyfunc"})}}else{env["table"]=new Array(TABLE_SIZE)}Module["wasmTable"]=env["table"]}if(!env["memoryBase"]){env["memoryBase"]=Module["STATIC_BASE"]}if(!env["tableBase"]){env["tableBase"]=0}var exports;exports=doNativeWasm(global,env,providedBuffer);if(!exports)abort("no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods");return exports});var methodHandler=Module["asm"]}integrateWasmJS();var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+44512;__ATINIT__.push();memoryInitializer=Module["wasmJSMethod"].indexOf("asmjs")>=0||Module["wasmJSMethod"].indexOf("interpret-asm2wasm")>=0?"ca65.js.mem":null;var STATIC_BUMP=44512;Module["STATIC_BASE"]=STATIC_BASE;Module["STATIC_BUMP"]=STATIC_BUMP;var tempDoublePtr=STATICTOP;STATICTOP+=16;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}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"/";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)}),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.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==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){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};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(ERRNO_CODES.EPERM)}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}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=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;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),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.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};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(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(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:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(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:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,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:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.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});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.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)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=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(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(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})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(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:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(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:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("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(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}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:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){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:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(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(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.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=(function(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);if(typeof Uint8Array!="undefined")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((function(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;console.log("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((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}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>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;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,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-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;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-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}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>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>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:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___lock(){}function ___unlock(){}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}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 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module["wasmTableSize"]=236;Module["wasmMaxTableSize"]=236;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_i":invoke_i,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"___syscall221":___syscall221,"___buildEnvironment":___buildEnvironment,"___syscall195":___syscall195,"_time":_time,"___lock":___lock,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"___syscall40":___syscall40,"_getenv":_getenv,"___syscall5":___syscall5,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"___syscall140":___syscall140,"_exit":_exit,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"___syscall10":___syscall10,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _fflush=Module["_fflush"]=asm["_fflush"];var _main=Module["_main"]=asm["_main"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _memmove=Module["_memmove"]=asm["_memmove"];var stackSave=Module["stackSave"]=asm["stackSave"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var setThrew=Module["setThrew"]=asm["setThrew"];var _free=Module["_free"]=asm["_free"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["FS"]=FS;if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() + + + + + return ca65; +}; +if (typeof module === "object" && module.exports) { + module['exports'] = ca65; +}; diff --git a/src/worker/wasm/ca65.wasm b/src/worker/wasm/ca65.wasm new file mode 100644 index 0000000000000000000000000000000000000000..71c1aa8d807843020701db69dd24ff9415981061 GIT binary patch literal 195789 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 S>AeN%BcqdeX$F&p$^RF*T!j<> literal 0 HcmV?d00001 diff --git a/src/worker/wasm/cc65.js b/src/worker/wasm/cc65.js new file mode 100644 index 00000000..626596f7 --- /dev/null +++ b/src/worker/wasm/cc65.js @@ -0,0 +1,14 @@ +var cc65 = function(cc65) { + cc65 = cc65 || {}; + var Module = cc65; + +var Module;if(!Module)Module=(typeof cc65!=="undefined"?cc65:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{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}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var 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};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var 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,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(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 Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296;return ret}),GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.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=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>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)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;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:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(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>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 Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;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)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&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}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=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}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");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:x+" ["+y+"]"}))}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)}Module["stackTrace"]=stackTrace;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,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;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){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)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;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}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;function integrateWasmJS(){var method=Module["wasmJSMethod"]||"native-wasm";Module["wasmJSMethod"]=method;var wasmTextFile=Module["wasmTextFile"]||"cc65.wast";var wasmBinaryFile=Module["wasmBinaryFile"]||"cc65.wasm";var asmjsCodeFile=Module["asmjsCodeFile"]||"cc65.temp.asm.js";if(typeof Module["locateFile"]==="function"){wasmTextFile=Module["locateFile"](wasmTextFile);wasmBinaryFile=Module["locateFile"](wasmBinaryFile);asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}var wasmPageSize=64*1024;var asm2wasmImports={"f64-rem":(function(x,y){return x%y}),"f64-to-int":(function(x){return x|0}),"i32s-div":(function(x,y){return(x|0)/(y|0)|0}),"i32u-div":(function(x,y){return(x>>>0)/(y>>>0)>>>0}),"i32s-rem":(function(x,y){return(x|0)%(y|0)|0}),"i32u-rem":(function(x,y){return(x>>>0)%(y>>>0)>>>0}),"debugger":(function(){debugger})};var info={"global":null,"env":null,"asm2wasm":asm2wasmImports,"parent":Module};var exports=null;function lookupImport(mod,base){var lookup=info;if(mod.indexOf(".")<0){lookup=(lookup||{})[mod]}else{var parts=mod.split(".");lookup=(lookup||{})[parts[0]];lookup=(lookup||{})[parts[1]]}if(base){lookup=(lookup||{})[base]}if(lookup===undefined){abort("bad lookupImport to ("+mod+")."+base)}return lookup}function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength=0){Module["printErr"]("Memory size incompatibility issues may be due to changing TOTAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set TOTAL_MEMORY at runtime to something smaller than it was at compile time).")}return false}receiveInstance(instance);return exports}Module["asmPreload"]=Module["asm"];var asmjsReallocBuffer=Module["reallocBuffer"];var wasmReallocBuffer=(function(size){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;size=alignUp(size,PAGE_MULTIPLE);var old=Module["buffer"];var oldSize=old.byteLength;if(Module["usingWasm"]){try{var result=Module["wasmMemory"].grow((size-oldSize)/wasmPageSize);if(result!==(-1|0)){return Module["buffer"]=Module["wasmMemory"].buffer}else{return null}}catch(e){return null}}else{exports["__growWasmMemory"]((size-oldSize)/wasmPageSize);return Module["buffer"]!==old?Module["buffer"]:null}});Module["reallocBuffer"]=(function(size){if(finalMethod==="asmjs"){return asmjsReallocBuffer(size)}else{return wasmReallocBuffer(size)}});var finalMethod="";Module["asm"]=(function(global,env,providedBuffer){global=fixImports(global);env=fixImports(env);if(!env["table"]){var TABLE_SIZE=Module["wasmTableSize"];if(TABLE_SIZE===undefined)TABLE_SIZE=1024;var MAX_TABLE_SIZE=Module["wasmMaxTableSize"];if(typeof WebAssembly==="object"&&typeof WebAssembly.Table==="function"){if(MAX_TABLE_SIZE!==undefined){env["table"]=new WebAssembly.Table({"initial":TABLE_SIZE,"maximum":MAX_TABLE_SIZE,"element":"anyfunc"})}else{env["table"]=new WebAssembly.Table({"initial":TABLE_SIZE,element:"anyfunc"})}}else{env["table"]=new Array(TABLE_SIZE)}Module["wasmTable"]=env["table"]}if(!env["memoryBase"]){env["memoryBase"]=Module["STATIC_BASE"]}if(!env["tableBase"]){env["tableBase"]=0}var exports;exports=doNativeWasm(global,env,providedBuffer);if(!exports)abort("no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods");return exports});var methodHandler=Module["asm"]}integrateWasmJS();var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+50304;__ATINIT__.push();memoryInitializer=Module["wasmJSMethod"].indexOf("asmjs")>=0||Module["wasmJSMethod"].indexOf("interpret-asm2wasm")>=0?"cc65.js.mem":null;var STATIC_BUMP=50304;Module["STATIC_BASE"]=STATIC_BASE;Module["STATIC_BUMP"]=STATIC_BUMP;var tempDoublePtr=STATICTOP;STATICTOP+=16;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}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"/";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)}),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.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==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){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};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(ERRNO_CODES.EPERM)}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}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=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;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),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.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};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(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(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:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(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:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,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:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.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});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.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)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=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(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(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})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(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:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(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:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("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(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}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:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){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:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(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(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.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=(function(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);if(typeof Uint8Array!="undefined")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((function(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;console.log("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((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}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>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;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,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-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;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-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}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>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>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:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _abort(){Module["abort"]()}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___lock(){}function ___unlock(){}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _llvm_pow_f64=Math_pow;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}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 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(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"};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.length0?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){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||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()=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"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());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=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module["wasmTableSize"]=234;Module["wasmMaxTableSize"]=234;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"___syscall221":___syscall221,"_llvm_pow_f64":_llvm_pow_f64,"___syscall6":___syscall6,"___syscall40":___syscall40,"___buildEnvironment":___buildEnvironment,"__addDays":__addDays,"_localtime_r":_localtime_r,"_tzset":_tzset,"___setErrNo":___setErrNo,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_strftime":_strftime,"__arraySum":__arraySum,"___syscall195":___syscall195,"_getenv":_getenv,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"__isLeapYear":__isLeapYear,"___syscall10":___syscall10,"___lock":___lock,"_abort":_abort,"___syscall5":___syscall5,"_time":_time,"___syscall140":___syscall140,"_localtime":_localtime,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _fflush=Module["_fflush"]=asm["_fflush"];var _main=Module["_main"]=asm["_main"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _memmove=Module["_memmove"]=asm["_memmove"];var stackSave=Module["stackSave"]=asm["stackSave"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var setThrew=Module["setThrew"]=asm["setThrew"];var _free=Module["_free"]=asm["_free"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["FS"]=FS;if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() + + + + + return cc65; +}; +if (typeof module === "object" && module.exports) { + module['exports'] = cc65; +}; diff --git a/src/worker/wasm/cc65.wasm b/src/worker/wasm/cc65.wasm new file mode 100644 index 0000000000000000000000000000000000000000..b27acb9fc518eaefd76a72181a66be97b57a387e GIT binary patch literal 360522 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 YSn7W?4N~eOT&|&AU%Tjoha?(b2g1V{d-#*FOI{ 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["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var 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,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(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 Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296;return ret}),GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.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=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>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)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;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:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(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>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 Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;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)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&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}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=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}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");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:x+" ["+y+"]"}))}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)}Module["stackTrace"]=stackTrace;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,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;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){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)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;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}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;function integrateWasmJS(){var method=Module["wasmJSMethod"]||"native-wasm";Module["wasmJSMethod"]=method;var wasmTextFile=Module["wasmTextFile"]||"ld65.wast";var wasmBinaryFile=Module["wasmBinaryFile"]||"ld65.wasm";var asmjsCodeFile=Module["asmjsCodeFile"]||"ld65.temp.asm.js";if(typeof Module["locateFile"]==="function"){wasmTextFile=Module["locateFile"](wasmTextFile);wasmBinaryFile=Module["locateFile"](wasmBinaryFile);asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}var wasmPageSize=64*1024;var asm2wasmImports={"f64-rem":(function(x,y){return x%y}),"f64-to-int":(function(x){return x|0}),"i32s-div":(function(x,y){return(x|0)/(y|0)|0}),"i32u-div":(function(x,y){return(x>>>0)/(y>>>0)>>>0}),"i32s-rem":(function(x,y){return(x|0)%(y|0)|0}),"i32u-rem":(function(x,y){return(x>>>0)%(y>>>0)>>>0}),"debugger":(function(){debugger})};var info={"global":null,"env":null,"asm2wasm":asm2wasmImports,"parent":Module};var exports=null;function lookupImport(mod,base){var lookup=info;if(mod.indexOf(".")<0){lookup=(lookup||{})[mod]}else{var parts=mod.split(".");lookup=(lookup||{})[parts[0]];lookup=(lookup||{})[parts[1]]}if(base){lookup=(lookup||{})[base]}if(lookup===undefined){abort("bad lookupImport to ("+mod+")."+base)}return lookup}function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength=0){Module["printErr"]("Memory size incompatibility issues may be due to changing TOTAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set TOTAL_MEMORY at runtime to something smaller than it was at compile time).")}return false}receiveInstance(instance);return exports}Module["asmPreload"]=Module["asm"];var asmjsReallocBuffer=Module["reallocBuffer"];var wasmReallocBuffer=(function(size){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;size=alignUp(size,PAGE_MULTIPLE);var old=Module["buffer"];var oldSize=old.byteLength;if(Module["usingWasm"]){try{var result=Module["wasmMemory"].grow((size-oldSize)/wasmPageSize);if(result!==(-1|0)){return Module["buffer"]=Module["wasmMemory"].buffer}else{return null}}catch(e){return null}}else{exports["__growWasmMemory"]((size-oldSize)/wasmPageSize);return Module["buffer"]!==old?Module["buffer"]:null}});Module["reallocBuffer"]=(function(size){if(finalMethod==="asmjs"){return asmjsReallocBuffer(size)}else{return wasmReallocBuffer(size)}});var finalMethod="";Module["asm"]=(function(global,env,providedBuffer){global=fixImports(global);env=fixImports(env);if(!env["table"]){var TABLE_SIZE=Module["wasmTableSize"];if(TABLE_SIZE===undefined)TABLE_SIZE=1024;var MAX_TABLE_SIZE=Module["wasmMaxTableSize"];if(typeof WebAssembly==="object"&&typeof WebAssembly.Table==="function"){if(MAX_TABLE_SIZE!==undefined){env["table"]=new WebAssembly.Table({"initial":TABLE_SIZE,"maximum":MAX_TABLE_SIZE,"element":"anyfunc"})}else{env["table"]=new WebAssembly.Table({"initial":TABLE_SIZE,element:"anyfunc"})}}else{env["table"]=new Array(TABLE_SIZE)}Module["wasmTable"]=env["table"]}if(!env["memoryBase"]){env["memoryBase"]=Module["STATIC_BASE"]}if(!env["tableBase"]){env["tableBase"]=0}var exports;exports=doNativeWasm(global,env,providedBuffer);if(!exports)abort("no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods");return exports});var methodHandler=Module["asm"]}integrateWasmJS();var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+39616;__ATINIT__.push();memoryInitializer=Module["wasmJSMethod"].indexOf("asmjs")>=0||Module["wasmJSMethod"].indexOf("interpret-asm2wasm")>=0?"ld65.js.mem":null;var STATIC_BUMP=39616;Module["STATIC_BASE"]=STATIC_BASE;Module["STATIC_BUMP"]=STATIC_BUMP;var tempDoublePtr=STATICTOP;STATICTOP+=16;var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}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"/";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)}),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.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==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){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};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(ERRNO_CODES.EPERM)}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}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=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;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),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.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};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(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(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:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(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:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,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:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.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});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.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)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=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(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(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})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(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:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(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:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("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(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}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:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){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:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(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(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.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=(function(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);if(typeof Uint8Array!="undefined")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((function(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;console.log("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((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}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>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;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,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-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;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-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}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>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>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:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _abort(){Module["abort"]()}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___lock(){}function ___unlock(){}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());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=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}STATICTOP+=48;function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _asctime_r(tmPtr,buf){var date={tm_sec:HEAP32[tmPtr>>2],tm_min:HEAP32[tmPtr+4>>2],tm_hour:HEAP32[tmPtr+8>>2],tm_mday:HEAP32[tmPtr+12>>2],tm_mon:HEAP32[tmPtr+16>>2],tm_year:HEAP32[tmPtr+20>>2],tm_wday:HEAP32[tmPtr+24>>2]};var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var s=days[date.tm_wday]+" "+months[date.tm_mon]+(date.tm_mday<10?" ":" ")+date.tm_mday+(date.tm_hour<10?" 0":" ")+date.tm_hour+(date.tm_min<10?":0":":")+date.tm_min+(date.tm_sec<10?":0":":")+date.tm_sec+" "+(1900+date.tm_year)+"\n";stringToUTF8(s,buf,26);return buf}function _ctime_r(time,buf){var stack=Runtime.stackSave();var rv=_asctime_r(_localtime_r(time,Runtime.stackAlloc(44)),buf);Runtime.stackRestore(stack);return rv}function _ctime(timer){return _ctime_r(timer,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}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 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;Module["wasmTableSize"]=66;Module["wasmMaxTableSize"]=66;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"invoke_viiii":invoke_viiii,"___syscall221":___syscall221,"_abort":_abort,"___buildEnvironment":___buildEnvironment,"_localtime_r":_localtime_r,"_tzset":_tzset,"___setErrNo":___setErrNo,"_emscripten_memcpy_big":_emscripten_memcpy_big,"__exit":__exit,"_mktime":_mktime,"_asctime_r":_asctime_r,"_getenv":_getenv,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"_ctime":_ctime,"___lock":___lock,"___syscall6":___syscall6,"___syscall5":___syscall5,"_time":_time,"_ctime_r":_ctime_r,"___syscall140":___syscall140,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _malloc=Module["_malloc"]=asm["_malloc"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _fflush=Module["_fflush"]=asm["_fflush"];var _main=Module["_main"]=asm["_main"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _memmove=Module["_memmove"]=asm["_memmove"];var stackSave=Module["stackSave"]=asm["stackSave"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var setThrew=Module["setThrew"]=asm["setThrew"];var _free=Module["_free"]=asm["_free"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["FS"]=FS;if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() + + + + + return ld65; +}; +if (typeof module === "object" && module.exports) { + module['exports'] = ld65; +}; diff --git a/src/worker/wasm/ld65.wasm b/src/worker/wasm/ld65.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f7530bc58d31adafaa2b50d730fd843905dcb455 GIT binary patch literal 142415 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 z%0D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 F{|3dgQ_27U literal 0 HcmV?d00001 diff --git a/src/worker/workermain.js b/src/worker/workermain.js index e77e5cd8..51d718ae 100644 --- a/src/worker/workermain.js +++ b/src/worker/workermain.js @@ -96,6 +96,10 @@ var document = noop(); document.documentElement = noop(); document.documentElement.style = noop(); +var _t1, _t2; +function starttime() { _t1 = new Date(); } +function endtime(msg) { _t2 = new Date(); console.log(msg, _t2.getTime() - _t1.getTime(), "ms"); } + var fsMeta = {}; var fsBlob = {}; var wasmBlob = {}; @@ -138,6 +142,15 @@ function loadWASM(modulename, debug) { } } } +function loadNative(modulename, debug) { + // detect WASM + if (typeof WebAssembly === 'object') { + loadWASM(modulename); + return wasmBlob['sdcc']; + } else { + load(modulename); + } +} var ATARI_CFG = "FEATURES {\nSTARTADDRESS: default = $9000;\n}\n" @@ -520,11 +533,12 @@ function assemblelinkCA65(code, platform, warnings) { function error_fn(s) { errors += s + "\n"; } - load("ca65"); - load("ld65"); + loadNative("ca65"); + loadNative("ld65"); var objout, lstout; { var CA65 = ca65({ + wasmBinary: wasmBlob['ca65'], noInitialRun:true, //logReadFiles:true, print:print_fn, @@ -533,11 +547,14 @@ function assemblelinkCA65(code, platform, warnings) { var FS = CA65['FS']; setupFS(FS, '65'); FS.writeFile("main.s", code, {encoding:'utf8'}); + starttime(); CA65.callMain(['-v', '-g', '-I', '/share/asminc', '-l', 'main.lst', "main.s"]); + endtime("assemble"); objout = FS.readFile("main.o", {encoding:'binary'}); lstout = FS.readFile("main.lst", {encoding:'utf8'}); }{ var LD65 = ld65({ + wasmBinary: wasmBlob['ld65'], noInitialRun:true, //logReadFiles:true, print:print_fn, @@ -548,10 +565,12 @@ function assemblelinkCA65(code, platform, warnings) { setupFS(FS, '65'); FS.writeFile("main.o", objout, {encoding:'binary'}); var libargs = params.libargs; + starttime(); LD65.callMain(['--cfg-path', '/share/cfg', '--lib-path', '/share/lib', '-C', params.cfgfile, //'--dbgfile', 'main.dbg', '-o', 'main', '-m', 'main.map', 'main.o'].concat(libargs)); + endtime("link"); if (errors.length) { return {errors:[{line:1,msg:errors}]}; } @@ -599,11 +618,13 @@ function compileCC65(code, platform) { var FS = CC65['FS']; setupFS(FS, '65'); FS.writeFile("main.c", code, {encoding:'utf8'}); + starttime(); CC65.callMain(['-T', '-g', /*'-Cl',*/ '-Oirs', '-I', '/share/include', '-D' + params.define, "main.c"]); + endtime("compile"); try { var asmout = FS.readFile("main.s", {encoding:'utf8'}); //console.log(asmout); @@ -700,8 +721,8 @@ function parseIHX(ihx, rom_start, rom_size) { } function assemblelinkSDASZ80(code, platform) { - load("sdasz80"); - load("sdldz80"); + loadNative("sdasz80"); + loadNative("sdldz80"); var objout, lstout, symout; var params = PLATFORM_PARAMS[platform]; if (!params) throw Error("Platform not supported: " + platform); @@ -721,6 +742,7 @@ function assemblelinkSDASZ80(code, platform) { } } var ASZ80 = sdasz80({ + wasmBinary: wasmBlob['sdasz80'], noInitialRun:true, //logReadFiles:true, print:match_asm_fn, @@ -728,7 +750,9 @@ function assemblelinkSDASZ80(code, platform) { }); var FS = ASZ80['FS']; FS.writeFile("main.asm", code, {encoding:'utf8'}); + starttime(); ASZ80.callMain(['-plosgffwy', 'main.asm']); + endtime("assemble"); if (msvc_errors.length) { return {errors:msvc_errors}; } @@ -749,6 +773,7 @@ function assemblelinkSDASZ80(code, platform) { } var updateListing = !params.extra_link_args; var LDZ80 = sdldz80({ + wasmBinary: wasmBlob['sdldz80'], noInitialRun:true, //logReadFiles:true, print:match_aslink_fn, @@ -771,7 +796,9 @@ function assemblelinkSDASZ80(code, platform) { } else { args.push('main.rel'); } + starttime(); LDZ80.callMain(args); + endtime("link"); var hexout = FS.readFile("main.ihx", {encoding:'utf8'}); var mapout = FS.readFile("main.noi", {encoding:'utf8'}); var rstout = updateListing ? FS.readFile("main.rst", {encoding:'utf8'}) : lstout; @@ -808,11 +835,7 @@ function compileSDCC(code, platform) { var params = PLATFORM_PARAMS[platform]; if (!params) throw Error("Platform not supported: " + platform); - // detect WASM - if (typeof WebAssembly === 'object') - loadWASM("sdcc"); - else - load("sdcc"); + loadNative('sdcc'); var SDCC = sdcc({ wasmBinary: wasmBlob['sdcc'], noInitialRun:true, @@ -826,7 +849,6 @@ function compileSDCC(code, platform) { setupFS(FS, 'sdcc'); //FS.writeFile("main.c", code, {encoding:'utf8'}); msvc_errors = []; - var t1 = new Date(); var args = ['--vc', '--std-sdcc99', '-mz80', //'-Wall', '--c1mode', // '--debug', //'-S', 'main.c', @@ -842,10 +864,9 @@ function compileSDCC(code, platform) { if (params.extra_compile_args) { args.push.apply(args, params.extra_compile_args); } + starttime(); SDCC.callMain(args); - var t2 = new Date(); - //console.profileEnd(); - console.log(t2.getTime() - t1.getTime() + " ms"); + endtime("compile"); /* // ignore if all are warnings (TODO?) var nwarnings = 0;