From e9df2581f91454ba9f28081f3dc20376bd0b0f79 Mon Sep 17 00:00:00 2001 From: Daniel Holth Date: Sun, 16 Jul 2023 17:33:02 -0400 Subject: [PATCH 1/5] pass partial data to jpegxl decoder --- codecs/jxl/dec/jxl_dec.cpp | 6 +++++- src/features/decoders/jxl/worker/jxlDecode.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/codecs/jxl/dec/jxl_dec.cpp b/codecs/jxl/dec/jxl_dec.cpp index e56f4bdb4..06fe6c8d4 100644 --- a/codecs/jxl/dec/jxl_dec.cpp +++ b/codecs/jxl/dec/jxl_dec.cpp @@ -77,7 +77,11 @@ val decode(std::string data) { auto float_pixels = std::make_unique(component_count); EXPECT_EQ(JXL_DEC_SUCCESS, JxlDecoderSetImageOutBuffer(dec.get(), &format, float_pixels.get(), component_count * sizeof(float))); - EXPECT_EQ(JXL_DEC_FULL_IMAGE, JxlDecoderProcessInput(dec.get())); + + if (JXL_DEC_FULL_IMAGE != JxlDecoderProcessInput(dec.get())) { + // partial image + EXPECT_EQ(JXL_DEC_SUCCESS, JxlDecoderFlushImage(dec.get())); + } auto byte_pixels = std::make_unique(component_count); // Convert to sRGB. diff --git a/src/features/decoders/jxl/worker/jxlDecode.ts b/src/features/decoders/jxl/worker/jxlDecode.ts index 6a8f96e7c..193fc1370 100644 --- a/src/features/decoders/jxl/worker/jxlDecode.ts +++ b/src/features/decoders/jxl/worker/jxlDecode.ts @@ -22,7 +22,7 @@ export default async function decode(blob: Blob): Promise { const [module, data] = await Promise.all([ emscriptenModule, - blobToArrayBuffer(blob), + blobToArrayBuffer(blob.slice(0, 400000)), ]); const result = module.decode(data); From d8b9dad22cdc4e43b3ddc5c28bcc8561745293d8 Mon Sep 17 00:00:00 2001 From: Daniel Holth Date: Sun, 16 Jul 2023 17:33:47 -0400 Subject: [PATCH 2/5] recompile jxl wasm --- codecs/jxl/dec/jxl_dec.wasm | Bin 840279 -> 840703 bytes codecs/jxl/dec/jxl_node_dec.wasm | Bin 840279 -> 840703 bytes codecs/jxl/enc/jxl_enc.js | 2 +- codecs/jxl/enc/jxl_enc.wasm | Bin 1345677 -> 1345699 bytes codecs/jxl/enc/jxl_enc_mt.js | 2 +- codecs/jxl/enc/jxl_enc_mt.wasm | Bin 1357906 -> 1357909 bytes codecs/jxl/enc/jxl_enc_mt_simd.js | 2 +- codecs/jxl/enc/jxl_enc_mt_simd.wasm | Bin 1946500 -> 1946503 bytes codecs/jxl/enc/jxl_node_enc.js | 2 +- codecs/jxl/enc/jxl_node_enc.wasm | Bin 1345677 -> 1345699 bytes 10 files changed, 4 insertions(+), 4 deletions(-) diff --git a/codecs/jxl/dec/jxl_dec.wasm b/codecs/jxl/dec/jxl_dec.wasm index 3a6d1dce1703526fb972db91ecf2c5c7306f7576..803b052afe03b4a7a3e3a9d7a228244293b89669 100755 GIT binary patch delta 36153 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 PG8aDu*_O-V;_Uwq0#nFu delta 36126 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 PG8aDu*_O-V;_Uwq0#nFu delta 36126 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 UTF8Decoder.decode(heap.subarray?heap.subarray(idx,endPtr):new Uint8Array(heap.slice(idx,endPtr)))}function UTF8ToString(ptr,maxBytesToRead){if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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 len+=4}return len}var UTF16Decoder=new TextDecoder("utf-16le");function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=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 initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}if(Module["locateFile"]){var wasmBinaryFile="jxl_enc.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("jxl_enc.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["J"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Q"];addOnInit(Module["asm"]["K"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function _atexit(func,arg){}function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=prev-1;return prev===1}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i>> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 0}function _fd_read(fd,iov,iovcnt,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.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){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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.includes(rule)){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}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _system(command){if(!command)return 0;setErrNo(52);return-1}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");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}var asmLibraryArg={"u":___cxa_allocate_exception,"I":___cxa_thread_atexit,"p":___cxa_throw,"h":___sys_fcntl64,"A":___sys_ioctl,"B":___sys_open,"m":__embind_finalize_value_object,"r":__embind_register_bigint,"D":__embind_register_bool,"C":__embind_register_emval,"j":__embind_register_float,"l":__embind_register_function,"c":__embind_register_integer,"b":__embind_register_memory_view,"k":__embind_register_std_string,"g":__embind_register_std_wstring,"n":__embind_register_value_object,"d":__embind_register_value_object_field,"E":__embind_register_void,"e":__emval_decref,"H":__emval_get_global,"G":__emval_incref,"o":__emval_new,"a":_abort,"t":_emscripten_memcpy_big,"f":_emscripten_resize_heap,"w":_environ_get,"x":_environ_sizes_get,"i":_fd_close,"z":_fd_read,"q":_fd_seek,"y":_fd_write,"s":_setTempRet0,"v":_strftime_l,"F":_system};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["K"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["L"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["M"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["N"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["O"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["P"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["R"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["S"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["T"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["U"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["V"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["W"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof Module!=="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=true;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;var UTF8Decoder=new TextDecoder("utf8");function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heap.subarray?heap.subarray(idx,endPtr):new Uint8Array(heap.slice(idx,endPtr)))}function UTF8ToString(ptr,maxBytesToRead){if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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 len+=4}return len}var UTF16Decoder=new TextDecoder("utf-16le");function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=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 initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}if(Module["locateFile"]){var wasmBinaryFile="jxl_enc.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("jxl_enc.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["J"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Q"];addOnInit(Module["asm"]["K"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function _atexit(func,arg){}function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=prev-1;return prev===1}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i>> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 0}function _fd_read(fd,iov,iovcnt,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.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){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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.includes(rule)){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}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _system(command){if(!command)return 0;setErrNo(52);return-1}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");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}var asmLibraryArg={"u":___cxa_allocate_exception,"I":___cxa_thread_atexit,"p":___cxa_throw,"i":___sys_fcntl64,"z":___sys_ioctl,"A":___sys_open,"m":__embind_finalize_value_object,"r":__embind_register_bigint,"D":__embind_register_bool,"C":__embind_register_emval,"j":__embind_register_float,"l":__embind_register_function,"c":__embind_register_integer,"b":__embind_register_memory_view,"k":__embind_register_std_string,"g":__embind_register_std_wstring,"n":__embind_register_value_object,"d":__embind_register_value_object_field,"E":__embind_register_void,"e":__emval_decref,"H":__emval_get_global,"G":__emval_incref,"o":__emval_new,"a":_abort,"t":_emscripten_memcpy_big,"f":_emscripten_resize_heap,"w":_environ_get,"x":_environ_sizes_get,"h":_fd_close,"y":_fd_read,"q":_fd_seek,"B":_fd_write,"s":_setTempRet0,"v":_strftime_l,"F":_system};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["K"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["L"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["M"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["N"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["O"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["P"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["R"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["S"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["T"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["U"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["V"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["W"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); return Module.ready diff --git a/codecs/jxl/enc/jxl_enc.wasm b/codecs/jxl/enc/jxl_enc.wasm index 11c187fdf9b6b166e7fbcc3975c9836962ed6687..32c6768683e2e3bdf88443d44c31812d2e96889a 100755 GIT binary patch delta 48860 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 b%bYdcet~Av%-@hfbUB_inmy%6uB-e%d1LxS delta 49037 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 diff --git a/codecs/jxl/enc/jxl_enc_mt.js b/codecs/jxl/enc/jxl_enc_mt.js index 62c5a462e..c61d51f7d 100644 --- a/codecs/jxl/enc/jxl_enc_mt.js +++ b/codecs/jxl/enc/jxl_enc_mt.js @@ -6,7 +6,7 @@ var Module = (function() { function(Module) { Module = Module || {}; -function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof Module!=="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=true;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str="";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}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 len+=4}return len}function UTF16ToString(ptr,maxBytesToRead){var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}GROWABLE_HEAP_I16()[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;if(ENVIRONMENT_IS_PTHREAD){buffer=Module["buffer"]}function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];buffer=Module["buffer"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)")}throw Error("bad memory")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;callRuntimeCallbacks(__ATINIT__)}function exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){assert(!ENVIRONMENT_IS_PTHREAD,"addRunDependency cannot be used in a pthread worker");runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(ENVIRONMENT_IS_PTHREAD)console.error("Pthread aborting at "+(new Error).stack);what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}if(Module["locateFile"]){var wasmBinaryFile="jxl_enc_mt.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("jxl_enc_mt.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["ca"];addOnInit(Module["asm"]["_"]);PThread.tlsInitFunctions.push(Module["asm"]["ba"]);wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){var numWorkersToLoad=PThread.unusedWorkers.length;PThread.unusedWorkers.forEach(function(w){PThread.loadWasmModuleToWorker(w,function(){if(!--numWorkersToLoad)removeRunDependency("wasm-instantiate")})})}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency("wasm-instantiate")}function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var ASM_CONSTS={65168:function(){throw"Canceled!"},65186:function($0,$1){setTimeout(function(){__emscripten_do_dispatch_to_thread($0,$1)},0)}};function initPthreadsJS(){PThread.initRuntime()}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};function _emscripten_futex_wake(addr,count){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0||count<0)return-28;if(count==0)return 0;if(count>=2147483647)count=Infinity;var mainThreadWaitAddress=Atomics.load(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2);var mainThreadWoken=0;if(mainThreadWaitAddress==addr){var loadedAddr=Atomics.compareExchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,mainThreadWaitAddress,0);if(loadedAddr==mainThreadWaitAddress){--count;mainThreadWoken=1;if(count<=0)return 1}}var ret=Atomics.notify(GROWABLE_HEAP_I32(),addr>>2,count);if(ret>=0)return ret+mainThreadWoken;throw"Atomics.notify returned an unexpected value "+ret}Module["_emscripten_futex_wake"]=_emscripten_futex_wake;function killThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in killThread!";GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var pthread=PThread.pthreads[pthread_ptr];pthread.worker.terminate();PThread.freeThreadData(pthread);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker),1);pthread.worker.pthread=undefined}function cancelThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in cancelThread!";var pthread=PThread.pthreads[pthread_ptr];pthread.worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in cleanupThread!";var pthread=PThread.pthreads[pthread_ptr];if(pthread){GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var worker=pthread.worker;PThread.returnWorkerToPool(worker)}}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],initMainThreadBlock:function(){var pthreadPoolSize=navigator.hardwareConcurrency;for(var i=0;i>2]=tb;var headPtr=tb+152;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var tlsMemory=_malloc(512);for(var i=0;i<128;++i)GROWABLE_HEAP_U32()[tlsMemory/4+i]=0;Atomics.store(GROWABLE_HEAP_U32(),tb+100>>2,tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),tb+40>>2,tb);__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1);_emscripten_register_main_browser_thread_id(tb)},initWorker:function(){},pthreads:{},threadExitHandlers:[],runExitHandlers:function(){while(PThread.threadExitHandlers.length>0){PThread.threadExitHandlers.pop()()}if(ENVIRONMENT_IS_PTHREAD&&_pthread_self())___pthread_tsd_run_dtors()},runExitHandlersAndDeinitThread:function(tb,exitCode){Atomics.store(GROWABLE_HEAP_U32(),tb+56>>2,1);Atomics.store(GROWABLE_HEAP_U32(),tb+60>>2,0);PThread.runExitHandlers();Atomics.store(GROWABLE_HEAP_U32(),tb+4>>2,exitCode);Atomics.store(GROWABLE_HEAP_U32(),tb+0>>2,1);_emscripten_futex_wake(tb+0,2147483647);__emscripten_thread_init(0,0,0)},setExitStatus:function(status){EXITSTATUS=status},threadExit:function(exitCode){var tb=_pthread_self();if(tb){PThread.runExitHandlersAndDeinitThread(tb,exitCode);if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"exit"})}}},threadCancel:function(){PThread.runExitHandlersAndDeinitThread(_pthread_self(),-1);postMessage({"cmd":"cancelDone"})},terminateAllThreads:function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread&&pthread.worker){PThread.returnWorkerToPool(pthread.worker)}}PThread.pthreads={};for(var i=0;i>2];GROWABLE_HEAP_I32()[pthread.threadInfoStruct+100>>2]=0;_free(tlsMemory);_free(pthread.threadInfoStruct)}pthread.threadInfoStruct=0;if(pthread.allocatedOwnStack&&pthread.stackBase)_free(pthread.stackBase);pthread.stackBase=0;if(pthread.worker)pthread.worker.pthread=null},returnWorkerToPool:function(worker){PThread.runWithoutMainThreadQueuedCalls(function(){delete PThread.pthreads[worker.pthread.threadInfoStruct];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);PThread.freeThreadData(worker.pthread);worker.pthread=undefined})},runWithoutMainThreadQueuedCalls:function(func){GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=0;try{func()}finally{GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=1}},receiveObjectTransfer:function(data){},threadInit:function(){for(var i in PThread.tlsInitFunctions){PThread.tlsInitFunctions[i]()}},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=function(e){var d=e["data"];var cmd=d["cmd"];if(worker.pthread)PThread.currentProxiedOperationCallerThread=worker.pthread.threadInfoStruct;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var thread=PThread.pthreads[d.targetThread];if(thread){thread.worker.postMessage(e.data,d["transferList"])}else{console.error('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processQueuedMainThreadWork"){_emscripten_main_thread_process_queued_calls()}else if(cmd==="spawnThread"){spawnThread(e.data)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread();delete worker.runPthread}}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="exit"){var detached=worker.pthread&&Atomics.load(GROWABLE_HEAP_U32(),worker.pthread.threadInfoStruct+64>>2);if(detached){PThread.returnWorkerToPool(worker)}}else if(cmd==="exitProcess"){try{exit(d["returnCode"])}catch(e){if(e instanceof ExitStatus)return;throw e}}else if(cmd==="cancelDone"){PThread.returnWorkerToPool(worker)}else if(cmd==="objectTransfer"){PThread.receiveObjectTransfer(e.data)}else if(e.data.target==="setimmediate"){worker.postMessage(e.data)}else{err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined};worker.onerror=function(e){err("pthread sent an error! "+e.filename+":"+e.lineno+": "+e.message)};worker.postMessage({"cmd":"load","urlOrBlob":Module["mainScriptUrlOrBlob"],"wasmMemory":wasmMemory,"wasmModule":wasmModule})},allocateUnusedWorker:function(){if(!Module["locateFile"]){PThread.unusedWorkers.push(new Worker(new URL("jxl_enc_mt.worker.js",import.meta.url)));return}var pthreadMainJs=locateFile("jxl_enc_mt.worker.js");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()},busySpinWait:function(msecs){var t=performance.now()+msecs;while(performance.now()0}Module["keepRuntimeAlive"]=keepRuntimeAlive;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var _emscripten_get_now;if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=function(){return performance.now()-Module["__performance_now_clock_drift"]}}else _emscripten_get_now=function(){return performance.now()};function setErrNo(value){GROWABLE_HEAP_I32()[___errno_location()>>2]=value;return value}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function _atexit(func,arg){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,func,arg)}function _pthread_cleanup_push(routine,arg){PThread.threadExitHandlers.push(function(){wasmTable.get(routine)(arg)})}function ___cxa_thread_atexit(a0,a1){return _pthread_cleanup_push(a0,a1)}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2,1);return prev===1}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,1,fd,cmd,varargs);SYSCALLS.varargs=varargs;return 0}function ___sys_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,fd,op,varargs);SYSCALLS.varargs=varargs;return 0}function ___sys_open(path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,path,flags,varargs);SYSCALLS.varargs=varargs}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_U32()[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return GROWABLE_HEAP_U16()[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return GROWABLE_HEAP_I32()[pointer>>2]}:function readU32FromPointer(pointer){return GROWABLE_HEAP_U32()[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=GROWABLE_HEAP_U32();var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);GROWABLE_HEAP_U32()[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emscripten_notify_thread_queue(targetThreadId,mainThreadId){if(targetThreadId==mainThreadId){postMessage({"cmd":"processQueuedMainThreadWork"})}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processThreadQueue"})}else{var pthread=PThread.pthreads[targetThreadId];var worker=pthread&&pthread.worker;if(!worker){return}worker.postMessage({"cmd":"processThreadQueue"})}return 1}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i>> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function _abort(){abort()}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){var double=ch<105;if(double&&buf&1)buf++;readAsmConstArgsArray.push(double?GROWABLE_HEAP_F64()[buf++>>1]:GROWABLE_HEAP_I32()[buf]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function _emscripten_conditional_set_current_thread_status(expectedStatus,newStatus){}function _emscripten_futex_wait(addr,val,timeout){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0)return-28;if(!ENVIRONMENT_IS_WEB){var ret=Atomics.wait(GROWABLE_HEAP_I32(),addr>>2,val,timeout);if(ret==="timed-out")return-73;if(ret==="not-equal")return-6;if(ret==="ok")return 0;throw"Atomics.wait returned an unexpected value "+ret}else{if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}var tNow=performance.now();var tEnd=tNow+timeout;var lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr);while(1){tNow=performance.now();if(tNow>tEnd){lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);return-73}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);if(lastAddr==0){break}_emscripten_main_thread_process_queued_calls();if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr)}return 0}}function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_num_logical_cores(){return navigator["hardwareConcurrency"]}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var stack=stackSave();var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>3;for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence>2]=eventTypeId;GROWABLE_HEAP_I32()[varargs+4>>2]=eventData;GROWABLE_HEAP_I32()[varargs+8>>2]=userData;__emscripten_call_on_thread(0,targetThread,637534208,eventHandlerFunc,eventData,varargs);stackRestore(stackTop)},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){var stackTop=stackSave();var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}GROWABLE_HEAP_I32()[varargs>>2]=targetCanvasPtr;GROWABLE_HEAP_I32()[varargs+4>>2]=width;GROWABLE_HEAP_I32()[varargs+8>>2]=height;__emscripten_call_on_thread(0,targetThread,657457152,0,targetCanvasPtr,varargs);stackRestore(stackTop)}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):"";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(2978);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}else{return _emscripten_set_canvas_element_size_main_thread(target,width,height)}}function _emscripten_set_current_thread_status(newStatus){}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(GROWABLE_HEAP_I32()[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);GROWABLE_HEAP_I32()[handle+4>>2]=_pthread_self();var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=GROWABLE_HEAP_I32()[a+(24>>2)];var contextAttributes={"alpha":!!GROWABLE_HEAP_I32()[a+(0>>2)],"depth":!!GROWABLE_HEAP_I32()[a+(4>>2)],"stencil":!!GROWABLE_HEAP_I32()[a+(8>>2)],"antialias":!!GROWABLE_HEAP_I32()[a+(12>>2)],"premultipliedAlpha":!!GROWABLE_HEAP_I32()[a+(16>>2)],"preserveDrawingBuffer":!!GROWABLE_HEAP_I32()[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!GROWABLE_HEAP_I32()[a+(28>>2)],majorVersion:GROWABLE_HEAP_I32()[a+(32>>2)],minorVersion:GROWABLE_HEAP_I32()[a+(36>>2)],enableExtensionsByDefault:GROWABLE_HEAP_I32()[a+(40>>2)],explicitSwapControl:GROWABLE_HEAP_I32()[a+(44>>2)],proxyContextToMainThread:GROWABLE_HEAP_I32()[a+(48>>2)],renderViaOffscreenBackBuffer:GROWABLE_HEAP_I32()[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_I32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_I32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_I32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,fd);return 0}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,fd,iov,iovcnt,pnum);var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,fd,offset_low,offset_high,whence,newOffset)}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,fd,iov,iovcnt,pnum);var num=0;for(var i=0;i>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function spawnThread(threadParams){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var worker=PThread.getNewWorker();if(!worker){return 6}if(worker.pthread!==undefined)throw"Internal error!";if(!threadParams.pthread_ptr)throw"Internal error, no pthread ptr!";PThread.runningWorkers.push(worker);var tlsMemory=_malloc(128*4);for(var i=0;i<128;++i){GROWABLE_HEAP_I32()[tlsMemory+i*4>>2]=0}var stackHigh=threadParams.stackBase+threadParams.stackSize;var pthread=PThread.pthreads[threadParams.pthread_ptr]={worker:worker,stackBase:threadParams.stackBase,stackSize:threadParams.stackSize,allocatedOwnStack:threadParams.allocatedOwnStack,threadInfoStruct:threadParams.pthread_ptr};var tis=pthread.threadInfoStruct>>2;Atomics.store(GROWABLE_HEAP_U32(),tis+(64>>2),threadParams.detached);Atomics.store(GROWABLE_HEAP_U32(),tis+(100>>2),tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),tis+(40>>2),pthread.threadInfoStruct);Atomics.store(GROWABLE_HEAP_U32(),tis+(80>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(76>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(104>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(104+8>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(104+12>>2),threadParams.detached);var global_libc=_emscripten_get_global_libc();var global_locale=global_libc+40;Atomics.store(GROWABLE_HEAP_U32(),tis+(172>>2),global_locale);worker.pthread=pthread;var msg={"cmd":"run","start_routine":threadParams.startRoutine,"arg":threadParams.arg,"threadInfoStruct":threadParams.pthread_ptr,"stackBase":threadParams.stackBase,"stackSize":threadParams.stackSize};worker.runPthread=function(){msg.time=performance.now();worker.postMessage(msg,threadParams.transferList)};if(worker.loaded){worker.runPthread();delete worker.runPthread}return 0}function _pthread_create(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer==="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}if(!pthread_ptr){err("pthread_create called with a null thread pointer!");return 28}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return _emscripten_sync_run_in_main_thread_4(687865856,pthread_ptr,attr,start_routine,arg)}if(error)return error;var stackSize=0;var stackBase=0;var detached=0;if(attr&&attr!=-1){stackSize=GROWABLE_HEAP_I32()[attr>>2];stackSize+=81920;stackBase=GROWABLE_HEAP_I32()[attr+8>>2];detached=GROWABLE_HEAP_I32()[attr+12>>2]!==0}else{stackSize=2097152}var allocatedOwnStack=stackBase==0;if(allocatedOwnStack){stackBase=_memalign(16,stackSize)}else{stackBase-=stackSize;assert(stackBase>0)}var threadInfoStruct=_malloc(228);for(var i=0;i<228>>2;++i)GROWABLE_HEAP_U32()[(threadInfoStruct>>2)+i]=0;GROWABLE_HEAP_I32()[pthread_ptr>>2]=threadInfoStruct;GROWABLE_HEAP_I32()[threadInfoStruct+12>>2]=threadInfoStruct;var headPtr=threadInfoStruct+152;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var threadParams={stackBase:stackBase,stackSize:stackSize,allocatedOwnStack:allocatedOwnStack,detached:detached,startRoutine:start_routine,pthread_ptr:threadInfoStruct,arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}function __pthread_testcancel_js(){if(!ENVIRONMENT_IS_PTHREAD)return;var tb=_pthread_self();if(!tb)return;var cancelDisabled=Atomics.load(GROWABLE_HEAP_U32(),tb+56>>2);if(cancelDisabled)return;var canceled=Atomics.load(GROWABLE_HEAP_U32(),tb+0>>2);if(canceled==2)throw"Canceled!"}function __emscripten_do_pthread_join(thread,status,block){if(!thread){err("pthread_join attempted on a null thread pointer!");return ERRNO_CODES.ESRCH}if(ENVIRONMENT_IS_PTHREAD&&_pthread_self()==thread){err("PThread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}else if(!ENVIRONMENT_IS_PTHREAD&&_emscripten_main_browser_thread_id()==thread){err("Main thread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}var self=GROWABLE_HEAP_I32()[thread+12>>2];if(self!==thread){err("pthread_join attempted on thread "+thread+", which does not point to a valid thread, or does not exist anymore!");return ERRNO_CODES.ESRCH}var detached=Atomics.load(GROWABLE_HEAP_U32(),thread+64>>2);if(detached){err("Attempted to join thread "+thread+", which was already detached!");return ERRNO_CODES.EINVAL}if(block){_emscripten_check_blocking_allowed()}for(;;){var threadStatus=Atomics.load(GROWABLE_HEAP_U32(),thread+0>>2);if(threadStatus==1){var threadExitCode=Atomics.load(GROWABLE_HEAP_U32(),thread+4>>2);if(status)GROWABLE_HEAP_I32()[status>>2]=threadExitCode;Atomics.store(GROWABLE_HEAP_U32(),thread+64>>2,1);if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({"cmd":"cleanupThread","thread":thread});return 0}if(!block){return ERRNO_CODES.EBUSY}__pthread_testcancel_js();if(!ENVIRONMENT_IS_PTHREAD)_emscripten_main_thread_process_queued_calls();_emscripten_futex_wait(thread+0,threadStatus,ENVIRONMENT_IS_PTHREAD?100:1)}}function _pthread_join(thread,status){return __emscripten_do_pthread_join(thread,status,true)}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.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){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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.includes(rule)){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}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _system(command){if(!command)return 0;setErrNo(52);return-1}if(!ENVIRONMENT_IS_PTHREAD)PThread.initMainThreadBlock();InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var GLctx;var proxiedFunctionTable=[null,_atexit,___sys_fcntl64,___sys_ioctl,___sys_open,_emscripten_set_canvas_element_size_main_thread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];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}var asmLibraryArg={"f":___assert_fail,"O":___cxa_allocate_exception,"s":___cxa_thread_atexit,"I":___cxa_throw,"o":___sys_fcntl64,"R":___sys_ioctl,"S":___sys_open,"u":__embind_finalize_value_object,"y":__embind_register_bigint,"U":__embind_register_bool,"T":__embind_register_emval,"q":__embind_register_float,"t":__embind_register_function,"d":__embind_register_integer,"c":__embind_register_memory_view,"r":__embind_register_std_string,"k":__embind_register_std_wstring,"v":__embind_register_value_object,"e":__embind_register_value_object_field,"V":__embind_register_void,"N":__emscripten_notify_thread_queue,"i":__emval_decref,"Z":__emval_get_global,"Y":__emval_incref,"x":__emval_new,"b":_abort,"n":_emscripten_asm_const_int,"J":_emscripten_check_blocking_allowed,"m":_emscripten_conditional_set_current_thread_status,"h":_emscripten_futex_wait,"g":_emscripten_futex_wake,"j":_emscripten_get_now,"B":_emscripten_memcpy_big,"E":_emscripten_num_logical_cores,"K":_emscripten_receive_on_main_thread_js,"C":_emscripten_resize_heap,"L":_emscripten_set_canvas_element_size,"l":_emscripten_set_current_thread_status,"M":_emscripten_webgl_create_context,"G":_environ_get,"H":_environ_sizes_get,"p":_fd_close,"Q":_fd_read,"w":_fd_seek,"P":_fd_write,"A":initPthreadsJS,"a":wasmMemory||Module["wasmMemory"],"W":_pthread_create,"D":_pthread_join,"z":_setTempRet0,"F":_strftime_l,"X":_system};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["_"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["$"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["aa"]).apply(null,arguments)};var _emscripten_tls_init=Module["_emscripten_tls_init"]=function(){return(_emscripten_tls_init=Module["_emscripten_tls_init"]=Module["asm"]["ba"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["da"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ea"]).apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=function(){return(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=Module["asm"]["fa"]).apply(null,arguments)};var _emscripten_register_main_browser_thread_id=Module["_emscripten_register_main_browser_thread_id"]=function(){return(_emscripten_register_main_browser_thread_id=Module["_emscripten_register_main_browser_thread_id"]=Module["asm"]["ga"]).apply(null,arguments)};var _emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=function(){return(_emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=Module["asm"]["ha"]).apply(null,arguments)};var __emscripten_do_dispatch_to_thread=Module["__emscripten_do_dispatch_to_thread"]=function(){return(__emscripten_do_dispatch_to_thread=Module["__emscripten_do_dispatch_to_thread"]=Module["asm"]["ia"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=function(){return(_emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=Module["asm"]["ja"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["ka"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=Module["asm"]["la"]).apply(null,arguments)};var __emscripten_call_on_thread=Module["__emscripten_call_on_thread"]=function(){return(__emscripten_call_on_thread=Module["__emscripten_call_on_thread"]=Module["asm"]["ma"]).apply(null,arguments)};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["na"]).apply(null,arguments)};var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=function(){return(_emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=Module["asm"]["oa"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["pa"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["qa"]).apply(null,arguments)};var ___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=function(){return(___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=Module["asm"]["ra"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["sa"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["ta"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ua"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["va"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["wa"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["xa"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["ya"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["za"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["Aa"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["Ba"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["Ca"]).apply(null,arguments)};var __emscripten_allow_main_runtime_queued_calls=Module["__emscripten_allow_main_runtime_queued_calls"]=65156;var __emscripten_main_thread_futex=Module["__emscripten_main_thread_futex"]=75972;Module["PThread"]=PThread;Module["PThread"]=PThread;Module["wasmMemory"]=wasmMemory;Module["ExitStatus"]=ExitStatus;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();postMessage({"cmd":"loaded"});return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(implicit&&keepRuntimeAlive()&&status===0){return}if(!implicit){if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"exitProcess","returnCode":status});throw new ExitStatus(status)}else{}}if(keepRuntimeAlive()){}else{PThread.terminateAllThreads();exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}if(ENVIRONMENT_IS_PTHREAD){noExitRuntime=false;PThread.initWorker()}run(); +function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof Module!=="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=true;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str="";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}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 len+=4}return len}function UTF16ToString(ptr,maxBytesToRead){var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}GROWABLE_HEAP_I16()[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;if(ENVIRONMENT_IS_PTHREAD){buffer=Module["buffer"]}function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];buffer=Module["buffer"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)")}throw Error("bad memory")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;callRuntimeCallbacks(__ATINIT__)}function exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){assert(!ENVIRONMENT_IS_PTHREAD,"addRunDependency cannot be used in a pthread worker");runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(ENVIRONMENT_IS_PTHREAD)console.error("Pthread aborting at "+(new Error).stack);what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}if(Module["locateFile"]){var wasmBinaryFile="jxl_enc_mt.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("jxl_enc_mt.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["ca"];addOnInit(Module["asm"]["_"]);PThread.tlsInitFunctions.push(Module["asm"]["ba"]);wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){var numWorkersToLoad=PThread.unusedWorkers.length;PThread.unusedWorkers.forEach(function(w){PThread.loadWasmModuleToWorker(w,function(){if(!--numWorkersToLoad)removeRunDependency("wasm-instantiate")})})}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency("wasm-instantiate")}function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var ASM_CONSTS={65152:function(){throw"Canceled!"},65170:function($0,$1){setTimeout(function(){__emscripten_do_dispatch_to_thread($0,$1)},0)}};function initPthreadsJS(){PThread.initRuntime()}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};function _emscripten_futex_wake(addr,count){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0||count<0)return-28;if(count==0)return 0;if(count>=2147483647)count=Infinity;var mainThreadWaitAddress=Atomics.load(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2);var mainThreadWoken=0;if(mainThreadWaitAddress==addr){var loadedAddr=Atomics.compareExchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,mainThreadWaitAddress,0);if(loadedAddr==mainThreadWaitAddress){--count;mainThreadWoken=1;if(count<=0)return 1}}var ret=Atomics.notify(GROWABLE_HEAP_I32(),addr>>2,count);if(ret>=0)return ret+mainThreadWoken;throw"Atomics.notify returned an unexpected value "+ret}Module["_emscripten_futex_wake"]=_emscripten_futex_wake;function killThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in killThread!";GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var pthread=PThread.pthreads[pthread_ptr];pthread.worker.terminate();PThread.freeThreadData(pthread);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker),1);pthread.worker.pthread=undefined}function cancelThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in cancelThread!";var pthread=PThread.pthreads[pthread_ptr];pthread.worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in cleanupThread!";var pthread=PThread.pthreads[pthread_ptr];if(pthread){GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var worker=pthread.worker;PThread.returnWorkerToPool(worker)}}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],initMainThreadBlock:function(){var pthreadPoolSize=navigator.hardwareConcurrency;for(var i=0;i>2]=tb;var headPtr=tb+152;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var tlsMemory=_malloc(512);for(var i=0;i<128;++i)GROWABLE_HEAP_U32()[tlsMemory/4+i]=0;Atomics.store(GROWABLE_HEAP_U32(),tb+100>>2,tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),tb+40>>2,tb);__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1);_emscripten_register_main_browser_thread_id(tb)},initWorker:function(){},pthreads:{},threadExitHandlers:[],runExitHandlers:function(){while(PThread.threadExitHandlers.length>0){PThread.threadExitHandlers.pop()()}if(ENVIRONMENT_IS_PTHREAD&&_pthread_self())___pthread_tsd_run_dtors()},runExitHandlersAndDeinitThread:function(tb,exitCode){Atomics.store(GROWABLE_HEAP_U32(),tb+56>>2,1);Atomics.store(GROWABLE_HEAP_U32(),tb+60>>2,0);PThread.runExitHandlers();Atomics.store(GROWABLE_HEAP_U32(),tb+4>>2,exitCode);Atomics.store(GROWABLE_HEAP_U32(),tb+0>>2,1);_emscripten_futex_wake(tb+0,2147483647);__emscripten_thread_init(0,0,0)},setExitStatus:function(status){EXITSTATUS=status},threadExit:function(exitCode){var tb=_pthread_self();if(tb){PThread.runExitHandlersAndDeinitThread(tb,exitCode);if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"exit"})}}},threadCancel:function(){PThread.runExitHandlersAndDeinitThread(_pthread_self(),-1);postMessage({"cmd":"cancelDone"})},terminateAllThreads:function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread&&pthread.worker){PThread.returnWorkerToPool(pthread.worker)}}PThread.pthreads={};for(var i=0;i>2];GROWABLE_HEAP_I32()[pthread.threadInfoStruct+100>>2]=0;_free(tlsMemory);_free(pthread.threadInfoStruct)}pthread.threadInfoStruct=0;if(pthread.allocatedOwnStack&&pthread.stackBase)_free(pthread.stackBase);pthread.stackBase=0;if(pthread.worker)pthread.worker.pthread=null},returnWorkerToPool:function(worker){PThread.runWithoutMainThreadQueuedCalls(function(){delete PThread.pthreads[worker.pthread.threadInfoStruct];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);PThread.freeThreadData(worker.pthread);worker.pthread=undefined})},runWithoutMainThreadQueuedCalls:function(func){GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=0;try{func()}finally{GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=1}},receiveObjectTransfer:function(data){},threadInit:function(){for(var i in PThread.tlsInitFunctions){PThread.tlsInitFunctions[i]()}},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=function(e){var d=e["data"];var cmd=d["cmd"];if(worker.pthread)PThread.currentProxiedOperationCallerThread=worker.pthread.threadInfoStruct;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var thread=PThread.pthreads[d.targetThread];if(thread){thread.worker.postMessage(e.data,d["transferList"])}else{console.error('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processQueuedMainThreadWork"){_emscripten_main_thread_process_queued_calls()}else if(cmd==="spawnThread"){spawnThread(e.data)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread();delete worker.runPthread}}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="exit"){var detached=worker.pthread&&Atomics.load(GROWABLE_HEAP_U32(),worker.pthread.threadInfoStruct+64>>2);if(detached){PThread.returnWorkerToPool(worker)}}else if(cmd==="exitProcess"){try{exit(d["returnCode"])}catch(e){if(e instanceof ExitStatus)return;throw e}}else if(cmd==="cancelDone"){PThread.returnWorkerToPool(worker)}else if(cmd==="objectTransfer"){PThread.receiveObjectTransfer(e.data)}else if(e.data.target==="setimmediate"){worker.postMessage(e.data)}else{err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined};worker.onerror=function(e){err("pthread sent an error! "+e.filename+":"+e.lineno+": "+e.message)};worker.postMessage({"cmd":"load","urlOrBlob":Module["mainScriptUrlOrBlob"],"wasmMemory":wasmMemory,"wasmModule":wasmModule})},allocateUnusedWorker:function(){if(!Module["locateFile"]){PThread.unusedWorkers.push(new Worker(new URL("jxl_enc_mt.worker.js",import.meta.url)));return}var pthreadMainJs=locateFile("jxl_enc_mt.worker.js");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()},busySpinWait:function(msecs){var t=performance.now()+msecs;while(performance.now()0}Module["keepRuntimeAlive"]=keepRuntimeAlive;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var _emscripten_get_now;if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=function(){return performance.now()-Module["__performance_now_clock_drift"]}}else _emscripten_get_now=function(){return performance.now()};function setErrNo(value){GROWABLE_HEAP_I32()[___errno_location()>>2]=value;return value}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function _atexit(func,arg){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,func,arg)}function _pthread_cleanup_push(routine,arg){PThread.threadExitHandlers.push(function(){wasmTable.get(routine)(arg)})}function ___cxa_thread_atexit(a0,a1){return _pthread_cleanup_push(a0,a1)}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2,1);return prev===1}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,1,fd,cmd,varargs);SYSCALLS.varargs=varargs;return 0}function ___sys_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,fd,op,varargs);SYSCALLS.varargs=varargs;return 0}function ___sys_open(path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,path,flags,varargs);SYSCALLS.varargs=varargs}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_U32()[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return GROWABLE_HEAP_U16()[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return GROWABLE_HEAP_I32()[pointer>>2]}:function readU32FromPointer(pointer){return GROWABLE_HEAP_U32()[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=GROWABLE_HEAP_U32();var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);GROWABLE_HEAP_U32()[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emscripten_notify_thread_queue(targetThreadId,mainThreadId){if(targetThreadId==mainThreadId){postMessage({"cmd":"processQueuedMainThreadWork"})}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processThreadQueue"})}else{var pthread=PThread.pthreads[targetThreadId];var worker=pthread&&pthread.worker;if(!worker){return}worker.postMessage({"cmd":"processThreadQueue"})}return 1}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i>> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function _abort(){abort()}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){var double=ch<105;if(double&&buf&1)buf++;readAsmConstArgsArray.push(double?GROWABLE_HEAP_F64()[buf++>>1]:GROWABLE_HEAP_I32()[buf]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function _emscripten_conditional_set_current_thread_status(expectedStatus,newStatus){}function _emscripten_futex_wait(addr,val,timeout){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0)return-28;if(!ENVIRONMENT_IS_WEB){var ret=Atomics.wait(GROWABLE_HEAP_I32(),addr>>2,val,timeout);if(ret==="timed-out")return-73;if(ret==="not-equal")return-6;if(ret==="ok")return 0;throw"Atomics.wait returned an unexpected value "+ret}else{if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}var tNow=performance.now();var tEnd=tNow+timeout;var lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr);while(1){tNow=performance.now();if(tNow>tEnd){lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);return-73}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);if(lastAddr==0){break}_emscripten_main_thread_process_queued_calls();if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr)}return 0}}function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_num_logical_cores(){return navigator["hardwareConcurrency"]}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var stack=stackSave();var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>3;for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence>2]=eventTypeId;GROWABLE_HEAP_I32()[varargs+4>>2]=eventData;GROWABLE_HEAP_I32()[varargs+8>>2]=userData;__emscripten_call_on_thread(0,targetThread,637534208,eventHandlerFunc,eventData,varargs);stackRestore(stackTop)},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){var stackTop=stackSave();var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}GROWABLE_HEAP_I32()[varargs>>2]=targetCanvasPtr;GROWABLE_HEAP_I32()[varargs+4>>2]=width;GROWABLE_HEAP_I32()[varargs+8>>2]=height;__emscripten_call_on_thread(0,targetThread,657457152,0,targetCanvasPtr,varargs);stackRestore(stackTop)}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):"";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(2978);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}else{return _emscripten_set_canvas_element_size_main_thread(target,width,height)}}function _emscripten_set_current_thread_status(newStatus){}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(GROWABLE_HEAP_I32()[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);GROWABLE_HEAP_I32()[handle+4>>2]=_pthread_self();var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=GROWABLE_HEAP_I32()[a+(24>>2)];var contextAttributes={"alpha":!!GROWABLE_HEAP_I32()[a+(0>>2)],"depth":!!GROWABLE_HEAP_I32()[a+(4>>2)],"stencil":!!GROWABLE_HEAP_I32()[a+(8>>2)],"antialias":!!GROWABLE_HEAP_I32()[a+(12>>2)],"premultipliedAlpha":!!GROWABLE_HEAP_I32()[a+(16>>2)],"preserveDrawingBuffer":!!GROWABLE_HEAP_I32()[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!GROWABLE_HEAP_I32()[a+(28>>2)],majorVersion:GROWABLE_HEAP_I32()[a+(32>>2)],minorVersion:GROWABLE_HEAP_I32()[a+(36>>2)],enableExtensionsByDefault:GROWABLE_HEAP_I32()[a+(40>>2)],explicitSwapControl:GROWABLE_HEAP_I32()[a+(44>>2)],proxyContextToMainThread:GROWABLE_HEAP_I32()[a+(48>>2)],renderViaOffscreenBackBuffer:GROWABLE_HEAP_I32()[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_I32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_I32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_I32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,fd);return 0}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,fd,iov,iovcnt,pnum);var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,fd,offset_low,offset_high,whence,newOffset)}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,fd,iov,iovcnt,pnum);var num=0;for(var i=0;i>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function spawnThread(threadParams){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var worker=PThread.getNewWorker();if(!worker){return 6}if(worker.pthread!==undefined)throw"Internal error!";if(!threadParams.pthread_ptr)throw"Internal error, no pthread ptr!";PThread.runningWorkers.push(worker);var tlsMemory=_malloc(128*4);for(var i=0;i<128;++i){GROWABLE_HEAP_I32()[tlsMemory+i*4>>2]=0}var stackHigh=threadParams.stackBase+threadParams.stackSize;var pthread=PThread.pthreads[threadParams.pthread_ptr]={worker:worker,stackBase:threadParams.stackBase,stackSize:threadParams.stackSize,allocatedOwnStack:threadParams.allocatedOwnStack,threadInfoStruct:threadParams.pthread_ptr};var tis=pthread.threadInfoStruct>>2;Atomics.store(GROWABLE_HEAP_U32(),tis+(64>>2),threadParams.detached);Atomics.store(GROWABLE_HEAP_U32(),tis+(100>>2),tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),tis+(40>>2),pthread.threadInfoStruct);Atomics.store(GROWABLE_HEAP_U32(),tis+(80>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(76>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(104>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(104+8>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(104+12>>2),threadParams.detached);var global_libc=_emscripten_get_global_libc();var global_locale=global_libc+40;Atomics.store(GROWABLE_HEAP_U32(),tis+(172>>2),global_locale);worker.pthread=pthread;var msg={"cmd":"run","start_routine":threadParams.startRoutine,"arg":threadParams.arg,"threadInfoStruct":threadParams.pthread_ptr,"stackBase":threadParams.stackBase,"stackSize":threadParams.stackSize};worker.runPthread=function(){msg.time=performance.now();worker.postMessage(msg,threadParams.transferList)};if(worker.loaded){worker.runPthread();delete worker.runPthread}return 0}function _pthread_create(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer==="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}if(!pthread_ptr){err("pthread_create called with a null thread pointer!");return 28}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return _emscripten_sync_run_in_main_thread_4(687865856,pthread_ptr,attr,start_routine,arg)}if(error)return error;var stackSize=0;var stackBase=0;var detached=0;if(attr&&attr!=-1){stackSize=GROWABLE_HEAP_I32()[attr>>2];stackSize+=81920;stackBase=GROWABLE_HEAP_I32()[attr+8>>2];detached=GROWABLE_HEAP_I32()[attr+12>>2]!==0}else{stackSize=2097152}var allocatedOwnStack=stackBase==0;if(allocatedOwnStack){stackBase=_memalign(16,stackSize)}else{stackBase-=stackSize;assert(stackBase>0)}var threadInfoStruct=_malloc(228);for(var i=0;i<228>>2;++i)GROWABLE_HEAP_U32()[(threadInfoStruct>>2)+i]=0;GROWABLE_HEAP_I32()[pthread_ptr>>2]=threadInfoStruct;GROWABLE_HEAP_I32()[threadInfoStruct+12>>2]=threadInfoStruct;var headPtr=threadInfoStruct+152;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var threadParams={stackBase:stackBase,stackSize:stackSize,allocatedOwnStack:allocatedOwnStack,detached:detached,startRoutine:start_routine,pthread_ptr:threadInfoStruct,arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}function __pthread_testcancel_js(){if(!ENVIRONMENT_IS_PTHREAD)return;var tb=_pthread_self();if(!tb)return;var cancelDisabled=Atomics.load(GROWABLE_HEAP_U32(),tb+56>>2);if(cancelDisabled)return;var canceled=Atomics.load(GROWABLE_HEAP_U32(),tb+0>>2);if(canceled==2)throw"Canceled!"}function __emscripten_do_pthread_join(thread,status,block){if(!thread){err("pthread_join attempted on a null thread pointer!");return ERRNO_CODES.ESRCH}if(ENVIRONMENT_IS_PTHREAD&&_pthread_self()==thread){err("PThread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}else if(!ENVIRONMENT_IS_PTHREAD&&_emscripten_main_browser_thread_id()==thread){err("Main thread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}var self=GROWABLE_HEAP_I32()[thread+12>>2];if(self!==thread){err("pthread_join attempted on thread "+thread+", which does not point to a valid thread, or does not exist anymore!");return ERRNO_CODES.ESRCH}var detached=Atomics.load(GROWABLE_HEAP_U32(),thread+64>>2);if(detached){err("Attempted to join thread "+thread+", which was already detached!");return ERRNO_CODES.EINVAL}if(block){_emscripten_check_blocking_allowed()}for(;;){var threadStatus=Atomics.load(GROWABLE_HEAP_U32(),thread+0>>2);if(threadStatus==1){var threadExitCode=Atomics.load(GROWABLE_HEAP_U32(),thread+4>>2);if(status)GROWABLE_HEAP_I32()[status>>2]=threadExitCode;Atomics.store(GROWABLE_HEAP_U32(),thread+64>>2,1);if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({"cmd":"cleanupThread","thread":thread});return 0}if(!block){return ERRNO_CODES.EBUSY}__pthread_testcancel_js();if(!ENVIRONMENT_IS_PTHREAD)_emscripten_main_thread_process_queued_calls();_emscripten_futex_wait(thread+0,threadStatus,ENVIRONMENT_IS_PTHREAD?100:1)}}function _pthread_join(thread,status){return __emscripten_do_pthread_join(thread,status,true)}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.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){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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.includes(rule)){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}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _system(command){if(!command)return 0;setErrNo(52);return-1}if(!ENVIRONMENT_IS_PTHREAD)PThread.initMainThreadBlock();InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var GLctx;var proxiedFunctionTable=[null,_atexit,___sys_fcntl64,___sys_ioctl,___sys_open,_emscripten_set_canvas_element_size_main_thread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];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}var asmLibraryArg={"f":___assert_fail,"O":___cxa_allocate_exception,"s":___cxa_thread_atexit,"I":___cxa_throw,"p":___sys_fcntl64,"Q":___sys_ioctl,"R":___sys_open,"u":__embind_finalize_value_object,"y":__embind_register_bigint,"U":__embind_register_bool,"T":__embind_register_emval,"q":__embind_register_float,"t":__embind_register_function,"d":__embind_register_integer,"c":__embind_register_memory_view,"r":__embind_register_std_string,"k":__embind_register_std_wstring,"v":__embind_register_value_object,"e":__embind_register_value_object_field,"V":__embind_register_void,"N":__emscripten_notify_thread_queue,"i":__emval_decref,"Z":__emval_get_global,"Y":__emval_incref,"x":__emval_new,"b":_abort,"n":_emscripten_asm_const_int,"J":_emscripten_check_blocking_allowed,"m":_emscripten_conditional_set_current_thread_status,"h":_emscripten_futex_wait,"g":_emscripten_futex_wake,"j":_emscripten_get_now,"B":_emscripten_memcpy_big,"H":_emscripten_num_logical_cores,"K":_emscripten_receive_on_main_thread_js,"C":_emscripten_resize_heap,"L":_emscripten_set_canvas_element_size,"l":_emscripten_set_current_thread_status,"M":_emscripten_webgl_create_context,"E":_environ_get,"F":_environ_sizes_get,"o":_fd_close,"P":_fd_read,"w":_fd_seek,"S":_fd_write,"A":initPthreadsJS,"a":wasmMemory||Module["wasmMemory"],"W":_pthread_create,"G":_pthread_join,"z":_setTempRet0,"D":_strftime_l,"X":_system};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["_"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["$"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["aa"]).apply(null,arguments)};var _emscripten_tls_init=Module["_emscripten_tls_init"]=function(){return(_emscripten_tls_init=Module["_emscripten_tls_init"]=Module["asm"]["ba"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["da"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ea"]).apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=function(){return(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=Module["asm"]["fa"]).apply(null,arguments)};var _emscripten_register_main_browser_thread_id=Module["_emscripten_register_main_browser_thread_id"]=function(){return(_emscripten_register_main_browser_thread_id=Module["_emscripten_register_main_browser_thread_id"]=Module["asm"]["ga"]).apply(null,arguments)};var _emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=function(){return(_emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=Module["asm"]["ha"]).apply(null,arguments)};var __emscripten_do_dispatch_to_thread=Module["__emscripten_do_dispatch_to_thread"]=function(){return(__emscripten_do_dispatch_to_thread=Module["__emscripten_do_dispatch_to_thread"]=Module["asm"]["ia"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=function(){return(_emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=Module["asm"]["ja"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["ka"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=Module["asm"]["la"]).apply(null,arguments)};var __emscripten_call_on_thread=Module["__emscripten_call_on_thread"]=function(){return(__emscripten_call_on_thread=Module["__emscripten_call_on_thread"]=Module["asm"]["ma"]).apply(null,arguments)};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["na"]).apply(null,arguments)};var ___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=function(){return(___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=Module["asm"]["oa"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["pa"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["qa"]).apply(null,arguments)};var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=function(){return(_emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=Module["asm"]["ra"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["sa"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["ta"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ua"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["va"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["wa"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["xa"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["ya"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["za"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["Aa"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["Ba"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["Ca"]).apply(null,arguments)};var __emscripten_allow_main_runtime_queued_calls=Module["__emscripten_allow_main_runtime_queued_calls"]=65140;var __emscripten_main_thread_futex=Module["__emscripten_main_thread_futex"]=75960;Module["PThread"]=PThread;Module["PThread"]=PThread;Module["wasmMemory"]=wasmMemory;Module["ExitStatus"]=ExitStatus;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();postMessage({"cmd":"loaded"});return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(implicit&&keepRuntimeAlive()&&status===0){return}if(!implicit){if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"exitProcess","returnCode":status});throw new ExitStatus(status)}else{}}if(keepRuntimeAlive()){}else{PThread.terminateAllThreads();exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}if(ENVIRONMENT_IS_PTHREAD){noExitRuntime=false;PThread.initWorker()}run(); return Module.ready diff --git a/codecs/jxl/enc/jxl_enc_mt.wasm b/codecs/jxl/enc/jxl_enc_mt.wasm index 3f779079704aa810ae77662b68faa5312fd34294..21f9a1664c631122a09fa21341fc461588c1a5ec 100755 GIT binary patch delta 50675 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 delta 50452 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 diff --git a/codecs/jxl/enc/jxl_enc_mt_simd.js b/codecs/jxl/enc/jxl_enc_mt_simd.js index 8744e77ff..e81dc1a6f 100644 --- a/codecs/jxl/enc/jxl_enc_mt_simd.js +++ b/codecs/jxl/enc/jxl_enc_mt_simd.js @@ -6,7 +6,7 @@ var Module = (function() { function(Module) { Module = Module || {}; -function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof Module!=="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=true;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str="";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}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 len+=4}return len}function UTF16ToString(ptr,maxBytesToRead){var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}GROWABLE_HEAP_I16()[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;if(ENVIRONMENT_IS_PTHREAD){buffer=Module["buffer"]}function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];buffer=Module["buffer"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)")}throw Error("bad memory")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;callRuntimeCallbacks(__ATINIT__)}function exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){assert(!ENVIRONMENT_IS_PTHREAD,"addRunDependency cannot be used in a pthread worker");runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(ENVIRONMENT_IS_PTHREAD)console.error("Pthread aborting at "+(new Error).stack);what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}if(Module["locateFile"]){var wasmBinaryFile="jxl_enc_mt_simd.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("jxl_enc_mt_simd.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["ca"];addOnInit(Module["asm"]["_"]);PThread.tlsInitFunctions.push(Module["asm"]["ba"]);wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){var numWorkersToLoad=PThread.unusedWorkers.length;PThread.unusedWorkers.forEach(function(w){PThread.loadWasmModuleToWorker(w,function(){if(!--numWorkersToLoad)removeRunDependency("wasm-instantiate")})})}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency("wasm-instantiate")}function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var ASM_CONSTS={64256:function(){throw"Canceled!"},64274:function($0,$1){setTimeout(function(){__emscripten_do_dispatch_to_thread($0,$1)},0)}};function initPthreadsJS(){PThread.initRuntime()}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};function _emscripten_futex_wake(addr,count){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0||count<0)return-28;if(count==0)return 0;if(count>=2147483647)count=Infinity;var mainThreadWaitAddress=Atomics.load(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2);var mainThreadWoken=0;if(mainThreadWaitAddress==addr){var loadedAddr=Atomics.compareExchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,mainThreadWaitAddress,0);if(loadedAddr==mainThreadWaitAddress){--count;mainThreadWoken=1;if(count<=0)return 1}}var ret=Atomics.notify(GROWABLE_HEAP_I32(),addr>>2,count);if(ret>=0)return ret+mainThreadWoken;throw"Atomics.notify returned an unexpected value "+ret}Module["_emscripten_futex_wake"]=_emscripten_futex_wake;function killThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in killThread!";GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var pthread=PThread.pthreads[pthread_ptr];pthread.worker.terminate();PThread.freeThreadData(pthread);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker),1);pthread.worker.pthread=undefined}function cancelThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in cancelThread!";var pthread=PThread.pthreads[pthread_ptr];pthread.worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in cleanupThread!";var pthread=PThread.pthreads[pthread_ptr];if(pthread){GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var worker=pthread.worker;PThread.returnWorkerToPool(worker)}}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],initMainThreadBlock:function(){var pthreadPoolSize=navigator.hardwareConcurrency;for(var i=0;i>2]=tb;var headPtr=tb+152;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var tlsMemory=_malloc(512);for(var i=0;i<128;++i)GROWABLE_HEAP_U32()[tlsMemory/4+i]=0;Atomics.store(GROWABLE_HEAP_U32(),tb+100>>2,tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),tb+40>>2,tb);__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1);_emscripten_register_main_browser_thread_id(tb)},initWorker:function(){},pthreads:{},threadExitHandlers:[],runExitHandlers:function(){while(PThread.threadExitHandlers.length>0){PThread.threadExitHandlers.pop()()}if(ENVIRONMENT_IS_PTHREAD&&_pthread_self())___pthread_tsd_run_dtors()},runExitHandlersAndDeinitThread:function(tb,exitCode){Atomics.store(GROWABLE_HEAP_U32(),tb+56>>2,1);Atomics.store(GROWABLE_HEAP_U32(),tb+60>>2,0);PThread.runExitHandlers();Atomics.store(GROWABLE_HEAP_U32(),tb+4>>2,exitCode);Atomics.store(GROWABLE_HEAP_U32(),tb+0>>2,1);_emscripten_futex_wake(tb+0,2147483647);__emscripten_thread_init(0,0,0)},setExitStatus:function(status){EXITSTATUS=status},threadExit:function(exitCode){var tb=_pthread_self();if(tb){PThread.runExitHandlersAndDeinitThread(tb,exitCode);if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"exit"})}}},threadCancel:function(){PThread.runExitHandlersAndDeinitThread(_pthread_self(),-1);postMessage({"cmd":"cancelDone"})},terminateAllThreads:function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread&&pthread.worker){PThread.returnWorkerToPool(pthread.worker)}}PThread.pthreads={};for(var i=0;i>2];GROWABLE_HEAP_I32()[pthread.threadInfoStruct+100>>2]=0;_free(tlsMemory);_free(pthread.threadInfoStruct)}pthread.threadInfoStruct=0;if(pthread.allocatedOwnStack&&pthread.stackBase)_free(pthread.stackBase);pthread.stackBase=0;if(pthread.worker)pthread.worker.pthread=null},returnWorkerToPool:function(worker){PThread.runWithoutMainThreadQueuedCalls(function(){delete PThread.pthreads[worker.pthread.threadInfoStruct];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);PThread.freeThreadData(worker.pthread);worker.pthread=undefined})},runWithoutMainThreadQueuedCalls:function(func){GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=0;try{func()}finally{GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=1}},receiveObjectTransfer:function(data){},threadInit:function(){for(var i in PThread.tlsInitFunctions){PThread.tlsInitFunctions[i]()}},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=function(e){var d=e["data"];var cmd=d["cmd"];if(worker.pthread)PThread.currentProxiedOperationCallerThread=worker.pthread.threadInfoStruct;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var thread=PThread.pthreads[d.targetThread];if(thread){thread.worker.postMessage(e.data,d["transferList"])}else{console.error('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processQueuedMainThreadWork"){_emscripten_main_thread_process_queued_calls()}else if(cmd==="spawnThread"){spawnThread(e.data)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread();delete worker.runPthread}}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="exit"){var detached=worker.pthread&&Atomics.load(GROWABLE_HEAP_U32(),worker.pthread.threadInfoStruct+64>>2);if(detached){PThread.returnWorkerToPool(worker)}}else if(cmd==="exitProcess"){try{exit(d["returnCode"])}catch(e){if(e instanceof ExitStatus)return;throw e}}else if(cmd==="cancelDone"){PThread.returnWorkerToPool(worker)}else if(cmd==="objectTransfer"){PThread.receiveObjectTransfer(e.data)}else if(e.data.target==="setimmediate"){worker.postMessage(e.data)}else{err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined};worker.onerror=function(e){err("pthread sent an error! "+e.filename+":"+e.lineno+": "+e.message)};worker.postMessage({"cmd":"load","urlOrBlob":Module["mainScriptUrlOrBlob"],"wasmMemory":wasmMemory,"wasmModule":wasmModule})},allocateUnusedWorker:function(){if(!Module["locateFile"]){PThread.unusedWorkers.push(new Worker(new URL("jxl_enc_mt_simd.worker.js",import.meta.url)));return}var pthreadMainJs=locateFile("jxl_enc_mt_simd.worker.js");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()},busySpinWait:function(msecs){var t=performance.now()+msecs;while(performance.now()0}Module["keepRuntimeAlive"]=keepRuntimeAlive;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var _emscripten_get_now;if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=function(){return performance.now()-Module["__performance_now_clock_drift"]}}else _emscripten_get_now=function(){return performance.now()};function setErrNo(value){GROWABLE_HEAP_I32()[___errno_location()>>2]=value;return value}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function _atexit(func,arg){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,func,arg)}function _pthread_cleanup_push(routine,arg){PThread.threadExitHandlers.push(function(){wasmTable.get(routine)(arg)})}function ___cxa_thread_atexit(a0,a1){return _pthread_cleanup_push(a0,a1)}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2,1);return prev===1}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,1,fd,cmd,varargs);SYSCALLS.varargs=varargs;return 0}function ___sys_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,fd,op,varargs);SYSCALLS.varargs=varargs;return 0}function ___sys_open(path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,path,flags,varargs);SYSCALLS.varargs=varargs}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_U32()[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return GROWABLE_HEAP_U16()[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return GROWABLE_HEAP_I32()[pointer>>2]}:function readU32FromPointer(pointer){return GROWABLE_HEAP_U32()[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=GROWABLE_HEAP_U32();var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);GROWABLE_HEAP_U32()[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emscripten_notify_thread_queue(targetThreadId,mainThreadId){if(targetThreadId==mainThreadId){postMessage({"cmd":"processQueuedMainThreadWork"})}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processThreadQueue"})}else{var pthread=PThread.pthreads[targetThreadId];var worker=pthread&&pthread.worker;if(!worker){return}worker.postMessage({"cmd":"processThreadQueue"})}return 1}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i>> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function _abort(){abort()}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){var double=ch<105;if(double&&buf&1)buf++;readAsmConstArgsArray.push(double?GROWABLE_HEAP_F64()[buf++>>1]:GROWABLE_HEAP_I32()[buf]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function _emscripten_conditional_set_current_thread_status(expectedStatus,newStatus){}function _emscripten_futex_wait(addr,val,timeout){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0)return-28;if(!ENVIRONMENT_IS_WEB){var ret=Atomics.wait(GROWABLE_HEAP_I32(),addr>>2,val,timeout);if(ret==="timed-out")return-73;if(ret==="not-equal")return-6;if(ret==="ok")return 0;throw"Atomics.wait returned an unexpected value "+ret}else{if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}var tNow=performance.now();var tEnd=tNow+timeout;var lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr);while(1){tNow=performance.now();if(tNow>tEnd){lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);return-73}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);if(lastAddr==0){break}_emscripten_main_thread_process_queued_calls();if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr)}return 0}}function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_num_logical_cores(){return navigator["hardwareConcurrency"]}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var stack=stackSave();var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>3;for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence>2]=eventTypeId;GROWABLE_HEAP_I32()[varargs+4>>2]=eventData;GROWABLE_HEAP_I32()[varargs+8>>2]=userData;__emscripten_call_on_thread(0,targetThread,637534208,eventHandlerFunc,eventData,varargs);stackRestore(stackTop)},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){var stackTop=stackSave();var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}GROWABLE_HEAP_I32()[varargs>>2]=targetCanvasPtr;GROWABLE_HEAP_I32()[varargs+4>>2]=width;GROWABLE_HEAP_I32()[varargs+8>>2]=height;__emscripten_call_on_thread(0,targetThread,657457152,0,targetCanvasPtr,varargs);stackRestore(stackTop)}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):"";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(2978);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}else{return _emscripten_set_canvas_element_size_main_thread(target,width,height)}}function _emscripten_set_current_thread_status(newStatus){}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(GROWABLE_HEAP_I32()[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);GROWABLE_HEAP_I32()[handle+4>>2]=_pthread_self();var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=GROWABLE_HEAP_I32()[a+(24>>2)];var contextAttributes={"alpha":!!GROWABLE_HEAP_I32()[a+(0>>2)],"depth":!!GROWABLE_HEAP_I32()[a+(4>>2)],"stencil":!!GROWABLE_HEAP_I32()[a+(8>>2)],"antialias":!!GROWABLE_HEAP_I32()[a+(12>>2)],"premultipliedAlpha":!!GROWABLE_HEAP_I32()[a+(16>>2)],"preserveDrawingBuffer":!!GROWABLE_HEAP_I32()[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!GROWABLE_HEAP_I32()[a+(28>>2)],majorVersion:GROWABLE_HEAP_I32()[a+(32>>2)],minorVersion:GROWABLE_HEAP_I32()[a+(36>>2)],enableExtensionsByDefault:GROWABLE_HEAP_I32()[a+(40>>2)],explicitSwapControl:GROWABLE_HEAP_I32()[a+(44>>2)],proxyContextToMainThread:GROWABLE_HEAP_I32()[a+(48>>2)],renderViaOffscreenBackBuffer:GROWABLE_HEAP_I32()[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_I32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_I32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_I32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,fd);return 0}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,fd,iov,iovcnt,pnum);var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,fd,offset_low,offset_high,whence,newOffset)}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,fd,iov,iovcnt,pnum);var num=0;for(var i=0;i>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function spawnThread(threadParams){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var worker=PThread.getNewWorker();if(!worker){return 6}if(worker.pthread!==undefined)throw"Internal error!";if(!threadParams.pthread_ptr)throw"Internal error, no pthread ptr!";PThread.runningWorkers.push(worker);var tlsMemory=_malloc(128*4);for(var i=0;i<128;++i){GROWABLE_HEAP_I32()[tlsMemory+i*4>>2]=0}var stackHigh=threadParams.stackBase+threadParams.stackSize;var pthread=PThread.pthreads[threadParams.pthread_ptr]={worker:worker,stackBase:threadParams.stackBase,stackSize:threadParams.stackSize,allocatedOwnStack:threadParams.allocatedOwnStack,threadInfoStruct:threadParams.pthread_ptr};var tis=pthread.threadInfoStruct>>2;Atomics.store(GROWABLE_HEAP_U32(),tis+(64>>2),threadParams.detached);Atomics.store(GROWABLE_HEAP_U32(),tis+(100>>2),tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),tis+(40>>2),pthread.threadInfoStruct);Atomics.store(GROWABLE_HEAP_U32(),tis+(80>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(76>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(104>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(104+8>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(104+12>>2),threadParams.detached);var global_libc=_emscripten_get_global_libc();var global_locale=global_libc+40;Atomics.store(GROWABLE_HEAP_U32(),tis+(172>>2),global_locale);worker.pthread=pthread;var msg={"cmd":"run","start_routine":threadParams.startRoutine,"arg":threadParams.arg,"threadInfoStruct":threadParams.pthread_ptr,"stackBase":threadParams.stackBase,"stackSize":threadParams.stackSize};worker.runPthread=function(){msg.time=performance.now();worker.postMessage(msg,threadParams.transferList)};if(worker.loaded){worker.runPthread();delete worker.runPthread}return 0}function _pthread_create(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer==="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}if(!pthread_ptr){err("pthread_create called with a null thread pointer!");return 28}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return _emscripten_sync_run_in_main_thread_4(687865856,pthread_ptr,attr,start_routine,arg)}if(error)return error;var stackSize=0;var stackBase=0;var detached=0;if(attr&&attr!=-1){stackSize=GROWABLE_HEAP_I32()[attr>>2];stackSize+=81920;stackBase=GROWABLE_HEAP_I32()[attr+8>>2];detached=GROWABLE_HEAP_I32()[attr+12>>2]!==0}else{stackSize=2097152}var allocatedOwnStack=stackBase==0;if(allocatedOwnStack){stackBase=_memalign(16,stackSize)}else{stackBase-=stackSize;assert(stackBase>0)}var threadInfoStruct=_malloc(228);for(var i=0;i<228>>2;++i)GROWABLE_HEAP_U32()[(threadInfoStruct>>2)+i]=0;GROWABLE_HEAP_I32()[pthread_ptr>>2]=threadInfoStruct;GROWABLE_HEAP_I32()[threadInfoStruct+12>>2]=threadInfoStruct;var headPtr=threadInfoStruct+152;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var threadParams={stackBase:stackBase,stackSize:stackSize,allocatedOwnStack:allocatedOwnStack,detached:detached,startRoutine:start_routine,pthread_ptr:threadInfoStruct,arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}function __pthread_testcancel_js(){if(!ENVIRONMENT_IS_PTHREAD)return;var tb=_pthread_self();if(!tb)return;var cancelDisabled=Atomics.load(GROWABLE_HEAP_U32(),tb+56>>2);if(cancelDisabled)return;var canceled=Atomics.load(GROWABLE_HEAP_U32(),tb+0>>2);if(canceled==2)throw"Canceled!"}function __emscripten_do_pthread_join(thread,status,block){if(!thread){err("pthread_join attempted on a null thread pointer!");return ERRNO_CODES.ESRCH}if(ENVIRONMENT_IS_PTHREAD&&_pthread_self()==thread){err("PThread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}else if(!ENVIRONMENT_IS_PTHREAD&&_emscripten_main_browser_thread_id()==thread){err("Main thread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}var self=GROWABLE_HEAP_I32()[thread+12>>2];if(self!==thread){err("pthread_join attempted on thread "+thread+", which does not point to a valid thread, or does not exist anymore!");return ERRNO_CODES.ESRCH}var detached=Atomics.load(GROWABLE_HEAP_U32(),thread+64>>2);if(detached){err("Attempted to join thread "+thread+", which was already detached!");return ERRNO_CODES.EINVAL}if(block){_emscripten_check_blocking_allowed()}for(;;){var threadStatus=Atomics.load(GROWABLE_HEAP_U32(),thread+0>>2);if(threadStatus==1){var threadExitCode=Atomics.load(GROWABLE_HEAP_U32(),thread+4>>2);if(status)GROWABLE_HEAP_I32()[status>>2]=threadExitCode;Atomics.store(GROWABLE_HEAP_U32(),thread+64>>2,1);if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({"cmd":"cleanupThread","thread":thread});return 0}if(!block){return ERRNO_CODES.EBUSY}__pthread_testcancel_js();if(!ENVIRONMENT_IS_PTHREAD)_emscripten_main_thread_process_queued_calls();_emscripten_futex_wait(thread+0,threadStatus,ENVIRONMENT_IS_PTHREAD?100:1)}}function _pthread_join(thread,status){return __emscripten_do_pthread_join(thread,status,true)}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.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){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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.includes(rule)){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}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _system(command){if(!command)return 0;setErrNo(52);return-1}if(!ENVIRONMENT_IS_PTHREAD)PThread.initMainThreadBlock();InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var GLctx;var proxiedFunctionTable=[null,_atexit,___sys_fcntl64,___sys_ioctl,___sys_open,_emscripten_set_canvas_element_size_main_thread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];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}var asmLibraryArg={"f":___assert_fail,"O":___cxa_allocate_exception,"s":___cxa_thread_atexit,"I":___cxa_throw,"o":___sys_fcntl64,"R":___sys_ioctl,"S":___sys_open,"u":__embind_finalize_value_object,"y":__embind_register_bigint,"U":__embind_register_bool,"T":__embind_register_emval,"q":__embind_register_float,"t":__embind_register_function,"d":__embind_register_integer,"c":__embind_register_memory_view,"r":__embind_register_std_string,"k":__embind_register_std_wstring,"v":__embind_register_value_object,"e":__embind_register_value_object_field,"V":__embind_register_void,"N":__emscripten_notify_thread_queue,"i":__emval_decref,"Z":__emval_get_global,"Y":__emval_incref,"x":__emval_new,"b":_abort,"n":_emscripten_asm_const_int,"J":_emscripten_check_blocking_allowed,"m":_emscripten_conditional_set_current_thread_status,"h":_emscripten_futex_wait,"g":_emscripten_futex_wake,"j":_emscripten_get_now,"B":_emscripten_memcpy_big,"E":_emscripten_num_logical_cores,"K":_emscripten_receive_on_main_thread_js,"C":_emscripten_resize_heap,"L":_emscripten_set_canvas_element_size,"l":_emscripten_set_current_thread_status,"M":_emscripten_webgl_create_context,"G":_environ_get,"H":_environ_sizes_get,"p":_fd_close,"Q":_fd_read,"w":_fd_seek,"P":_fd_write,"A":initPthreadsJS,"a":wasmMemory||Module["wasmMemory"],"W":_pthread_create,"D":_pthread_join,"z":_setTempRet0,"F":_strftime_l,"X":_system};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["_"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["$"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["aa"]).apply(null,arguments)};var _emscripten_tls_init=Module["_emscripten_tls_init"]=function(){return(_emscripten_tls_init=Module["_emscripten_tls_init"]=Module["asm"]["ba"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["da"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ea"]).apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=function(){return(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=Module["asm"]["fa"]).apply(null,arguments)};var _emscripten_register_main_browser_thread_id=Module["_emscripten_register_main_browser_thread_id"]=function(){return(_emscripten_register_main_browser_thread_id=Module["_emscripten_register_main_browser_thread_id"]=Module["asm"]["ga"]).apply(null,arguments)};var _emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=function(){return(_emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=Module["asm"]["ha"]).apply(null,arguments)};var __emscripten_do_dispatch_to_thread=Module["__emscripten_do_dispatch_to_thread"]=function(){return(__emscripten_do_dispatch_to_thread=Module["__emscripten_do_dispatch_to_thread"]=Module["asm"]["ia"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=function(){return(_emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=Module["asm"]["ja"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["ka"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=Module["asm"]["la"]).apply(null,arguments)};var __emscripten_call_on_thread=Module["__emscripten_call_on_thread"]=function(){return(__emscripten_call_on_thread=Module["__emscripten_call_on_thread"]=Module["asm"]["ma"]).apply(null,arguments)};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["na"]).apply(null,arguments)};var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=function(){return(_emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=Module["asm"]["oa"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["pa"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["qa"]).apply(null,arguments)};var ___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=function(){return(___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=Module["asm"]["ra"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["sa"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["ta"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ua"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["va"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["wa"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["xa"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["ya"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["za"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["Aa"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["Ba"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["Ca"]).apply(null,arguments)};var __emscripten_allow_main_runtime_queued_calls=Module["__emscripten_allow_main_runtime_queued_calls"]=64244;var __emscripten_main_thread_futex=Module["__emscripten_main_thread_futex"]=75060;Module["PThread"]=PThread;Module["PThread"]=PThread;Module["wasmMemory"]=wasmMemory;Module["ExitStatus"]=ExitStatus;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();postMessage({"cmd":"loaded"});return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(implicit&&keepRuntimeAlive()&&status===0){return}if(!implicit){if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"exitProcess","returnCode":status});throw new ExitStatus(status)}else{}}if(keepRuntimeAlive()){}else{PThread.terminateAllThreads();exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}if(ENVIRONMENT_IS_PTHREAD){noExitRuntime=false;PThread.initWorker()}run(); +function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof Module!=="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=true;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str="";while(!(idx>=endIdx)){var u0=heap[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}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 len+=4}return len}function UTF16ToString(ptr,maxBytesToRead){var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}GROWABLE_HEAP_I16()[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;if(ENVIRONMENT_IS_PTHREAD){buffer=Module["buffer"]}function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];buffer=Module["buffer"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)")}throw Error("bad memory")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;callRuntimeCallbacks(__ATINIT__)}function exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){assert(!ENVIRONMENT_IS_PTHREAD,"addRunDependency cannot be used in a pthread worker");runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(ENVIRONMENT_IS_PTHREAD)console.error("Pthread aborting at "+(new Error).stack);what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}if(Module["locateFile"]){var wasmBinaryFile="jxl_enc_mt_simd.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("jxl_enc_mt_simd.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["ca"];addOnInit(Module["asm"]["_"]);PThread.tlsInitFunctions.push(Module["asm"]["ba"]);wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){var numWorkersToLoad=PThread.unusedWorkers.length;PThread.unusedWorkers.forEach(function(w){PThread.loadWasmModuleToWorker(w,function(){if(!--numWorkersToLoad)removeRunDependency("wasm-instantiate")})})}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency("wasm-instantiate")}function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var ASM_CONSTS={64240:function(){throw"Canceled!"},64258:function($0,$1){setTimeout(function(){__emscripten_do_dispatch_to_thread($0,$1)},0)}};function initPthreadsJS(){PThread.initRuntime()}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};function _emscripten_futex_wake(addr,count){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0||count<0)return-28;if(count==0)return 0;if(count>=2147483647)count=Infinity;var mainThreadWaitAddress=Atomics.load(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2);var mainThreadWoken=0;if(mainThreadWaitAddress==addr){var loadedAddr=Atomics.compareExchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,mainThreadWaitAddress,0);if(loadedAddr==mainThreadWaitAddress){--count;mainThreadWoken=1;if(count<=0)return 1}}var ret=Atomics.notify(GROWABLE_HEAP_I32(),addr>>2,count);if(ret>=0)return ret+mainThreadWoken;throw"Atomics.notify returned an unexpected value "+ret}Module["_emscripten_futex_wake"]=_emscripten_futex_wake;function killThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in killThread!";GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var pthread=PThread.pthreads[pthread_ptr];pthread.worker.terminate();PThread.freeThreadData(pthread);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker),1);pthread.worker.pthread=undefined}function cancelThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in cancelThread!";var pthread=PThread.pthreads[pthread_ptr];pthread.worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!pthread_ptr)throw"Internal Error! Null pthread_ptr in cleanupThread!";var pthread=PThread.pthreads[pthread_ptr];if(pthread){GROWABLE_HEAP_I32()[pthread_ptr+12>>2]=0;var worker=pthread.worker;PThread.returnWorkerToPool(worker)}}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],initMainThreadBlock:function(){var pthreadPoolSize=navigator.hardwareConcurrency;for(var i=0;i>2]=tb;var headPtr=tb+152;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var tlsMemory=_malloc(512);for(var i=0;i<128;++i)GROWABLE_HEAP_U32()[tlsMemory/4+i]=0;Atomics.store(GROWABLE_HEAP_U32(),tb+100>>2,tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),tb+40>>2,tb);__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1);_emscripten_register_main_browser_thread_id(tb)},initWorker:function(){},pthreads:{},threadExitHandlers:[],runExitHandlers:function(){while(PThread.threadExitHandlers.length>0){PThread.threadExitHandlers.pop()()}if(ENVIRONMENT_IS_PTHREAD&&_pthread_self())___pthread_tsd_run_dtors()},runExitHandlersAndDeinitThread:function(tb,exitCode){Atomics.store(GROWABLE_HEAP_U32(),tb+56>>2,1);Atomics.store(GROWABLE_HEAP_U32(),tb+60>>2,0);PThread.runExitHandlers();Atomics.store(GROWABLE_HEAP_U32(),tb+4>>2,exitCode);Atomics.store(GROWABLE_HEAP_U32(),tb+0>>2,1);_emscripten_futex_wake(tb+0,2147483647);__emscripten_thread_init(0,0,0)},setExitStatus:function(status){EXITSTATUS=status},threadExit:function(exitCode){var tb=_pthread_self();if(tb){PThread.runExitHandlersAndDeinitThread(tb,exitCode);if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"exit"})}}},threadCancel:function(){PThread.runExitHandlersAndDeinitThread(_pthread_self(),-1);postMessage({"cmd":"cancelDone"})},terminateAllThreads:function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread&&pthread.worker){PThread.returnWorkerToPool(pthread.worker)}}PThread.pthreads={};for(var i=0;i>2];GROWABLE_HEAP_I32()[pthread.threadInfoStruct+100>>2]=0;_free(tlsMemory);_free(pthread.threadInfoStruct)}pthread.threadInfoStruct=0;if(pthread.allocatedOwnStack&&pthread.stackBase)_free(pthread.stackBase);pthread.stackBase=0;if(pthread.worker)pthread.worker.pthread=null},returnWorkerToPool:function(worker){PThread.runWithoutMainThreadQueuedCalls(function(){delete PThread.pthreads[worker.pthread.threadInfoStruct];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);PThread.freeThreadData(worker.pthread);worker.pthread=undefined})},runWithoutMainThreadQueuedCalls:function(func){GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=0;try{func()}finally{GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=1}},receiveObjectTransfer:function(data){},threadInit:function(){for(var i in PThread.tlsInitFunctions){PThread.tlsInitFunctions[i]()}},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=function(e){var d=e["data"];var cmd=d["cmd"];if(worker.pthread)PThread.currentProxiedOperationCallerThread=worker.pthread.threadInfoStruct;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var thread=PThread.pthreads[d.targetThread];if(thread){thread.worker.postMessage(e.data,d["transferList"])}else{console.error('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processQueuedMainThreadWork"){_emscripten_main_thread_process_queued_calls()}else if(cmd==="spawnThread"){spawnThread(e.data)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread();delete worker.runPthread}}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="exit"){var detached=worker.pthread&&Atomics.load(GROWABLE_HEAP_U32(),worker.pthread.threadInfoStruct+64>>2);if(detached){PThread.returnWorkerToPool(worker)}}else if(cmd==="exitProcess"){try{exit(d["returnCode"])}catch(e){if(e instanceof ExitStatus)return;throw e}}else if(cmd==="cancelDone"){PThread.returnWorkerToPool(worker)}else if(cmd==="objectTransfer"){PThread.receiveObjectTransfer(e.data)}else if(e.data.target==="setimmediate"){worker.postMessage(e.data)}else{err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined};worker.onerror=function(e){err("pthread sent an error! "+e.filename+":"+e.lineno+": "+e.message)};worker.postMessage({"cmd":"load","urlOrBlob":Module["mainScriptUrlOrBlob"],"wasmMemory":wasmMemory,"wasmModule":wasmModule})},allocateUnusedWorker:function(){if(!Module["locateFile"]){PThread.unusedWorkers.push(new Worker(new URL("jxl_enc_mt_simd.worker.js",import.meta.url)));return}var pthreadMainJs=locateFile("jxl_enc_mt_simd.worker.js");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()},busySpinWait:function(msecs){var t=performance.now()+msecs;while(performance.now()0}Module["keepRuntimeAlive"]=keepRuntimeAlive;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var _emscripten_get_now;if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=function(){return performance.now()-Module["__performance_now_clock_drift"]}}else _emscripten_get_now=function(){return performance.now()};function setErrNo(value){GROWABLE_HEAP_I32()[___errno_location()>>2]=value;return value}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function _atexit(func,arg){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,func,arg)}function _pthread_cleanup_push(routine,arg){PThread.threadExitHandlers.push(function(){wasmTable.get(routine)(arg)})}function ___cxa_thread_atexit(a0,a1){return _pthread_cleanup_push(a0,a1)}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2,1);return prev===1}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,1,fd,cmd,varargs);SYSCALLS.varargs=varargs;return 0}function ___sys_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,fd,op,varargs);SYSCALLS.varargs=varargs;return 0}function ___sys_open(path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,path,flags,varargs);SYSCALLS.varargs=varargs}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_U32()[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return GROWABLE_HEAP_U16()[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return GROWABLE_HEAP_I32()[pointer>>2]}:function readU32FromPointer(pointer){return GROWABLE_HEAP_U32()[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=GROWABLE_HEAP_U32();var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);GROWABLE_HEAP_U32()[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emscripten_notify_thread_queue(targetThreadId,mainThreadId){if(targetThreadId==mainThreadId){postMessage({"cmd":"processQueuedMainThreadWork"})}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processThreadQueue"})}else{var pthread=PThread.pthreads[targetThreadId];var worker=pthread&&pthread.worker;if(!worker){return}worker.postMessage({"cmd":"processThreadQueue"})}return 1}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i>> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function _abort(){abort()}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){var double=ch<105;if(double&&buf&1)buf++;readAsmConstArgsArray.push(double?GROWABLE_HEAP_F64()[buf++>>1]:GROWABLE_HEAP_I32()[buf]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function _emscripten_conditional_set_current_thread_status(expectedStatus,newStatus){}function _emscripten_futex_wait(addr,val,timeout){if(addr<=0||addr>GROWABLE_HEAP_I8().length||addr&3!=0)return-28;if(!ENVIRONMENT_IS_WEB){var ret=Atomics.wait(GROWABLE_HEAP_I32(),addr>>2,val,timeout);if(ret==="timed-out")return-73;if(ret==="not-equal")return-6;if(ret==="ok")return 0;throw"Atomics.wait returned an unexpected value "+ret}else{if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}var tNow=performance.now();var tEnd=tNow+timeout;var lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr);while(1){tNow=performance.now();if(tNow>tEnd){lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);return-73}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);if(lastAddr==0){break}_emscripten_main_thread_process_queued_calls();if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr)}return 0}}function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_num_logical_cores(){return navigator["hardwareConcurrency"]}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var stack=stackSave();var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>3;for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence>2]=eventTypeId;GROWABLE_HEAP_I32()[varargs+4>>2]=eventData;GROWABLE_HEAP_I32()[varargs+8>>2]=userData;__emscripten_call_on_thread(0,targetThread,637534208,eventHandlerFunc,eventData,varargs);stackRestore(stackTop)},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){var stackTop=stackSave();var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}GROWABLE_HEAP_I32()[varargs>>2]=targetCanvasPtr;GROWABLE_HEAP_I32()[varargs+4>>2]=width;GROWABLE_HEAP_I32()[varargs+8>>2]=height;__emscripten_call_on_thread(0,targetThread,657457152,0,targetCanvasPtr,varargs);stackRestore(stackTop)}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):"";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(2978);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}else{return _emscripten_set_canvas_element_size_main_thread(target,width,height)}}function _emscripten_set_current_thread_status(newStatus){}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(GROWABLE_HEAP_I32()[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);GROWABLE_HEAP_I32()[handle+4>>2]=_pthread_self();var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=GROWABLE_HEAP_I32()[a+(24>>2)];var contextAttributes={"alpha":!!GROWABLE_HEAP_I32()[a+(0>>2)],"depth":!!GROWABLE_HEAP_I32()[a+(4>>2)],"stencil":!!GROWABLE_HEAP_I32()[a+(8>>2)],"antialias":!!GROWABLE_HEAP_I32()[a+(12>>2)],"premultipliedAlpha":!!GROWABLE_HEAP_I32()[a+(16>>2)],"preserveDrawingBuffer":!!GROWABLE_HEAP_I32()[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!GROWABLE_HEAP_I32()[a+(28>>2)],majorVersion:GROWABLE_HEAP_I32()[a+(32>>2)],minorVersion:GROWABLE_HEAP_I32()[a+(36>>2)],enableExtensionsByDefault:GROWABLE_HEAP_I32()[a+(40>>2)],explicitSwapControl:GROWABLE_HEAP_I32()[a+(44>>2)],proxyContextToMainThread:GROWABLE_HEAP_I32()[a+(48>>2)],renderViaOffscreenBackBuffer:GROWABLE_HEAP_I32()[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_I32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_I32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_I32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,fd);return 0}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,fd,iov,iovcnt,pnum);var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,fd,offset_low,offset_high,whence,newOffset)}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,fd,iov,iovcnt,pnum);var num=0;for(var i=0;i>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function spawnThread(threadParams){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var worker=PThread.getNewWorker();if(!worker){return 6}if(worker.pthread!==undefined)throw"Internal error!";if(!threadParams.pthread_ptr)throw"Internal error, no pthread ptr!";PThread.runningWorkers.push(worker);var tlsMemory=_malloc(128*4);for(var i=0;i<128;++i){GROWABLE_HEAP_I32()[tlsMemory+i*4>>2]=0}var stackHigh=threadParams.stackBase+threadParams.stackSize;var pthread=PThread.pthreads[threadParams.pthread_ptr]={worker:worker,stackBase:threadParams.stackBase,stackSize:threadParams.stackSize,allocatedOwnStack:threadParams.allocatedOwnStack,threadInfoStruct:threadParams.pthread_ptr};var tis=pthread.threadInfoStruct>>2;Atomics.store(GROWABLE_HEAP_U32(),tis+(64>>2),threadParams.detached);Atomics.store(GROWABLE_HEAP_U32(),tis+(100>>2),tlsMemory);Atomics.store(GROWABLE_HEAP_U32(),tis+(40>>2),pthread.threadInfoStruct);Atomics.store(GROWABLE_HEAP_U32(),tis+(80>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(76>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(104>>2),threadParams.stackSize);Atomics.store(GROWABLE_HEAP_U32(),tis+(104+8>>2),stackHigh);Atomics.store(GROWABLE_HEAP_U32(),tis+(104+12>>2),threadParams.detached);var global_libc=_emscripten_get_global_libc();var global_locale=global_libc+40;Atomics.store(GROWABLE_HEAP_U32(),tis+(172>>2),global_locale);worker.pthread=pthread;var msg={"cmd":"run","start_routine":threadParams.startRoutine,"arg":threadParams.arg,"threadInfoStruct":threadParams.pthread_ptr,"stackBase":threadParams.stackBase,"stackSize":threadParams.stackSize};worker.runPthread=function(){msg.time=performance.now();worker.postMessage(msg,threadParams.transferList)};if(worker.loaded){worker.runPthread();delete worker.runPthread}return 0}function _pthread_create(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer==="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}if(!pthread_ptr){err("pthread_create called with a null thread pointer!");return 28}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return _emscripten_sync_run_in_main_thread_4(687865856,pthread_ptr,attr,start_routine,arg)}if(error)return error;var stackSize=0;var stackBase=0;var detached=0;if(attr&&attr!=-1){stackSize=GROWABLE_HEAP_I32()[attr>>2];stackSize+=81920;stackBase=GROWABLE_HEAP_I32()[attr+8>>2];detached=GROWABLE_HEAP_I32()[attr+12>>2]!==0}else{stackSize=2097152}var allocatedOwnStack=stackBase==0;if(allocatedOwnStack){stackBase=_memalign(16,stackSize)}else{stackBase-=stackSize;assert(stackBase>0)}var threadInfoStruct=_malloc(228);for(var i=0;i<228>>2;++i)GROWABLE_HEAP_U32()[(threadInfoStruct>>2)+i]=0;GROWABLE_HEAP_I32()[pthread_ptr>>2]=threadInfoStruct;GROWABLE_HEAP_I32()[threadInfoStruct+12>>2]=threadInfoStruct;var headPtr=threadInfoStruct+152;GROWABLE_HEAP_I32()[headPtr>>2]=headPtr;var threadParams={stackBase:stackBase,stackSize:stackSize,allocatedOwnStack:allocatedOwnStack,detached:detached,startRoutine:start_routine,pthread_ptr:threadInfoStruct,arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}function __pthread_testcancel_js(){if(!ENVIRONMENT_IS_PTHREAD)return;var tb=_pthread_self();if(!tb)return;var cancelDisabled=Atomics.load(GROWABLE_HEAP_U32(),tb+56>>2);if(cancelDisabled)return;var canceled=Atomics.load(GROWABLE_HEAP_U32(),tb+0>>2);if(canceled==2)throw"Canceled!"}function __emscripten_do_pthread_join(thread,status,block){if(!thread){err("pthread_join attempted on a null thread pointer!");return ERRNO_CODES.ESRCH}if(ENVIRONMENT_IS_PTHREAD&&_pthread_self()==thread){err("PThread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}else if(!ENVIRONMENT_IS_PTHREAD&&_emscripten_main_browser_thread_id()==thread){err("Main thread "+thread+" is attempting to join to itself!");return ERRNO_CODES.EDEADLK}var self=GROWABLE_HEAP_I32()[thread+12>>2];if(self!==thread){err("pthread_join attempted on thread "+thread+", which does not point to a valid thread, or does not exist anymore!");return ERRNO_CODES.ESRCH}var detached=Atomics.load(GROWABLE_HEAP_U32(),thread+64>>2);if(detached){err("Attempted to join thread "+thread+", which was already detached!");return ERRNO_CODES.EINVAL}if(block){_emscripten_check_blocking_allowed()}for(;;){var threadStatus=Atomics.load(GROWABLE_HEAP_U32(),thread+0>>2);if(threadStatus==1){var threadExitCode=Atomics.load(GROWABLE_HEAP_U32(),thread+4>>2);if(status)GROWABLE_HEAP_I32()[status>>2]=threadExitCode;Atomics.store(GROWABLE_HEAP_U32(),thread+64>>2,1);if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({"cmd":"cleanupThread","thread":thread});return 0}if(!block){return ERRNO_CODES.EBUSY}__pthread_testcancel_js();if(!ENVIRONMENT_IS_PTHREAD)_emscripten_main_thread_process_queued_calls();_emscripten_futex_wait(thread+0,threadStatus,ENVIRONMENT_IS_PTHREAD?100:1)}}function _pthread_join(thread,status){return __emscripten_do_pthread_join(thread,status,true)}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.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){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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.includes(rule)){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}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _system(command){if(!command)return 0;setErrNo(52);return-1}if(!ENVIRONMENT_IS_PTHREAD)PThread.initMainThreadBlock();InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var GLctx;var proxiedFunctionTable=[null,_atexit,___sys_fcntl64,___sys_ioctl,___sys_open,_emscripten_set_canvas_element_size_main_thread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];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}var asmLibraryArg={"f":___assert_fail,"O":___cxa_allocate_exception,"s":___cxa_thread_atexit,"I":___cxa_throw,"p":___sys_fcntl64,"Q":___sys_ioctl,"R":___sys_open,"u":__embind_finalize_value_object,"y":__embind_register_bigint,"U":__embind_register_bool,"T":__embind_register_emval,"q":__embind_register_float,"t":__embind_register_function,"d":__embind_register_integer,"c":__embind_register_memory_view,"r":__embind_register_std_string,"k":__embind_register_std_wstring,"v":__embind_register_value_object,"e":__embind_register_value_object_field,"V":__embind_register_void,"N":__emscripten_notify_thread_queue,"i":__emval_decref,"Z":__emval_get_global,"Y":__emval_incref,"x":__emval_new,"b":_abort,"n":_emscripten_asm_const_int,"J":_emscripten_check_blocking_allowed,"m":_emscripten_conditional_set_current_thread_status,"h":_emscripten_futex_wait,"g":_emscripten_futex_wake,"j":_emscripten_get_now,"B":_emscripten_memcpy_big,"H":_emscripten_num_logical_cores,"K":_emscripten_receive_on_main_thread_js,"C":_emscripten_resize_heap,"L":_emscripten_set_canvas_element_size,"l":_emscripten_set_current_thread_status,"M":_emscripten_webgl_create_context,"E":_environ_get,"F":_environ_sizes_get,"o":_fd_close,"P":_fd_read,"w":_fd_seek,"S":_fd_write,"A":initPthreadsJS,"a":wasmMemory||Module["wasmMemory"],"W":_pthread_create,"G":_pthread_join,"z":_setTempRet0,"D":_strftime_l,"X":_system};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["_"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["$"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["aa"]).apply(null,arguments)};var _emscripten_tls_init=Module["_emscripten_tls_init"]=function(){return(_emscripten_tls_init=Module["_emscripten_tls_init"]=Module["asm"]["ba"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["da"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ea"]).apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=function(){return(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=Module["asm"]["fa"]).apply(null,arguments)};var _emscripten_register_main_browser_thread_id=Module["_emscripten_register_main_browser_thread_id"]=function(){return(_emscripten_register_main_browser_thread_id=Module["_emscripten_register_main_browser_thread_id"]=Module["asm"]["ga"]).apply(null,arguments)};var _emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=function(){return(_emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=Module["asm"]["ha"]).apply(null,arguments)};var __emscripten_do_dispatch_to_thread=Module["__emscripten_do_dispatch_to_thread"]=function(){return(__emscripten_do_dispatch_to_thread=Module["__emscripten_do_dispatch_to_thread"]=Module["asm"]["ia"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=function(){return(_emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=Module["asm"]["ja"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["ka"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=Module["asm"]["la"]).apply(null,arguments)};var __emscripten_call_on_thread=Module["__emscripten_call_on_thread"]=function(){return(__emscripten_call_on_thread=Module["__emscripten_call_on_thread"]=Module["asm"]["ma"]).apply(null,arguments)};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["na"]).apply(null,arguments)};var ___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=function(){return(___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=Module["asm"]["oa"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["pa"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["qa"]).apply(null,arguments)};var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=function(){return(_emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=Module["asm"]["ra"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["sa"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["ta"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ua"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["va"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["wa"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["xa"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["ya"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["za"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["Aa"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["Ba"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["Ca"]).apply(null,arguments)};var __emscripten_allow_main_runtime_queued_calls=Module["__emscripten_allow_main_runtime_queued_calls"]=64228;var __emscripten_main_thread_futex=Module["__emscripten_main_thread_futex"]=75048;Module["PThread"]=PThread;Module["PThread"]=PThread;Module["wasmMemory"]=wasmMemory;Module["ExitStatus"]=ExitStatus;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();postMessage({"cmd":"loaded"});return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(implicit&&keepRuntimeAlive()&&status===0){return}if(!implicit){if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"exitProcess","returnCode":status});throw new ExitStatus(status)}else{}}if(keepRuntimeAlive()){}else{PThread.terminateAllThreads();exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}if(ENVIRONMENT_IS_PTHREAD){noExitRuntime=false;PThread.initWorker()}run(); return Module.ready diff --git a/codecs/jxl/enc/jxl_enc_mt_simd.wasm b/codecs/jxl/enc/jxl_enc_mt_simd.wasm index 39e7541b52e6203c6516e01f6b4259d8b6fd7d83..299a406cb444eb3eb65543cd258a9cc6a4b12010 100755 GIT binary patch delta 52318 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 z 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 delta 52852 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

    4_9qAZN%*@?<{SQGvOhWK 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 diff --git a/codecs/jxl/enc/jxl_node_enc.js b/codecs/jxl/enc/jxl_node_enc.js index 441941af5..6cc21f68d 100644 --- a/codecs/jxl/enc/jxl_node_enc.js +++ b/codecs/jxl/enc/jxl_node_enc.js @@ -6,7 +6,7 @@ var Module = (function() { function(Module) { Module = Module || {}; -var Module=typeof Module!=="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=true;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readBinary;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=new TextDecoder("utf8");function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heap.subarray?heap.subarray(idx,endPtr):new Uint8Array(heap.slice(idx,endPtr)))}function UTF8ToString(ptr,maxBytesToRead){if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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 len+=4}return len}var UTF16Decoder=new TextDecoder("utf-16le");function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=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 initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}if(Module["locateFile"]){var wasmBinaryFile="jxl_node_enc.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("jxl_node_enc.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["J"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Q"];addOnInit(Module["asm"]["K"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function _atexit(func,arg){}function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=prev-1;return prev===1}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i>> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 0}function _fd_read(fd,iov,iovcnt,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.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){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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.includes(rule)){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}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _system(command){if(ENVIRONMENT_IS_NODE){if(!command)return 1;var cmdstr=UTF8ToString(command);if(!cmdstr.length)return 0;var cp=require("child_process");var ret=cp.spawnSync(cmdstr,[],{shell:true,stdio:"inherit"});var _W_EXITCODE=function(ret,sig){return ret<<8|sig};if(ret.status===null){var signalToNumber=function(sig){switch(sig){case"SIGHUP":return 1;case"SIGINT":return 2;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15}return 2};return _W_EXITCODE(0,signalToNumber(ret.signal))}return _W_EXITCODE(ret.status,0)}if(!command)return 0;setErrNo(52);return-1}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");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}var asmLibraryArg={"u":___cxa_allocate_exception,"I":___cxa_thread_atexit,"p":___cxa_throw,"h":___sys_fcntl64,"A":___sys_ioctl,"B":___sys_open,"m":__embind_finalize_value_object,"r":__embind_register_bigint,"D":__embind_register_bool,"C":__embind_register_emval,"j":__embind_register_float,"l":__embind_register_function,"c":__embind_register_integer,"b":__embind_register_memory_view,"k":__embind_register_std_string,"g":__embind_register_std_wstring,"n":__embind_register_value_object,"d":__embind_register_value_object_field,"E":__embind_register_void,"e":__emval_decref,"H":__emval_get_global,"G":__emval_incref,"o":__emval_new,"a":_abort,"t":_emscripten_memcpy_big,"f":_emscripten_resize_heap,"w":_environ_get,"x":_environ_sizes_get,"i":_fd_close,"z":_fd_read,"q":_fd_seek,"y":_fd_write,"s":_setTempRet0,"v":_strftime_l,"F":_system};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["K"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["L"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["M"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["N"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["O"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["P"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["R"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["S"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["T"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["U"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["V"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["W"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof Module!=="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=true;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readBinary;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=new TextDecoder("utf8");function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;return UTF8Decoder.decode(heap.subarray?heap.subarray(idx,endPtr):new Uint8Array(heap.slice(idx,endPtr)))}function UTF8ToString(ptr,maxBytesToRead){if(!ptr)return"";var maxPtr=ptr+maxBytesToRead;for(var end=ptr;!(end>=maxPtr)&&HEAPU8[end];)++end;return UTF8Decoder.decode(HEAPU8.subarray(ptr,end))}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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 len+=4}return len}var UTF16Decoder=new TextDecoder("utf-16le");function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=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 initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}if(Module["locateFile"]){var wasmBinaryFile="jxl_node_enc.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("jxl_node_enc.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["J"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Q"];addOnInit(Module["asm"]["K"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){wasmTable.get(func)()}else{wasmTable.get(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function _atexit(func,arg){}function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=prev-1;return prev===1}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var SYSCALLS={mappings:{},buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},get64:function(low,high){return low}};function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return wasmTable.get(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i>> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 0}function _fd_read(fd,iov,iovcnt,pnum){var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.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){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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.includes(rule)){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}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _system(command){if(ENVIRONMENT_IS_NODE){if(!command)return 1;var cmdstr=UTF8ToString(command);if(!cmdstr.length)return 0;var cp=require("child_process");var ret=cp.spawnSync(cmdstr,[],{shell:true,stdio:"inherit"});var _W_EXITCODE=function(ret,sig){return ret<<8|sig};if(ret.status===null){var signalToNumber=function(sig){switch(sig){case"SIGHUP":return 1;case"SIGINT":return 2;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15}return 2};return _W_EXITCODE(0,signalToNumber(ret.signal))}return _W_EXITCODE(ret.status,0)}if(!command)return 0;setErrNo(52);return-1}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");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}var asmLibraryArg={"u":___cxa_allocate_exception,"I":___cxa_thread_atexit,"p":___cxa_throw,"i":___sys_fcntl64,"z":___sys_ioctl,"A":___sys_open,"m":__embind_finalize_value_object,"r":__embind_register_bigint,"D":__embind_register_bool,"C":__embind_register_emval,"j":__embind_register_float,"l":__embind_register_function,"c":__embind_register_integer,"b":__embind_register_memory_view,"k":__embind_register_std_string,"g":__embind_register_std_wstring,"n":__embind_register_value_object,"d":__embind_register_value_object_field,"E":__embind_register_void,"e":__emval_decref,"H":__emval_get_global,"G":__emval_incref,"o":__emval_new,"a":_abort,"t":_emscripten_memcpy_big,"f":_emscripten_resize_heap,"w":_environ_get,"x":_environ_sizes_get,"h":_fd_close,"y":_fd_read,"q":_fd_seek,"B":_fd_write,"s":_setTempRet0,"v":_strftime_l,"F":_system};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["K"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["L"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["M"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["N"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["O"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["P"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["R"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["S"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["T"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["U"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["V"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["W"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); return Module.ready diff --git a/codecs/jxl/enc/jxl_node_enc.wasm b/codecs/jxl/enc/jxl_node_enc.wasm index 11c187fdf9b6b166e7fbcc3975c9836962ed6687..32c6768683e2e3bdf88443d44c31812d2e96889a 100755 GIT binary patch delta 48860 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 b%bYdcet~Av%-@hfbUB_inmy%6uB-e%d1LxS delta 49037 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 From 3716f7fb07dfedf69d7b9be0f3c7b160aea14985 Mon Sep 17 00:00:00 2001 From: Daniel Holth Date: Mon, 17 Jul 2023 11:15:53 -0400 Subject: [PATCH 3/5] simple progressive-amount input --- src/client/lazy-app/Compress/Output/index.tsx | 32 ++++++++++++++++++- src/client/lazy-app/Compress/index.tsx | 1 + src/features/decoders/jxl/worker/jxlDecode.ts | 2 +- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/client/lazy-app/Compress/Output/index.tsx b/src/client/lazy-app/Compress/Output/index.tsx index 511ecfeae..3c2088f41 100644 --- a/src/client/lazy-app/Compress/Output/index.tsx +++ b/src/client/lazy-app/Compress/Output/index.tsx @@ -37,6 +37,7 @@ interface State { editingScale: boolean; altBackground: boolean; aliasing: boolean; + progressive: number; } const scaleToOpts: ScaleToOpts = { @@ -52,6 +53,7 @@ export default class Output extends Component { editingScale: false, altBackground: false, aliasing: false, + progressive: 1, }; canvasLeft?: HTMLCanvasElement; canvasRight?: HTMLCanvasElement; @@ -208,6 +210,18 @@ export default class Output extends Component { this.pinchZoomLeft.scaleTo(percent / 100, scaleToOpts); }; + private onProgressiveInputBlur = (event: Event) => { + console.log('re-render progressiveness?'); + }; + + private onProgressiveInputChanged = (event: Event) => { + const target = event.target as HTMLInputElement; + const percent = parseFloat(target.value); + if (isNaN(percent)) return; + console.log('set progressive to ' + percent / 100); + this.setState({ progressive: percent / 100 }); + }; + private onPinchZoomLeftChange = (event: Event) => { if (!this.pinchZoomRight || !this.pinchZoomLeft) { throw Error('Missing pinch-zoom element'); @@ -264,7 +278,7 @@ export default class Output extends Component { render( { mobileView, leftImgContain, rightImgContain, source }: Props, - { scale, editingScale, altBackground, aliasing }: State, + { scale, editingScale, altBackground, aliasing, progressive }: State, ) { const leftDraw = this.leftDrawable(); const rightDraw = this.rightDrawable(); @@ -394,6 +408,22 @@ export default class Output extends Component { )} + +

    ); diff --git a/src/client/lazy-app/Compress/index.tsx b/src/client/lazy-app/Compress/index.tsx index 008ff17e8..3c8fef8ee 100644 --- a/src/client/lazy-app/Compress/index.tsx +++ b/src/client/lazy-app/Compress/index.tsx @@ -106,6 +106,7 @@ async function decodeImage( return await workerBridge.webpDecode(signal, blob); } if (mimeType === 'image/jxl') { + console.log('decode jxl'); return await workerBridge.jxlDecode(signal, blob); } if (mimeType === 'image/webp2') { diff --git a/src/features/decoders/jxl/worker/jxlDecode.ts b/src/features/decoders/jxl/worker/jxlDecode.ts index 193fc1370..6a8f96e7c 100644 --- a/src/features/decoders/jxl/worker/jxlDecode.ts +++ b/src/features/decoders/jxl/worker/jxlDecode.ts @@ -22,7 +22,7 @@ export default async function decode(blob: Blob): Promise { const [module, data] = await Promise.all([ emscriptenModule, - blobToArrayBuffer(blob.slice(0, 400000)), + blobToArrayBuffer(blob), ]); const result = module.decode(data); From 40170cf61baae55872432dd9ad31070478a02d81 Mon Sep 17 00:00:00 2001 From: Daniel Holth Date: Mon, 17 Jul 2023 17:45:46 -0400 Subject: [PATCH 4/5] propagate progressiveness back to Compress --- src/client/lazy-app/Compress/Output/index.tsx | 2 ++ src/client/lazy-app/Compress/index.tsx | 34 ++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/client/lazy-app/Compress/Output/index.tsx b/src/client/lazy-app/Compress/Output/index.tsx index 3c2088f41..4dca628f3 100644 --- a/src/client/lazy-app/Compress/Output/index.tsx +++ b/src/client/lazy-app/Compress/Output/index.tsx @@ -30,6 +30,7 @@ interface Props { leftImgContain: boolean; rightImgContain: boolean; onPreprocessorChange: (newState: PreprocessorState) => void; + onProgressiveChange: (newState: number) => void; } interface State { @@ -220,6 +221,7 @@ export default class Output extends Component { if (isNaN(percent)) return; console.log('set progressive to ' + percent / 100); this.setState({ progressive: percent / 100 }); + this.props.onProgressiveChange(percent / 100); }; private onPinchZoomLeftChange = (event: Event) => { diff --git a/src/client/lazy-app/Compress/index.tsx b/src/client/lazy-app/Compress/index.tsx index 3c8fef8ee..c1c7cec1b 100644 --- a/src/client/lazy-app/Compress/index.tsx +++ b/src/client/lazy-app/Compress/index.tsx @@ -71,11 +71,14 @@ interface State { mobileView: boolean; preprocessorState: PreprocessorState; encodedPreprocessorState?: PreprocessorState; + progressivePercent?: number; + renderedPercent?: number; } interface MainJob { file: File; preprocessorState: PreprocessorState; + progressivePercent: number; } interface SideJob { @@ -534,6 +537,10 @@ export default class Compress extends Component { } }; + private onProgressiveChange = async (percent: number): Promise => { + this.setState({ progressivePercent: percent }); + }; + private onPreprocessorChange = async ( preprocessorState: PreprocessorState, ): Promise => { @@ -603,6 +610,7 @@ export default class Compress extends Component { const latestMainJobState: Partial = this.activeMainJob || { file: currentState.source && currentState.source.file, preprocessorState: currentState.encodedPreprocessorState, + progressivePercent: currentState.progressivePercent, }; const latestSideJobStates: Partial[] = currentState.sides.map( (side, i) => @@ -618,6 +626,7 @@ export default class Compress extends Component { const mainJobState: MainJob = { file: this.sourceFile, preprocessorState: currentState.preprocessorState, + progressivePercent: currentState.progressivePercent || 1.0, }; const sideJobStates: SideJob[] = currentState.sides.map((side) => ({ // If there isn't an encoder selected, we don't process either @@ -628,7 +637,19 @@ export default class Compress extends Component { })); // Figure out what needs doing: - const needsDecoding = latestMainJobState.file != mainJobState.file; + const needsDecoding = + latestMainJobState.file != mainJobState.file || + latestMainJobState.progressivePercent != currentState.renderedPercent; + console.log( + 'needs decoding? ' + + needsDecoding + + ' ' + + latestMainJobState.progressivePercent + + ' ' + + mainJobState.progressivePercent + + ' ' + + currentState.renderedPercent, + ); const needsPreprocessing = needsDecoding || latestMainJobState.preprocessorState !== mainJobState.preprocessorState; @@ -693,6 +714,16 @@ export default class Compress extends Component { vectorImage = await processSvg(mainSignal, mainJobState.file); decoded = drawableToImageData(vectorImage); } else { + let slice = mainJobState.progressivePercent + ? Math.ceil( + mainJobState.file.size * mainJobState.progressivePercent, + ) + : mainJobState.file.size; + + this.setState({ renderedPercent: mainJobState.progressivePercent }); + + console.log(`Decode ${mainJobState.file.name}`); + decoded = await decodeImage( mainSignal, mainJobState.file, @@ -978,6 +1009,7 @@ export default class Compress extends Component { rightImgContain={rightImgContain} preprocessorState={preprocessorState} onPreprocessorChange={this.onPreprocessorChange} + onProgressiveChange={this.onProgressiveChange} />