From a0f9fea679a492cbab72442e551ac405a4f7d91b Mon Sep 17 00:00:00 2001 From: Surma Date: Wed, 7 Aug 2024 16:05:03 +0100 Subject: [PATCH] Make webp compile --- codecs/webp/Makefile | 53 +- codecs/webp/dec/webp_dec.cpp | 4 +- codecs/webp/dec/webp_dec.js | 16 - codecs/webp/dec/webp_dec.wasm | Bin 148687 -> 0 bytes codecs/webp/dec/webp_node_dec.js | 16 - codecs/webp/dec/webp_node_dec.wasm | Bin 148687 -> 0 bytes codecs/webp/enc/webp_enc.cpp | 2 +- codecs/webp/enc/webp_enc.js | 16 - codecs/webp/enc/webp_enc.wasm | Bin 298327 -> 0 bytes codecs/webp/enc/webp_enc_simd.js | 16 - codecs/webp/enc/webp_enc_simd.wasm | Bin 371597 -> 0 bytes codecs/webp/enc/webp_node_enc.js | 16 - codecs/webp/enc/webp_node_enc.wasm | Bin 298327 -> 0 bytes codecs/webp/flake.lock | 79 + codecs/webp/flake.nix | 107 + codecs/webp/wasm_build/dec/README.md | 18 + codecs/webp/wasm_build/dec/example.html | 20 + codecs/webp/wasm_build/dec/webp_dec.cpp | 29 + codecs/webp/wasm_build/dec/webp_dec.d.ts | 7 + codecs/webp/wasm_build/dec/webp_dec.js | 2997 ++++++++++++++++ codecs/webp/wasm_build/dec/webp_dec.wasm | Bin 0 -> 161723 bytes codecs/webp/wasm_build/enc/README.md | 22 + codecs/webp/wasm_build/enc/example.html | 58 + codecs/webp/wasm_build/enc/webp_enc.cpp | 85 + codecs/webp/wasm_build/enc/webp_enc.d.ts | 42 + codecs/webp/wasm_build/enc/webp_enc.js | 3173 +++++++++++++++++ codecs/webp/wasm_build/enc/webp_enc.wasm | Bin 0 -> 309467 bytes codecs/webp/wasm_build/enc/webp_enc_simd.d.ts | 1 + 28 files changed, 6651 insertions(+), 126 deletions(-) delete mode 100644 codecs/webp/dec/webp_dec.js delete mode 100755 codecs/webp/dec/webp_dec.wasm delete mode 100644 codecs/webp/dec/webp_node_dec.js delete mode 100755 codecs/webp/dec/webp_node_dec.wasm delete mode 100644 codecs/webp/enc/webp_enc.js delete mode 100755 codecs/webp/enc/webp_enc.wasm delete mode 100644 codecs/webp/enc/webp_enc_simd.js delete mode 100755 codecs/webp/enc/webp_enc_simd.wasm delete mode 100644 codecs/webp/enc/webp_node_enc.js delete mode 100755 codecs/webp/enc/webp_node_enc.wasm create mode 100644 codecs/webp/flake.lock create mode 100644 codecs/webp/flake.nix create mode 100644 codecs/webp/wasm_build/dec/README.md create mode 100644 codecs/webp/wasm_build/dec/example.html create mode 100644 codecs/webp/wasm_build/dec/webp_dec.cpp create mode 100644 codecs/webp/wasm_build/dec/webp_dec.d.ts create mode 100644 codecs/webp/wasm_build/dec/webp_dec.js create mode 100755 codecs/webp/wasm_build/dec/webp_dec.wasm create mode 100644 codecs/webp/wasm_build/enc/README.md create mode 100644 codecs/webp/wasm_build/enc/example.html create mode 100644 codecs/webp/wasm_build/enc/webp_enc.cpp create mode 100644 codecs/webp/wasm_build/enc/webp_enc.d.ts create mode 100644 codecs/webp/wasm_build/enc/webp_enc.js create mode 100755 codecs/webp/wasm_build/enc/webp_enc.wasm create mode 100644 codecs/webp/wasm_build/enc/webp_enc_simd.d.ts diff --git a/codecs/webp/Makefile b/codecs/webp/Makefile index 29eba9ac..17ea9d7e 100644 --- a/codecs/webp/Makefile +++ b/codecs/webp/Makefile @@ -1,11 +1,7 @@ -CODEC_URL = https://github.com/webmproject/libwebp/archive/d2e245ea9e959a5a79e1db0ed2085206947e98f2.tar.gz -CODEC_DIR = node_modules/libwebp -CODEC_BUILD_ROOT := $(CODEC_DIR)/build -CODEC_BASELINE_BUILD_DIR := $(CODEC_BUILD_ROOT)/baseline -CODEC_SIMD_BUILD_DIR := $(CODEC_BUILD_ROOT)/simd ENVIRONMENT = worker -OUT_JS = enc/webp_enc.js enc/webp_enc_simd.js dec/webp_dec.js enc/webp_node_enc.js dec/webp_node_dec.js +# OUT_JS = enc/webp_enc.js enc/webp_enc_simd.js dec/webp_dec.js +OUT_JS = enc/webp_enc.js dec/webp_dec.js OUT_WASM := $(OUT_JS:.js=.wasm) .PHONY: all clean @@ -15,54 +11,25 @@ all: $(OUT_JS) # Define dependencies for all variations of build artifacts. $(filter enc/%,$(OUT_JS)): enc/webp_enc.o $(filter dec/%,$(OUT_JS)): dec/webp_dec.o -enc/webp_node_enc.js dec/webp_node_dec.js: ENVIRONMENT = node -enc/webp_node_enc.js dec/webp_node_dec.js: $(CODEC_BASELINE_BUILD_DIR)/libwebp.a -enc/webp_enc.js dec/webp_dec.js: $(CODEC_BASELINE_BUILD_DIR)/libwebp.a -enc/webp_enc_simd.js: $(CODEC_SIMD_BUILD_DIR)/libwebp.a +# enc/webp_enc.js dec/webp_dec.js: $(CODEC_BASELINE_BUILD_DIR)/libwebp.a +# enc/webp_enc_simd.js: $(CODEC_SIMD_BUILD_DIR)/libwebp.a + +LIBWEBP_FLAGS = -I${WEBP}/include -L${WEBP}/lib -lwebp $(OUT_JS): $(LD) \ + $(LIBWEBP_FLAGS) \ $(LDFLAGS) \ - --bind \ + -lembind \ -s ENVIRONMENT=$(ENVIRONMENT) \ -s EXPORT_ES6=1 \ -o $@ \ $+ -%.o: %.cpp $(CODEC_DIR)/CMakeLists.txt +%.o: %.cpp $(CXX) -c \ + $(LIBWEBP_FLAGS) \ $(CXXFLAGS) \ - -I $(CODEC_DIR) \ -o $@ \ $< -%/libwebp.a: %/Makefile - $(MAKE) -C $(@D) - -# Enable SIMD on a SIMD build. -$(CODEC_SIMD_BUILD_DIR)/Makefile: CMAKE_FLAGS+=-DWEBP_ENABLE_SIMD=1 - -%/Makefile: $(CODEC_DIR)/CMakeLists.txt - emcmake cmake \ - $(CMAKE_FLAGS) \ - -DCMAKE_DISABLE_FIND_PACKAGE_Threads=1 \ - -DWEBP_BUILD_ANIM_UTILS=0 \ - -DWEBP_BUILD_CWEBP=0 \ - -DWEBP_BUILD_DWEBP=0 \ - -DWEBP_BUILD_GIF2WEBP=0 \ - -DWEBP_BUILD_IMG2WEBP=0 \ - -DWEBP_BUILD_VWEBP=0 \ - -DWEBP_BUILD_WEBPINFO=0 \ - -DWEBP_BUILD_WEBPMUX=0 \ - -DWEBP_BUILD_EXTRAS=0 \ - -B $(@D) \ - $( #include "emscripten/bind.h" #include "emscripten/val.h" -#include "src/webp/decode.h" -#include "src/webp/demux.h" +#include "webp/decode.h" +#include "webp/demux.h" using namespace emscripten; diff --git a/codecs/webp/dec/webp_dec.js b/codecs/webp/dec/webp_dec.js deleted file mode 100644 index a73571bc..00000000 --- a/codecs/webp/dec/webp_dec.js +++ /dev/null @@ -1,16 +0,0 @@ - -var Module = (function() { - var _scriptDir = import.meta.url; - - return ( -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=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 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 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 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="webp_dec.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("webp_dec.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"]["s"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["y"];addOnInit(Module["asm"]["t"]);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)}}}function _atexit(func,arg){}function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}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 BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}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])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>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 runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}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_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}embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var asmLibraryArg={"e":___cxa_thread_atexit,"p":__embind_register_bigint,"n":__embind_register_bool,"r":__embind_register_emval,"m":__embind_register_float,"i":__embind_register_function,"b":__embind_register_integer,"a":__embind_register_memory_view,"h":__embind_register_std_string,"f":__embind_register_std_wstring,"o":__embind_register_void,"c":__emval_decref,"d":__emval_get_global,"j":__emval_incref,"k":__emval_new,"l":_abort,"q":_emscripten_memcpy_big,"g":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["t"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["u"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["v"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["w"]).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"]["x"]).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 -} -); -})(); -export default Module; \ No newline at end of file diff --git a/codecs/webp/dec/webp_dec.wasm b/codecs/webp/dec/webp_dec.wasm deleted file mode 100755 index 5df324336ca62f037535b968bd42f1d00d047470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148687 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

D_d5LgrI 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 U@&F(Z5CRAXL;|7#-S#2>0dodkk^lez diff --git a/codecs/webp/dec/webp_node_dec.js b/codecs/webp/dec/webp_node_dec.js deleted file mode 100644 index 1bdf0883..00000000 --- a/codecs/webp/dec/webp_node_dec.js +++ /dev/null @@ -1,16 +0,0 @@ - -var Module = (function() { - var _scriptDir = import.meta.url; - - return ( -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 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 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 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="webp_node_dec.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("webp_node_dec.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"]["s"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["y"];addOnInit(Module["asm"]["t"]);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)}}}function _atexit(func,arg){}function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}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 BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}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])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>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 runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}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_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}embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var asmLibraryArg={"e":___cxa_thread_atexit,"p":__embind_register_bigint,"n":__embind_register_bool,"r":__embind_register_emval,"m":__embind_register_float,"i":__embind_register_function,"b":__embind_register_integer,"a":__embind_register_memory_view,"h":__embind_register_std_string,"f":__embind_register_std_wstring,"o":__embind_register_void,"c":__emval_decref,"d":__emval_get_global,"j":__emval_incref,"k":__emval_new,"l":_abort,"q":_emscripten_memcpy_big,"g":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["t"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["u"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["v"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["w"]).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"]["x"]).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 -} -); -})(); -export default Module; \ No newline at end of file diff --git a/codecs/webp/dec/webp_node_dec.wasm b/codecs/webp/dec/webp_node_dec.wasm deleted file mode 100755 index 5df324336ca62f037535b968bd42f1d00d047470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148687 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

D_d5LgrI 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 U@&F(Z5CRAXL;|7#-S#2>0dodkk^lez diff --git a/codecs/webp/enc/webp_enc.cpp b/codecs/webp/enc/webp_enc.cpp index d64ea415..dccd213e 100644 --- a/codecs/webp/enc/webp_enc.cpp +++ b/codecs/webp/enc/webp_enc.cpp @@ -3,7 +3,7 @@ #include #include #include -#include "src/webp/encode.h" +#include "webp/encode.h" using namespace emscripten; diff --git a/codecs/webp/enc/webp_enc.js b/codecs/webp/enc/webp_enc.js deleted file mode 100644 index efaada66..00000000 --- a/codecs/webp/enc/webp_enc.js +++ /dev/null @@ -1,16 +0,0 @@ - -var Module = (function() { - var _scriptDir = import.meta.url; - - return ( -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=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 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 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 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="webp_enc.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("webp_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"]["x"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["D"];addOnInit(Module["asm"]["y"]);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)}}}function _atexit(func,arg){}function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}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>1])};case 2:return function(pointer){var heap=signed?HEAP32:HEAPU32;return this["fromWireType"](heap[pointer>>2])};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function(c){return this.constructor.values[c]},"toWireType":function(destructors,c){return c.value},"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)}function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(enumType.name+"_"+name,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>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 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}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var asmLibraryArg={"w":___cxa_thread_atexit,"l":__embind_finalize_value_object,"p":__embind_register_bigint,"s":__embind_register_bool,"r":__embind_register_emval,"n":__embind_register_enum,"d":__embind_register_enum_value,"j":__embind_register_float,"h":__embind_register_function,"c":__embind_register_integer,"b":__embind_register_memory_view,"k":__embind_register_std_string,"g":__embind_register_std_wstring,"m":__embind_register_value_object,"a":__embind_register_value_object_field,"t":__embind_register_void,"f":__emval_decref,"v":__emval_get_global,"u":__emval_incref,"o":__emval_new,"i":_abort,"q":_emscripten_memcpy_big,"e":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["y"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["z"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["A"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["B"]).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"]["C"]).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 -} -); -})(); -export default Module; \ No newline at end of file diff --git a/codecs/webp/enc/webp_enc.wasm b/codecs/webp/enc/webp_enc.wasm deleted file mode 100755 index 7621054164f6f08d2ae43f4e15510fb70b6a2d39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298327 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 RH%J9(;4nB2N{wvve*k60n?V2o diff --git a/codecs/webp/enc/webp_enc_simd.js b/codecs/webp/enc/webp_enc_simd.js deleted file mode 100644 index ceb38798..00000000 --- a/codecs/webp/enc/webp_enc_simd.js +++ /dev/null @@ -1,16 +0,0 @@ - -var Module = (function() { - var _scriptDir = import.meta.url; - - return ( -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=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 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 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="webp_enc_simd.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("webp_enc_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;wasmMemory=Module["asm"]["y"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["E"];addOnInit(Module["asm"]["z"]);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)}}}function _atexit(func,arg){}function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}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>1])};case 2:return function(pointer){var heap=signed?HEAP32:HEAPU32;return this["fromWireType"](heap[pointer>>2])};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function(c){return this.constructor.values[c]},"toWireType":function(destructors,c){return c.value},"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)}function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(enumType.name+"_"+name,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>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 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}function _setTempRet0(val){setTempRet0(val)}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var asmLibraryArg={"x":___cxa_thread_atexit,"l":__embind_finalize_value_object,"p":__embind_register_bigint,"t":__embind_register_bool,"s":__embind_register_emval,"n":__embind_register_enum,"d":__embind_register_enum_value,"j":__embind_register_float,"h":__embind_register_function,"c":__embind_register_integer,"b":__embind_register_memory_view,"k":__embind_register_std_string,"g":__embind_register_std_wstring,"m":__embind_register_value_object,"a":__embind_register_value_object_field,"u":__embind_register_void,"f":__emval_decref,"w":__emval_get_global,"v":__emval_incref,"o":__emval_new,"i":_abort,"r":_emscripten_memcpy_big,"e":_emscripten_resize_heap,"q":_setTempRet0};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["z"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["A"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["B"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["C"]).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"]["D"]).apply(null,arguments)};var dynCall_jiiii=Module["dynCall_jiiii"]=function(){return(dynCall_jiiii=Module["dynCall_jiiii"]=Module["asm"]["F"]).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 -} -); -})(); -export default Module; \ No newline at end of file diff --git a/codecs/webp/enc/webp_enc_simd.wasm b/codecs/webp/enc/webp_enc_simd.wasm deleted file mode 100755 index c38cac9f5fdf85a01215b04a938013ac652c08d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 371597 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

#EcCLUh*X`Sumr5u?W6JyZ31nu z`S2mSiaOB{c_C+K+;fvX+&>FXS0s)r@oPn*-Fbq!h%{6JeA`QxDTnf!JM!gcklNW- zivsjS3mCVGU;_nSz9@$epWstVTEv${e0&xt7)w5~7AmXhdNxim%w0iK4WQGN5X{kh z$7GJ0NiPA81!uGqzm9smUmLJf7Tm{RZ}CaG$S;now@CKE?+_dcJaC%AOFZM$~^w)F$W zbIabK^j`3H{GV{U8+YyDTqGK z7@*i?8ClJxx~px4>xrrSU(z8+y@yX%Oc{Q-DOi02+GE$?)AwvZyx^(3Z7Rk{BuM&ImvO6JL&T@Ql?a>I(@!=2rR92x4#+1^c-5EuePURQJ^ZT zh@Q}!7`jxCbhiWYiVm(+8QTVBCBTe{jp$r2G8_qfLU!g1n8G-<(yfWqsTlpE2=Pdn z!mAGF6m9WVGCn{$?26osgi#m!h!7QBL_kj;I zxu@L+s#pSk9Spe*j?>;_Um4!w)e#d?b-8CF90vnYmGfJVRCQ+FIJX2BB#}z?RXcYh z{Q~+yQm&ozT`d=U%7|UZGy|+7JQ7^$&-2lbkb+L+EHF;q>*lbABBjc#8)3Of6Q7!yAYxYX-8?Coe_<5L0PGBvl!SXmBMHO=iF<3S`&@w z>ZS=44X+Jfbmj|73*Hc?R5l4Q@?9=E_kSl^gfg+6d=PMK)1*Kn!xS^wLQ_>E9O-be zYcYa0V=6CV8$gJ;EN+LGt_c(VQyw;)+9wzvkS|0iBod@@o1kzMX0A4U8W2c?S*uuN z(^N8jkwD`RqUExp%pgjH^7&?i@l-2TOGk@0g1fkY^$zx6L@IKmTdmejp3NcDABV%P z>=OWtA-0bn!F24Hx*6N`1!(E*^4m<|q^Ro2kCKUAO6t~Ibaz6Kj!D6&S)nE`=aVj6 zCT^>vO&J^o#q0zCbAfW)XlyW&r+qhx@}NOXBxo+Q?T%()OM(V!61-407OgH zWn+*-AcSx@p5>1HD0T9X8O(;V^?|D0_aprOAo-%~Jb?aQh2%G)PfKyN%Sprujctlf z4x!Oa(J3L+*5xMlwzVlbErgnzqVEVHJ^=BZA=KCuy�RKj!oh;;#NPLWs}ap>|Lk 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 O3Ze_^+BBcl}7fRaCDF)L1 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ⅆ(q6S$R3tw{@=GMY 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 OwVL|5 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 Lx&vff;Q#*sh<|3m diff --git a/codecs/webp/enc/webp_node_enc.js b/codecs/webp/enc/webp_node_enc.js deleted file mode 100644 index 4351884e..00000000 --- a/codecs/webp/enc/webp_node_enc.js +++ /dev/null @@ -1,16 +0,0 @@ - -var Module = (function() { - var _scriptDir = import.meta.url; - - return ( -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 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 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 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="webp_node_enc.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{var wasmBinaryFile=new URL("webp_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"]["x"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["D"];addOnInit(Module["asm"]["y"]);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)}}}function _atexit(func,arg){}function ___cxa_thread_atexit(a0,a1){return _atexit(a0,a1)}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>1])};case 2:return function(pointer){var heap=signed?HEAP32:HEAPU32;return this["fromWireType"](heap[pointer>>2])};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_enum(rawType,name,size,isSigned){var shift=getShiftFromSize(size);name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function(c){return this.constructor.values[c]},"toWireType":function(destructors,c){return c.value},"argPackAdvance":8,"readValueFromPointer":enumReadValueFromPointer(name,shift,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)}function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __embind_register_enum_value(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(enumType.name+"_"+name,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>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 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}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var asmLibraryArg={"w":___cxa_thread_atexit,"l":__embind_finalize_value_object,"p":__embind_register_bigint,"s":__embind_register_bool,"r":__embind_register_emval,"n":__embind_register_enum,"d":__embind_register_enum_value,"j":__embind_register_float,"h":__embind_register_function,"c":__embind_register_integer,"b":__embind_register_memory_view,"k":__embind_register_std_string,"g":__embind_register_std_wstring,"m":__embind_register_value_object,"a":__embind_register_value_object_field,"t":__embind_register_void,"f":__emval_decref,"v":__emval_get_global,"u":__emval_incref,"o":__emval_new,"i":_abort,"q":_emscripten_memcpy_big,"e":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["y"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["z"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["A"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["B"]).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"]["C"]).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 -} -); -})(); -export default Module; \ No newline at end of file diff --git a/codecs/webp/enc/webp_node_enc.wasm b/codecs/webp/enc/webp_node_enc.wasm deleted file mode 100755 index 7621054164f6f08d2ae43f4e15510fb70b6a2d39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298327 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 RH%J9(;4nB2N{wvve*k60n?V2o diff --git a/codecs/webp/flake.lock b/codecs/webp/flake.lock new file mode 100644 index 00000000..7da745ad --- /dev/null +++ b/codecs/webp/flake.lock @@ -0,0 +1,79 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1717179513, + "narHash": "sha256-vboIEwIQojofItm2xGCdZCzW96U85l9nDW3ifMuAIdM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "63dacb46bf939521bdc93981b4cbb7ecb58427a0", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "webp-src": "webp-src" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "webp-src": { + "flake": false, + "locked": { + "lastModified": 1606186400, + "narHash": "sha256-Emwd2wFbBONurMXSp8iwtwnSHgw4vcqBpuG0gyhZjFA=", + "owner": "webmproject", + "repo": "libwebp", + "rev": "d2e245ea9e959a5a79e1db0ed2085206947e98f2", + "type": "github" + }, + "original": { + "owner": "webmproject", + "repo": "libwebp", + "rev": "d2e245ea9e959a5a79e1db0ed2085206947e98f2", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/codecs/webp/flake.nix b/codecs/webp/flake.nix new file mode 100644 index 00000000..1083c088 --- /dev/null +++ b/codecs/webp/flake.nix @@ -0,0 +1,107 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/24.05"; + flake-utils.url = "github:numtide/flake-utils"; + webp-src = { + url = "github:webmproject/libwebp/d2e245ea9e959a5a79e1db0ed2085206947e98f2"; + flake = false; + }; + }; + outputs = + { + self, + nixpkgs, + flake-utils, + webp-src, + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + with pkgs; + rec { + packages = rec { + default = webp-squoosh; + webp-squoosh = stdenv.mkDerivation { + name = "mozjpeg-squoosh"; + # Only copy files that are actually relevant to avoid unnecessary + # cache invalidations. + src = runCommand "src" { } '' + mkdir $out + cp -r ${./.}/enc $out/ + cp -r ${./.}/dec $out/ + cp ${./.}/Makefile $out/ + ''; + nativeBuildInputs = [ + emscripten + webp + ]; + WEBP = webp; + dontConfigure = true; + buildPhase = '' + export HOME=$TMPDIR + emmake make -j$(nproc) + ''; + installPhase = '' + mkdir -p $out + cp -r enc dec $out + ''; + }; + webp = stdenv.mkDerivation { + name = "webp"; + src = webp-src; + nativeBuildInputs = [ + # autoconf + # automake + # libtool + emscripten + # pkg-config + cmake + ]; + configurePhase = '' + # $HOME is required for Emscripten to work. + # See: https://nixos.org/manual/nixpkgs/stable/#emscripten + export HOME=$TMPDIR + mkdir -p $TMPDIR/build + emcmake cmake \ + -DCMAKE_INSTALL_PREFIX=$out \ + -DCMAKE_DISABLE_FIND_PACKAGE_Threads=1 \ + -DWEBP_BUILD_ANIM_UTILS=0 \ + -DWEBP_BUILD_CWEBP=0 \ + -DWEBP_BUILD_DWEBP=0 \ + -DWEBP_BUILD_GIF2WEBP=0 \ + -DWEBP_BUILD_IMG2WEBP=0 \ + -DWEBP_BUILD_VWEBP=0 \ + -DWEBP_BUILD_WEBPINFO=0 \ + -DWEBP_BUILD_WEBPMUX=0 \ + -DWEBP_BUILD_EXTRAS=0 \ + -B $TMPDIR/build \ + . + ''; + buildPhase = '' + export HOME=$TMPDIR + cd $TMPDIR/build + emmake make V=1 -j$(nproc) --trace + ''; + installPhase = '' + cd $TMPDIR/build + make install + ''; + dontFixup = true; + }; + installScript = writeShellScriptBin "install.sh" '' + ${pkgs.coreutils}/bin/rm -rf wasm_build + ${pkgs.coreutils}/bin/mkdir -p wasm_build + ${pkgs.rsync}/bin/rsync --chmod=u+w -r ${webp-squoosh}/* wasm_build/ + ''; + }; + apps = { + install = { + type = "app"; + program = "${packages.installScript}/bin/install.sh"; + }; + }; + } + ); +} diff --git a/codecs/webp/wasm_build/dec/README.md b/codecs/webp/wasm_build/dec/README.md new file mode 100644 index 00000000..00234833 --- /dev/null +++ b/codecs/webp/wasm_build/dec/README.md @@ -0,0 +1,18 @@ +# WebP decoder + +- Source: +- Version: v1.0.2 + +## Example + +See `example.html` + +## API + +### `int version()` + +Returns the version of libwebp as a number. va.b.c is encoded as 0x0a0b0c + +### `RawImage decode(std::string buffer)` + +Decodes the given webp buffer into raw RGBA. `RawImage` is a class with 3 fields: `buffer`, `width`, and `height`. diff --git a/codecs/webp/wasm_build/dec/example.html b/codecs/webp/wasm_build/dec/example.html new file mode 100644 index 00000000..64eb175f --- /dev/null +++ b/codecs/webp/wasm_build/dec/example.html @@ -0,0 +1,20 @@ + + + diff --git a/codecs/webp/wasm_build/dec/webp_dec.cpp b/codecs/webp/wasm_build/dec/webp_dec.cpp new file mode 100644 index 00000000..d1731a72 --- /dev/null +++ b/codecs/webp/wasm_build/dec/webp_dec.cpp @@ -0,0 +1,29 @@ +#include +#include "emscripten/bind.h" +#include "emscripten/val.h" +#include "webp/decode.h" +#include "webp/demux.h" + +using namespace emscripten; + +int version() { + return WebPGetDecoderVersion(); +} + +thread_local const val Uint8ClampedArray = val::global("Uint8ClampedArray"); +thread_local const val ImageData = val::global("ImageData"); + +val decode(std::string buffer) { + int width, height; + std::unique_ptr rgba( + WebPDecodeRGBA((const uint8_t*)buffer.c_str(), buffer.size(), &width, &height)); + return rgba ? ImageData.new_( + Uint8ClampedArray.new_(typed_memory_view(width * height * 4, rgba.get())), + width, height) + : val::null(); +} + +EMSCRIPTEN_BINDINGS(my_module) { + function("decode", &decode); + function("version", &version); +} diff --git a/codecs/webp/wasm_build/dec/webp_dec.d.ts b/codecs/webp/wasm_build/dec/webp_dec.d.ts new file mode 100644 index 00000000..ff6a5974 --- /dev/null +++ b/codecs/webp/wasm_build/dec/webp_dec.d.ts @@ -0,0 +1,7 @@ +export interface WebPModule extends EmscriptenWasm.Module { + decode(data: BufferSource): ImageData | null; +} + +declare var moduleFactory: EmscriptenWasm.ModuleFactory; + +export default moduleFactory; diff --git a/codecs/webp/wasm_build/dec/webp_dec.js b/codecs/webp/wasm_build/dec/webp_dec.js new file mode 100644 index 00000000..894b02a1 --- /dev/null +++ b/codecs/webp/wasm_build/dec/webp_dec.js @@ -0,0 +1,2997 @@ + +var Module = (() => { + var _scriptDir = import.meta.url; + + return ( +function(moduleArg = {}) { + +// include: shell.js +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = moduleArg; + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise((resolve, reject) => { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); +["_main","_memory","___indirect_function_table","_fflush","onRuntimeInitialized"].forEach((prop) => { + if (!Object.getOwnPropertyDescriptor(Module['ready'], prop)) { + Object.defineProperty(Module['ready'], prop, { + get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + set: () => abort('You are setting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + }); + } +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) + + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = true; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +if (Module['ENVIRONMENT']) { + throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); +} + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary; + +if (ENVIRONMENT_IS_SHELL) { + + if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof importScripts == 'function') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + if (typeof read != 'undefined') { + read_ = read; + } + + readBinary = (f) => { + if (typeof readbuffer == 'function') { + return new Uint8Array(readbuffer(f)); + } + let data = read(f, 'binary'); + assert(typeof data == 'object'); + return data; + }; + + readAsync = (f, onload, onerror) => { + setTimeout(() => onload(readBinary(f))); + }; + + if (typeof clearTimeout == 'undefined') { + globalThis.clearTimeout = (id) => {}; + } + + if (typeof setTimeout == 'undefined') { + // spidermonkey lacks setTimeout but we use it above in readAsync. + globalThis.setTimeout = (f) => (typeof f == 'function') ? f() : abort(); + } + + if (typeof scriptArgs != 'undefined') { + arguments_ = scriptArgs; + } else if (typeof arguments != 'undefined') { + arguments_ = arguments; + } + + if (typeof quit == 'function') { + quit_ = (status, toThrow) => { + // Unlike node which has process.exitCode, d8 has no such mechanism. So we + // have no way to set the exit code and then let the program exit with + // that code when it naturally stops running (say, when all setTimeouts + // have completed). For that reason, we must call `quit` - the only way to + // set the exit code - but quit also halts immediately. To increase + // consistency with node (and the web) we schedule the actual quit call + // using a setTimeout to give the current stack and any exception handlers + // a chance to run. This enables features such as addOnPostRun (which + // expected to be able to run code after main returns). + setTimeout(() => { + if (!(toThrow instanceof ExitStatus)) { + let toLog = toThrow; + if (toThrow && typeof toThrow == 'object' && toThrow.stack) { + toLog = [toThrow, toThrow.stack]; + } + err(`exiting due to exception: ${toLog}`); + } + quit(status); + }); + throw toThrow; + }; + } + + if (typeof print != 'undefined') { + // Prefer to use print/printErr where they exist, as they usually work better. + if (typeof console == 'undefined') console = /** @type{!Console} */({}); + console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); + console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr != 'undefined' ? printErr : print); + } + +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != 'undefined' && document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + if (!(typeof window == 'object' || typeof importScripts == 'function')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { +// include: web_or_worker_shell_read.js +read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } + + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + }; + } + + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = () => { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + } + +// end include: web_or_worker_shell_read.js + } +} else +{ + throw new Error('environment detection error'); +} + +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.error.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; +checkIncomingModuleAPI(); + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. + +if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); + +if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); + +if (Module['quit']) quit_ = Module['quit'];legacyModuleProp('quit', 'quit_'); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['read'] == 'undefined', 'Module.read option was removed (modify read_ in JS)'); +assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); +assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); +assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); +assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); +legacyModuleProp('asm', 'wasmExports'); +legacyModuleProp('read', 'read_'); +legacyModuleProp('readAsync', 'readAsync'); +legacyModuleProp('readBinary', 'readBinary'); +legacyModuleProp('setWindowTitle', 'setWindowTitle'); +var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; +var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; +var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; +var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; +var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; +var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; +var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; + +var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; + +assert(!ENVIRONMENT_IS_WEB, "web environment detected but not enabled at build time. Add 'web' to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."); + + +// end include: shell.js +// include: preamble.js +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +var wasmBinary; +if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); + +if (typeof WebAssembly != 'object') { + abort('no native wasm support detected'); +} + +// Wasm globals + +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we +// don't define it at all in release modes. This matches the behaviour of +// MINIMAL_RUNTIME. +// TODO(sbc): Make this the default even without STRICT enabled. +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + abort('Assertion failed' + (text ? ': ' + text : '')); + } +} + +// We used to include malloc/free by default in the past. Show a helpful error in +// builds with assertions. + +// Memory management + +var HEAP, +/** @type {!Int8Array} */ + HEAP8, +/** @type {!Uint8Array} */ + HEAPU8, +/** @type {!Int16Array} */ + HEAP16, +/** @type {!Uint16Array} */ + HEAPU16, +/** @type {!Int32Array} */ + HEAP32, +/** @type {!Uint32Array} */ + HEAPU32, +/** @type {!Float32Array} */ + HEAPF32, +/** @type {!Float64Array} */ + HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module['HEAP8'] = HEAP8 = new Int8Array(b); + Module['HEAP16'] = HEAP16 = new Int16Array(b); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); + Module['HEAP32'] = HEAP32 = new Int32Array(b); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); + Module['HEAPF32'] = HEAPF32 = new Float32Array(b); + Module['HEAPF64'] = HEAPF64 = new Float64Array(b); +} + +assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') + +assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, + 'JS engine does not provide full typed array support'); + +// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY +assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); +assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); + +// include: runtime_stack_check.js +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + var max = _emscripten_stack_get_end(); + assert((max & 3) == 0); + // If the stack ends at address zero we write our cookies 4 bytes into the + // stack. This prevents interference with SAFE_HEAP and ASAN which also + // monitor writes to address zero. + if (max == 0) { + max += 4; + } + // The stack grow downwards towards _emscripten_stack_get_end. + // We write cookies to the final two words in the stack and detect if they are + // ever overwritten. + HEAPU32[((max)>>2)] = 0x02135467; + HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; + // Also test the global address 0 for integrity. + HEAPU32[((0)>>2)] = 1668509029; +} + +function checkStackCookie() { + if (ABORT) return; + var max = _emscripten_stack_get_end(); + // See writeStackCookie(). + if (max == 0) { + max += 4; + } + var cookie1 = HEAPU32[((max)>>2)]; + var cookie2 = HEAPU32[(((max)+(4))>>2)]; + if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { + abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); + } + // Also test the global address 0 for integrity. + if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { + abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); + } +} +// end include: runtime_stack_check.js +// include: runtime_assertions.js +// Endianness check +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 0x6373; + if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; +})(); + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +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() { + assert(!runtimeInitialized); + runtimeInitialized = true; + + checkStackCookie(); + + + callRuntimeCallbacks(__ATINIT__); +} + +function postRun() { + checkStackCookie(); + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +// include: runtime_math.js +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } +} + +function addRunDependency(id) { + runDependencies++; + + Module['monitorRunDependencies']?.(runDependencies); + + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval != 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(() => { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err('still waiting on run dependencies:'); + } + err(`dependency: ${dep}`); + } + if (shown) { + err('(end of list)'); + } + }, 10000); + } + } else { + err('warning: run dependency added without ID'); + } +} + +function removeRunDependency(id) { + runDependencies--; + + Module['monitorRunDependencies']?.(runDependencies); + + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +/** @param {string|number=} what */ +function abort(what) { + Module['onAbort']?.(what); + + what = 'Aborted(' + what + ')'; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + + ABORT = true; + EXITSTATUS = 1; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + + // Suppress closure compiler warning here. Closure compiler's builtin extern + // defintion for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ + var e = new WebAssembly.RuntimeError(what); + + readyPromiseReject(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// include: memoryprofiler.js +// end include: memoryprofiler.js +// show errors on likely calls to FS when it was not included +var FS = { + error() { + abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM'); + }, + init() { FS.error() }, + createDataFile() { FS.error() }, + createPreloadedFile() { FS.error() }, + createLazyFile() { FS.error() }, + open() { FS.error() }, + mkdev() { FS.error() }, + registerDevice() { FS.error() }, + analyzePath() { FS.error() }, + + ErrnoError() { FS.error() }, +}; +Module['FS_createDataFile'] = FS.createDataFile; +Module['FS_createPreloadedFile'] = FS.createPreloadedFile; + +// include: URIUtils.js +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +/** + * Indicates whether filename is a base64 data URI. + * @noinline + */ +var isDataURI = (filename) => filename.startsWith(dataURIPrefix); + +/** + * Indicates whether filename is delivered via file protocol (as opposed to http/https) + * @noinline + */ +var isFileURI = (filename) => filename.startsWith('file://'); +// end include: URIUtils.js +function createExportWrapper(name) { + return function() { + assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); + var f = wasmExports[name]; + assert(f, `exported native function \`${name}\` not found`); + return f.apply(null, arguments); + }; +} + +// include: runtime_exceptions.js +// end include: runtime_exceptions.js +var wasmBinaryFile; +if (Module['locateFile']) { + wasmBinaryFile = 'webp_dec.wasm'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } +} else { + // Use bundler-friendly `new URL(..., import.meta.url)` pattern; works in browsers too. + wasmBinaryFile = new URL('webp_dec.wasm', import.meta.url).href; +} + +function getBinarySync(file) { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; +} + +function getBinaryPromise(binaryFile) { + // If we don't have the binary yet, try to load it asynchronously. + // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. + // See https://github.com/github/fetch/pull/92#issuecomment-140665932 + // Cordova or Electron apps are typically loaded from a file:// url. + // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. + if (!wasmBinary + && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == 'function' + ) { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(() => getBinarySync(binaryFile)); + } + } + + // Otherwise, getBinarySync should be able to get it synchronously + return Promise.resolve().then(() => getBinarySync(binaryFile)); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then((binary) => { + return WebAssembly.instantiate(binary, imports); + }).then((instance) => { + return instance; + }).then(receiver, (reason) => { + err(`failed to asynchronously prepare wasm: ${reason}`); + + // Warn on some common problems. + if (isFileURI(wasmBinaryFile)) { + err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); + } + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(binaryFile) && + typeof fetch == 'function') { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ + var result = WebAssembly.instantiateStreaming(response, imports); + + return result.then( + callback, + function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err(`wasm streaming compile failed: ${reason}`); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } + return instantiateArrayBuffer(binaryFile, imports, callback); +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': wasmImports, + 'wasi_snapshot_preview1': wasmImports, + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + wasmExports = instance.exports; + + + + wasmMemory = wasmExports['memory']; + + assert(wasmMemory, "memory not found in wasm exports"); + // This assertion doesn't hold when emscripten is run in --post-link + // mode. + // TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode. + //assert(wasmMemory.buffer.byteLength === 16777216); + updateMemoryViews(); + + wasmTable = wasmExports['__indirect_function_table']; + + assert(wasmTable, "table not found in wasm exports"); + + addOnInit(wasmExports['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + return wasmExports; + } + // wait for the pthread pool (if any) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); + trueModule = null; + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to + // run the instantiation parallel to any other async startup actions they are + // performing. + // Also pthreads and wasm workers initialize the wasm instance through this + // path. + if (Module['instantiateWasm']) { + + try { + return Module['instantiateWasm'](info, receiveInstance); + } catch(e) { + err(`Module.instantiateWasm callback failed with error: ${e}`); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// include: runtime_debug.js +function legacyModuleProp(prop, newName, incomming=true) { + if (!Object.getOwnPropertyDescriptor(Module, prop)) { + Object.defineProperty(Module, prop, { + configurable: true, + get() { + let extra = incomming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; + abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); + + } + }); + } +} + +function ignoredModuleProp(prop) { + if (Object.getOwnPropertyDescriptor(Module, prop)) { + abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); + } +} + +// forcing the filesystem exports a few things by default +function isExportedByForceFilesystem(name) { + return name === 'FS_createPath' || + name === 'FS_createDataFile' || + name === 'FS_createPreloadedFile' || + name === 'FS_unlink' || + name === 'addRunDependency' || + // The old FS has some functionality that WasmFS lacks. + name === 'FS_createLazyFile' || + name === 'FS_createDevice' || + name === 'removeRunDependency'; +} + +function missingGlobal(sym, msg) { + if (typeof globalThis !== 'undefined') { + Object.defineProperty(globalThis, sym, { + configurable: true, + get() { + warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); + return undefined; + } + }); + } +} + +missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); +missingGlobal('asm', 'Please use wasmExports instead'); + +function missingLibrarySymbol(sym) { + if (typeof globalThis !== 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { + Object.defineProperty(globalThis, sym, { + configurable: true, + get() { + // Can't `abort()` here because it would break code that does runtime + // checks. e.g. `if (typeof SDL === 'undefined')`. + var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; + // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in + // library.js, which means $name for a JS name with no prefix, or name + // for a JS name like _name. + var librarySymbol = sym; + if (!librarySymbol.startsWith('_')) { + librarySymbol = '$' + sym; + } + msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + warnOnce(msg); + return undefined; + } + }); + } + // Any symbol that is not included from the JS libary is also (by definition) + // not exported on the Module object. + unexportedRuntimeSymbol(sym); +} + +function unexportedRuntimeSymbol(sym) { + if (!Object.getOwnPropertyDescriptor(Module, sym)) { + Object.defineProperty(Module, sym, { + configurable: true, + get() { + var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + abort(msg); + } + }); + } +} + +// Used by XXXXX_DEBUG settings to output debug messages. +function dbg(text) { + // TODO(sbc): Make this configurable somehow. Its not always convenient for + // logging to show up as warnings. + console.warn.apply(console, arguments); +} +// end include: runtime_debug.js +// === Body === + +// end include: preamble.js + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = `Program terminated with exit(${status})`; + this.status = status; + } + + var callRuntimeCallbacks = (callbacks) => { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } + }; + + + /** + * @param {number} ptr + * @param {string} type + */ + function getValue(ptr, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': abort('to do getValue(i64) use WASM_BIGINT'); + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + case '*': return HEAPU32[((ptr)>>2)]; + default: abort(`invalid type for getValue: ${type}`); + } + } + + var noExitRuntime = Module['noExitRuntime'] || true; + + var ptrToString = (ptr) => { + assert(typeof ptr === 'number'); + // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. + ptr >>>= 0; + return '0x' + ptr.toString(16).padStart(8, '0'); + }; + + + /** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ + function setValue(ptr, value, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': HEAP8[((ptr)>>0)] = value; break; + case 'i8': HEAP8[((ptr)>>0)] = value; break; + case 'i16': HEAP16[((ptr)>>1)] = value; break; + case 'i32': HEAP32[((ptr)>>2)] = value; break; + case 'i64': abort('to do setValue(i64) use WASM_BIGINT'); + case 'float': HEAPF32[((ptr)>>2)] = value; break; + case 'double': HEAPF64[((ptr)>>3)] = value; break; + case '*': HEAPU32[((ptr)>>2)] = value; break; + default: abort(`invalid type for setValue: ${type}`); + } + } + + var warnOnce = (text) => { + warnOnce.shown ||= {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } + }; + + var __embind_register_bigint = (primitiveType, name, size, minRange, maxRange) => {}; + + var embind_init_charCodes = () => { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + }; + var embind_charCodes; + var readLatin1String = (ptr) => { + var ret = ""; + var c = ptr; + while (HEAPU8[c]) { + ret += embind_charCodes[HEAPU8[c++]]; + } + return ret; + }; + + var awaitingDependencies = { + }; + + var registeredTypes = { + }; + + var typeDependencies = { + }; + + var BindingError; + var throwBindingError = (message) => { throw new BindingError(message); }; + + + + + var InternalError; + var throwInternalError = (message) => { throw new InternalError(message); }; + var 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 < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (0 === unregisteredTypes.length) { + onComplete(typeConverters); + } + }; + /** @param {Object=} options */ + function sharedRegisterType(rawType, registeredInstance, options = {}) { + var name = registeredInstance.name; + if (!rawType) { + throwBindingError(`type "${name}" must have a positive integer typeid pointer`); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError(`Cannot register type '${name}' twice`); + } + } + + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + /** @param {Object=} options */ + function registerType(rawType, registeredInstance, options = {}) { + if (!('argPackAdvance' in registeredInstance)) { + throw new TypeError('registerType registeredInstance requires argPackAdvance'); + } + return sharedRegisterType(rawType, registeredInstance, options); + } + + var GenericWireTypeSize = 8; + /** @suppress {globalThis} */ + var __embind_register_bool = (rawType, name, trueValue, falseValue) => { + name = readLatin1String(name); + registerType(rawType, { + name, + 'fromWireType': function(wt) { + // ambiguous emscripten ABI: sometimes return values are + // true or false, and sometimes integers (0 or 1) + return !!wt; + }, + 'toWireType': function(destructors, o) { + return o ? trueValue : falseValue; + }, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': function(pointer) { + return this['fromWireType'](HEAPU8[pointer]); + }, + destructorFunction: null, // This type does not need a destructor + }); + }; + + function handleAllocatorInit() { + Object.assign(HandleAllocator.prototype, /** @lends {HandleAllocator.prototype} */ { + get(id) { + assert(this.allocated[id] !== undefined, `invalid handle: ${id}`); + return this.allocated[id]; + }, + has(id) { + return this.allocated[id] !== undefined; + }, + allocate(handle) { + var id = this.freelist.pop() || this.allocated.length; + this.allocated[id] = handle; + return id; + }, + free(id) { + assert(this.allocated[id] !== undefined); + // Set the slot to `undefined` rather than using `delete` here since + // apparently arrays with holes in them can be less efficient. + this.allocated[id] = undefined; + this.freelist.push(id); + } + }); + } + /** @constructor */ + function HandleAllocator() { + // Reserve slot 0 so that 0 is always an invalid handle + this.allocated = [undefined]; + this.freelist = []; + } + var emval_handles = new HandleAllocator();; + var __emval_decref = (handle) => { + if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) { + emval_handles.free(handle); + } + }; + + + + var count_emval_handles = () => { + var count = 0; + for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) { + if (emval_handles.allocated[i] !== undefined) { + ++count; + } + } + return count; + }; + + var init_emval = () => { + // reserve some special values. These never get de-allocated. + // The HandleAllocator takes care of reserving zero. + emval_handles.allocated.push( + {value: undefined}, + {value: null}, + {value: true}, + {value: false}, + ); + emval_handles.reserved = emval_handles.allocated.length + Module['count_emval_handles'] = count_emval_handles; + }; + var Emval = { + toValue:(handle) => { + if (!handle) { + throwBindingError('Cannot use deleted val. handle = ' + handle); + } + return emval_handles.get(handle).value; + }, + toHandle:(value) => { + switch (value) { + case undefined: return 1; + case null: return 2; + case true: return 3; + case false: return 4; + default:{ + return emval_handles.allocate({refcount: 1, value: value}); + } + } + }, + }; + + + + /** @suppress {globalThis} */ + function simpleReadValueFromPointer(pointer) { + return this['fromWireType'](HEAP32[((pointer)>>2)]); + } + var __embind_register_emval = (rawType, name) => { + name = readLatin1String(name); + registerType(rawType, { + name, + 'fromWireType': (handle) => { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, + 'toWireType': (destructors, value) => Emval.toHandle(value), + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: null, // This type does not need a destructor + + // TODO: do we need a deleteObject here? write a test where + // emval is passed into JS via an interface + }); + }; + + var embindRepr = (v) => { + if (v === null) { + return 'null'; + } + var t = typeof v; + if (t === 'object' || t === 'array' || t === 'function') { + return v.toString(); + } else { + return '' + v; + } + }; + + var floatReadValueFromPointer = (name, width) => { + switch (width) { + case 4: return function(pointer) { + return this['fromWireType'](HEAPF32[((pointer)>>2)]); + }; + case 8: return function(pointer) { + return this['fromWireType'](HEAPF64[((pointer)>>3)]); + }; + default: + throw new TypeError(`invalid float width (${width}): ${name}`); + } + }; + + + var __embind_register_float = (rawType, name, size) => { + name = readLatin1String(name); + registerType(rawType, { + name, + 'fromWireType': (value) => value, + 'toWireType': (destructors, value) => { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`); + } + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + }, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': floatReadValueFromPointer(name, size), + destructorFunction: null, // This type does not need a destructor + }); + }; + + var createNamedFunction = (name, body) => Object.defineProperty(body, 'name', { + value: name + }); + + var runDestructors = (destructors) => { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + }; + + + function usesDestructorStack(argTypes) { + for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. + if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack + return true; + } + } + return false; + } + + function newFunc(constructor, argumentList) { + if (!(constructor instanceof Function)) { + throw new TypeError(`new_ called with constructor type ${typeof(constructor)} which is not a function`); + } + /* + * Previously, the following line was just: + * function dummy() {}; + * Unfortunately, Chrome was preserving 'dummy' as the object's name, even + * though at creation, the 'dummy' has the correct constructor name. Thus, + * objects created with IMVU.new would show up in the debugger as 'dummy', + * which isn't very helpful. Using IMVU.createNamedFunction addresses the + * issue. Doublely-unfortunately, there's no way to write a test for this + * behavior. -NRD 2013.02.22 + */ + 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 createJsInvoker(humanName, argTypes, isClassMethodFunc, returns, isAsync) { + var needsDestructorStack = usesDestructorStack(argTypes); + var argCount = argTypes.length; + var argsList = ""; + var argsListWired = ""; + for (var i = 0; i < argCount - 2; ++i) { + argsList += (i!==0?", ":"")+"arg"+i; + argsListWired += (i!==0?", ":"")+"arg"+i+"Wired"; + } + + var invokerFnBody = ` + return function (${argsList}) { + if (arguments.length !== ${argCount - 2}) { + throwBindingError('function ${humanName} called with ' + arguments.length + ' arguments, expected ${argCount - 2}'); + }`; + + if (needsDestructorStack) { + invokerFnBody += "var destructors = [];\n"; + } + + var dtorStack = needsDestructorStack ? "destructors" : "null"; + var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; + + if (isClassMethodFunc) { + invokerFnBody += "var thisWired = classParam['toWireType']("+dtorStack+", this);\n"; + } + + for (var i = 0; i < argCount - 2; ++i) { + invokerFnBody += "var arg"+i+"Wired = argType"+i+"['toWireType']("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n"; + args1.push("argType"+i); + } + + if (isClassMethodFunc) { + argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired; + } + + invokerFnBody += + (returns || isAsync ? "var rv = ":"") + "invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n"; + + if (needsDestructorStack) { + invokerFnBody += "runDestructors(destructors);\n"; + } else { + for (var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method. + var paramName = (i === 1 ? "thisWired" : ("arg"+(i - 2)+"Wired")); + if (argTypes[i].destructorFunction !== null) { + invokerFnBody += paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n"; + args1.push(paramName+"_dtor"); + } + } + } + + if (returns) { + invokerFnBody += "var ret = retType['fromWireType'](rv);\n" + + "return ret;\n"; + } else { + } + + invokerFnBody += "}\n"; + + invokerFnBody = `if (arguments.length !== ${args1.length}){ throw new Error("${humanName} Expected ${args1.length} closure arguments " + arguments.length + " given."); }\n${invokerFnBody}`; + return [args1, invokerFnBody]; + } + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, /** boolean= */ isAsync) { + // humanName: a human-readable string name for the function to be generated. + // argTypes: An array that contains the embind type objects for all types in the function signature. + // argTypes[0] is the type object for the function return value. + // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. + // argTypes[2...] are the actual function parameters. + // classType: The embind type object for the class to be bound, or null if this is not a method of a class. + // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. + // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. + // isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI. + var argCount = argTypes.length; + + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + + assert(!isAsync, 'Async bindings are only supported with JSPI.'); + + var isClassMethodFunc = (argTypes[1] !== null && classType !== null); + + // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. + // TODO: This omits argument count check - enable only at -O3 or similar. + // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { + // return FUNCTION_TABLE[fn]; + // } + + // Determine if we need to use a dynamic stack to store the destructors for the function parameters. + // TODO: Remove this completely once all function invokers are being dynamically generated. + var needsDestructorStack = usesDestructorStack(argTypes); + + var returns = (argTypes[0].name !== "void"); + + // Builld the arguments that will be passed into the closure around the invoker + // function. + var closureArgs = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; + for (var i = 0; i < argCount - 2; ++i) { + closureArgs.push(argTypes[i+2]); + } + if (!needsDestructorStack) { + for (var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method. + if (argTypes[i].destructorFunction !== null) { + closureArgs.push(argTypes[i].destructorFunction); + } + } + } + + let [args, invokerFnBody] = createJsInvoker(humanName, argTypes, isClassMethodFunc, returns, isAsync); + args.push(invokerFnBody); + var invokerFn = newFunc(Function, args).apply(null, closureArgs); + return createNamedFunction(humanName, invokerFn); + } + + var ensureOverloadTable = (proto, methodName, humanName) => { + if (undefined === proto[methodName].overloadTable) { + var prevFunc = proto[methodName]; + // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. + proto[methodName] = function() { + // TODO This check can be removed in -O3 level "unsafe" optimizations. + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + // Move the previous function into the overload table. + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + }; + + /** @param {number=} numArguments */ + var exposePublicSymbol = (name, value, numArguments) => { + if (Module.hasOwnProperty(name)) { + if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { + throwBindingError(`Cannot register public name '${name}' twice`); + } + + // We are exposing a function with the same name as an existing function. Create an overload table and a function selector + // that routes between the two. + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); + } + // Add the new function into the overload table. + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + if (undefined !== numArguments) { + Module[name].numArguments = numArguments; + } + } + }; + + var heap32VectorToArray = (count, firstElement) => { + var array = []; + for (var i = 0; i < count; i++) { + // TODO(https://github.com/emscripten-core/emscripten/issues/17310): + // Find a way to hoist the `>> 2` or `>> 3` out of this loop. + array.push(HEAPU32[(((firstElement)+(i * 4))>>2)]); + } + return array; + }; + + + /** @param {number=} numArguments */ + var replacePublicSymbol = (name, value, numArguments) => { + if (!Module.hasOwnProperty(name)) { + throwInternalError('Replacing nonexistant public symbol'); + } + // If there's an overload table for this symbol, replace the symbol in the overload table instead. + if (undefined !== Module[name].overloadTable && undefined !== numArguments) { + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + Module[name].argCount = numArguments; + } + }; + + + + var dynCallLegacy = (sig, ptr, args) => { + assert(('dynCall_' + sig) in Module, `bad function pointer type - dynCall function not found for sig '${sig}'`); + if (args?.length) { + // j (64-bit integer) must be passed in as two numbers [low 32, high 32]. + assert(args.length === sig.substring(1).replace(/j/g, '--').length); + } else { + assert(sig.length == 1); + } + var f = Module['dynCall_' + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + }; + + var wasmTableMirror = []; + + var wasmTable; + var getWasmTableEntry = (funcPtr) => { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!"); + return func; + }; + + /** @param {Object=} args */ + var dynCall = (sig, ptr, args) => { + // Without WASM_BIGINT support we cannot directly call function with i64 as + // part of thier signature, so we rely the dynCall functions generated by + // wasm-emscripten-finalize + if (sig.includes('j')) { + return dynCallLegacy(sig, ptr, args); + } + assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`); + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + }; + var getDynCaller = (sig, ptr) => { + assert(sig.includes('j') || sig.includes('p'), 'getDynCaller should only be called with i64 sigs') + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + }; + + + var embind__requireFunction = (signature, rawFunction) => { + signature = readLatin1String(signature); + + function makeDynCaller() { + if (signature.includes('j')) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); + } + return fp; + }; + + + + var 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 UnboundTypeError; + + + + var getTypeName = (type) => { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + }; + var throwUnboundTypeError = (message, types) => { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + + throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([', '])); + }; + + + var getFunctionName = (signature) => { + signature = signature.trim(); + const argsIndex = signature.indexOf("("); + if (argsIndex !== -1) { + assert(signature[signature.length - 1] == ")", "Parentheses for argument names should match."); + return signature.substr(0, argsIndex); + } else { + return signature; + } + }; + var __embind_register_function = (name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) => { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + name = getFunctionName(name); + + rawInvoker = embind__requireFunction(signature, rawInvoker); + + exposePublicSymbol(name, function() { + throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); + }, argCount - 1); + + whenDependentTypesAreResolved([], argTypes, function(argTypes) { + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync), argCount - 1); + return []; + }); + }; + + + var integerReadValueFromPointer = (name, width, signed) => { + // integers are quite common, so generate very specialized functions + switch (width) { + case 1: return signed ? + (pointer) => HEAP8[((pointer)>>0)] : + (pointer) => HEAPU8[((pointer)>>0)]; + case 2: return signed ? + (pointer) => HEAP16[((pointer)>>1)] : + (pointer) => HEAPU16[((pointer)>>1)] + case 4: return signed ? + (pointer) => HEAP32[((pointer)>>2)] : + (pointer) => HEAPU32[((pointer)>>2)] + default: + throw new TypeError(`invalid integer width (${width}): ${name}`); + } + }; + + + /** @suppress {globalThis} */ + var __embind_register_integer = (primitiveType, name, size, minRange, maxRange) => { + name = readLatin1String(name); + // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come + // out as 'i32 -1'. Always treat those as max u32. + if (maxRange === -1) { + maxRange = 4294967295; + } + + var fromWireType = (value) => value; + + if (minRange === 0) { + var bitshift = 32 - 8*size; + fromWireType = (value) => (value << bitshift) >>> bitshift; + } + + var isUnsignedType = (name.includes('unsigned')); + var checkAssertions = (value, toTypeName) => { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`); + } + if (value < minRange || value > maxRange) { + throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`); + } + } + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + } + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + } + } + registerType(primitiveType, { + name, + 'fromWireType': fromWireType, + 'toWireType': toWireType, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': integerReadValueFromPointer(name, size, minRange !== 0), + destructorFunction: null, // This type does not need a destructor + }); + }; + + + var __embind_register_memory_view = (rawType, dataTypeIndex, name) => { + var typeMapping = [ + Int8Array, + Uint8Array, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + ]; + + var TA = typeMapping[dataTypeIndex]; + + function decodeMemoryView(handle) { + var size = HEAPU32[((handle)>>2)]; + var data = HEAPU32[(((handle)+(4))>>2)]; + return new TA(HEAP8.buffer, data, size); + } + + name = readLatin1String(name); + registerType(rawType, { + name, + 'fromWireType': decodeMemoryView, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': decodeMemoryView, + }, { + ignoreDuplicateRegistrations: true, + }); + }; + + + + /** @suppress {globalThis} */ + function readPointer(pointer) { + return this['fromWireType'](HEAPU32[((pointer)>>2)]); + } + + + var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { + assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; + }; + var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + }; + + var lengthBytesUTF8 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); // possibly a lead surrogate + if (c <= 0x7F) { + len++; + } else if (c <= 0x7FF) { + len += 2; + } else if (c >= 0xD800 && c <= 0xDFFF) { + len += 4; ++i; + } else { + len += 3; + } + } + return len; + }; + + + + var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; + + /** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ + var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ''; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + return str; + }; + + /** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first 0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ + var UTF8ToString = (ptr, maxBytesToRead) => { + assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; + }; + var __embind_register_std_string = (rawType, name) => { + name = readLatin1String(name); + var stdStringIsUTF8 + //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string + = (name === "std::string"); + + registerType(rawType, { + name, + // For some method names we use string keys here since they are part of + // the public/external API and/or used by the runtime-generated code. + 'fromWireType'(value) { + var length = HEAPU32[((value)>>2)]; + var payload = value + 4; + + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + 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 < length; ++i) { + a[i] = String.fromCharCode(HEAPU8[payload + i]); + } + str = a.join(''); + } + + _free(value); + + return str; + }, + 'toWireType'(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + + var length; + var valueIsOfTypeString = (typeof value == 'string'); + + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError('Cannot pass non-string to std::string'); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + + // assumes 4-byte alignment + var base = _malloc(4 + length + 1); + var ptr = base + 4; + HEAPU32[((base)>>2)] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); + } + HEAPU8[ptr + i] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + i] = value[i]; + } + } + } + + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': readPointer, + destructorFunction(ptr) { + _free(ptr); + }, + }); + }; + + + + + var UTF16Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf-16le') : undefined;; + var UTF16ToString = (ptr, maxBytesToRead) => { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. + // Also, use the length info to avoid running tiny strings through + // TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + + // Fallback: decode without UTF16Decoder + var str = ''; + + // If maxBytesToRead is not passed explicitly, it will be undefined, and the + // for-loop's condition will always evaluate to true. The loop is then + // terminated on the first null char. + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) break; + // fromCharCode constructs a character from a UTF-16 code unit, so we can + // pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + + return str; + }; + + var stringToUTF16 = (str, outPtr, maxBytesToWrite) => { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + maxBytesToWrite ??= 0x7FFFFFFF; + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)] = codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)] = 0; + return outPtr - startPtr; + }; + + var lengthBytesUTF16 = (str) => { + return str.length*2; + }; + + var UTF32ToString = (ptr, maxBytesToRead) => { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) break; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + }; + + var stringToUTF32 = (str, outPtr, maxBytesToWrite) => { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + maxBytesToWrite ??= 0x7FFFFFFF; + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)] = 0; + return outPtr - startPtr; + }; + + var lengthBytesUTF32 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; + }; + var __embind_register_std_wstring = (rawType, charSize, name) => { + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => HEAPU16; + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => HEAPU32; + shift = 2; + } + registerType(rawType, { + name, + 'fromWireType': (value) => { + // Code mostly taken from _embind_register_std_string fromWireType + var length = HEAPU32[((value)>>2)]; + var HEAP = getHeap(); + var str; + + var decodeStartPtr = value + 4; + // Looping here to support possible embedded '0' bytes + 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': (destructors, value) => { + if (!(typeof value == 'string')) { + throwBindingError(`Cannot pass non-string to C++ string type ${name}`); + } + + // assumes 4-byte alignment + 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': GenericWireTypeSize, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction(ptr) { + _free(ptr); + } + }); + }; + + + var __embind_register_void = (rawType, name) => { + name = readLatin1String(name); + registerType(rawType, { + isVoid: true, // void return values can be optimized out sometimes + name, + 'argPackAdvance': 0, + 'fromWireType': () => undefined, + // TODO: assert if anything else is given? + 'toWireType': (destructors, o) => undefined, + }); + }; + + var emval_methodCallers = []; + + var __emval_call = (caller, handle, destructorsRef, args) => { + caller = emval_methodCallers[caller]; + handle = Emval.toValue(handle); + return caller(null, handle, destructorsRef, args); + }; + + + + var emval_symbols = { + }; + + var getStringOrSymbol = (address) => { + var symbol = emval_symbols[address]; + if (symbol === undefined) { + return readLatin1String(address); + } + return symbol; + }; + + var emval_get_global = () => { + if (typeof globalThis == 'object') { + return globalThis; + } + return (function(){ + return Function; + })()('return this')(); + }; + var __emval_get_global = (name) => { + if (name===0) { + return Emval.toHandle(emval_get_global()); + } else { + name = getStringOrSymbol(name); + return Emval.toHandle(emval_get_global()[name]); + } + }; + + var emval_addMethodCaller = (caller) => { + var id = emval_methodCallers.length; + emval_methodCallers.push(caller); + return id; + }; + + + + var requireRegisteredType = (rawType, humanName) => { + var impl = registeredTypes[rawType]; + if (undefined === impl) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + }; + var emval_lookupTypes = (argCount, argTypes) => { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(HEAPU32[(((argTypes)+(i * 4))>>2)], + "parameter " + i); + } + return a; + }; + + + var reflectConstruct = Reflect.construct; + + var emval_returnValue = (returnType, destructorsRef, handle) => { + var destructors = []; + var result = returnType['toWireType'](destructors, handle); + if (destructors.length) { + // void, primitives and any other types w/o destructors don't need to allocate a handle + HEAPU32[((destructorsRef)>>2)] = Emval.toHandle(destructors); + } + return result; + }; + + var __emval_get_method_caller = (argCount, argTypes, kind) => { + var types = emval_lookupTypes(argCount, argTypes); + var retType = types.shift(); + argCount--; // remove the shifted off return type + + var functionBody = + `return function (obj, func, destructorsRef, args) {\n`; + + var offset = 0; + var argsList = []; // 'obj?, arg0, arg1, arg2, ... , argN' + if (kind === /* FUNCTION */ 0) { + argsList.push("obj"); + } + var params = ["retType"]; + var args = [retType]; + for (var i = 0; i < argCount; ++i) { + argsList.push("arg" + i); + params.push("argType" + i); + args.push(types[i]); + functionBody += + ` var arg${i} = argType${i}.readValueFromPointer(args${offset ? "+" + offset : ""});\n`; + offset += types[i]['argPackAdvance']; + } + var invoker = kind === /* CONSTRUCTOR */ 1 ? 'new func' : 'func.call'; + functionBody += + ` var rv = ${invoker}(${argsList.join(", ")});\n`; + for (var i = 0; i < argCount; ++i) { + if (types[i]['deleteObject']) { + functionBody += + ` argType${i}.deleteObject(arg${i});\n`; + } + } + if (!retType.isVoid) { + params.push("emval_returnValue"); + args.push(emval_returnValue); + functionBody += + " return emval_returnValue(retType, destructorsRef, rv);\n"; + } + functionBody += + "};\n"; + + params.push(functionBody); + var invokerFunction = newFunc(Function, params).apply(null, args); + var functionName = `methodCaller<(${types.map(t => t.name).join(', ')}) => ${retType.name}>`; + return emval_addMethodCaller(createNamedFunction(functionName, invokerFunction)); + }; + + var __emval_incref = (handle) => { + if (handle > 4) { + emval_handles.get(handle).refcount += 1; + } + }; + + + + var __emval_run_destructors = (handle) => { + var destructors = Emval.toValue(handle); + runDestructors(destructors); + __emval_decref(handle); + }; + + var _abort = () => { + abort('native code called abort()'); + }; + + var _emscripten_memcpy_js = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num); + + var getHeapMax = () => + HEAPU8.length; + + var abortOnCannotGrowMemory = (requestedSize) => { + abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); + }; + var _emscripten_resize_heap = (requestedSize) => { + var oldSize = HEAPU8.length; + // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. + requestedSize >>>= 0; + abortOnCannotGrowMemory(requestedSize); + }; + + var SYSCALLS = { + varargs:undefined, + get() { + assert(SYSCALLS.varargs != undefined); + // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. + var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; + SYSCALLS.varargs += 4; + return ret; + }, + getp() { return SYSCALLS.get() }, + getStr(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + }; + var _fd_close = (fd) => { + abort('fd_close called without SYSCALLS_REQUIRE_FILESYSTEM'); + }; + + + var convertI32PairToI53Checked = (lo, hi) => { + assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32 + assert(hi === (hi|0)); // hi should be a i32 + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + }; + function _fd_seek(fd,offset_low, offset_high,whence,newOffset) { + var offset = convertI32PairToI53Checked(offset_low, offset_high);; + + + return 70; + ; + } + + var printCharBuffers = [null,[],[]]; + + var printChar = (stream, curr) => { + var buffer = printCharBuffers[stream]; + assert(buffer); + if (curr === 0 || curr === 10) { + (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); + buffer.length = 0; + } else { + buffer.push(curr); + } + }; + + var flush_NO_FILESYSTEM = () => { + // flush anything remaining in the buffers during shutdown + _fflush(0); + if (printCharBuffers[1].length) printChar(1, 10); + if (printCharBuffers[2].length) printChar(2, 10); + }; + + + var _fd_write = (fd, iov, iovcnt, pnum) => { + // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 + var num = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + for (var j = 0; j < len; j++) { + printChar(fd, HEAPU8[ptr+j]); + } + num += len; + } + HEAPU32[((pnum)>>2)] = num; + return 0; + }; +embind_init_charCodes(); +BindingError = Module['BindingError'] = class BindingError extends Error { constructor(message) { super(message); this.name = 'BindingError'; }}; +InternalError = Module['InternalError'] = class InternalError extends Error { constructor(message) { super(message); this.name = 'InternalError'; }}; +handleAllocatorInit(); +init_emval();; +UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');; +function checkIncomingModuleAPI() { + ignoredModuleProp('fetchSettings'); +} +var wasmImports = { + /** @export */ + _embind_register_bigint: __embind_register_bigint, + /** @export */ + _embind_register_bool: __embind_register_bool, + /** @export */ + _embind_register_emval: __embind_register_emval, + /** @export */ + _embind_register_float: __embind_register_float, + /** @export */ + _embind_register_function: __embind_register_function, + /** @export */ + _embind_register_integer: __embind_register_integer, + /** @export */ + _embind_register_memory_view: __embind_register_memory_view, + /** @export */ + _embind_register_std_string: __embind_register_std_string, + /** @export */ + _embind_register_std_wstring: __embind_register_std_wstring, + /** @export */ + _embind_register_void: __embind_register_void, + /** @export */ + _emval_call: __emval_call, + /** @export */ + _emval_decref: __emval_decref, + /** @export */ + _emval_get_global: __emval_get_global, + /** @export */ + _emval_get_method_caller: __emval_get_method_caller, + /** @export */ + _emval_incref: __emval_incref, + /** @export */ + _emval_run_destructors: __emval_run_destructors, + /** @export */ + abort: _abort, + /** @export */ + emscripten_memcpy_js: _emscripten_memcpy_js, + /** @export */ + emscripten_resize_heap: _emscripten_resize_heap, + /** @export */ + fd_close: _fd_close, + /** @export */ + fd_seek: _fd_seek, + /** @export */ + fd_write: _fd_write +}; +var wasmExports = createWasm(); +var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors'); +var _malloc = createExportWrapper('malloc'); +var _free = createExportWrapper('free'); +var ___getTypeName = createExportWrapper('__getTypeName'); +var ___errno_location = createExportWrapper('__errno_location'); +var _fflush = Module['_fflush'] = createExportWrapper('fflush'); +var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); +var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); +var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); +var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); +var stackSave = createExportWrapper('stackSave'); +var stackRestore = createExportWrapper('stackRestore'); +var stackAlloc = createExportWrapper('stackAlloc'); +var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); +var ___cxa_is_pointer_type = createExportWrapper('__cxa_is_pointer_type'); +var dynCall_jiiii = Module['dynCall_jiiii'] = createExportWrapper('dynCall_jiiii'); +var dynCall_jiji = Module['dynCall_jiji'] = createExportWrapper('dynCall_jiji'); + + +// include: postamble.js +// === Auto-generated postamble setup entry stuff === + +var missingLibrarySymbols = [ + 'writeI53ToI64', + 'writeI53ToI64Clamped', + 'writeI53ToI64Signaling', + 'writeI53ToU64Clamped', + 'writeI53ToU64Signaling', + 'readI53FromI64', + 'readI53FromU64', + 'convertI32PairToI53', + 'convertU32PairToI53', + 'zeroMemory', + 'exitJS', + 'growMemory', + 'isLeapYear', + 'ydayFromDate', + 'arraySum', + 'addDays', + 'setErrNo', + 'inetPton4', + 'inetNtop4', + 'inetPton6', + 'inetNtop6', + 'readSockaddr', + 'writeSockaddr', + 'getHostByName', + 'initRandomFill', + 'randomFill', + 'getCallstack', + 'emscriptenLog', + 'convertPCtoSourceLocation', + 'readEmAsmArgs', + 'jstoi_q', + 'jstoi_s', + 'getExecutableName', + 'listenOnce', + 'autoResumeAudioContext', + 'handleException', + 'keepRuntimeAlive', + 'runtimeKeepalivePush', + 'runtimeKeepalivePop', + 'callUserCallback', + 'maybeExit', + 'asmjsMangle', + 'asyncLoad', + 'alignMemory', + 'mmapAlloc', + 'getNativeTypeSize', + 'STACK_SIZE', + 'STACK_ALIGN', + 'POINTER_SIZE', + 'ASSERTIONS', + 'getCFunc', + 'ccall', + 'cwrap', + 'uleb128Encode', + 'sigToWasmTypes', + 'generateFuncType', + 'convertJsFunctionToWasm', + 'getEmptyTableSlot', + 'updateTableMap', + 'getFunctionAddress', + 'addFunction', + 'removeFunction', + 'reallyNegative', + 'unSign', + 'strLen', + 'reSign', + 'formatString', + 'intArrayFromString', + 'intArrayToString', + 'AsciiToString', + 'stringToAscii', + 'stringToNewUTF8', + 'stringToUTF8OnStack', + 'writeArrayToMemory', + 'registerKeyEventCallback', + 'maybeCStringToJsString', + 'findEventTarget', + 'findCanvasEventTarget', + 'getBoundingClientRect', + 'fillMouseEventData', + 'registerMouseEventCallback', + 'registerWheelEventCallback', + 'registerUiEventCallback', + 'registerFocusEventCallback', + 'fillDeviceOrientationEventData', + 'registerDeviceOrientationEventCallback', + 'fillDeviceMotionEventData', + 'registerDeviceMotionEventCallback', + 'screenOrientation', + 'fillOrientationChangeEventData', + 'registerOrientationChangeEventCallback', + 'fillFullscreenChangeEventData', + 'registerFullscreenChangeEventCallback', + 'JSEvents_requestFullscreen', + 'JSEvents_resizeCanvasForFullscreen', + 'registerRestoreOldStyle', + 'hideEverythingExceptGivenElement', + 'restoreHiddenElements', + 'setLetterbox', + 'softFullscreenResizeWebGLRenderTarget', + 'doRequestFullscreen', + 'fillPointerlockChangeEventData', + 'registerPointerlockChangeEventCallback', + 'registerPointerlockErrorEventCallback', + 'requestPointerLock', + 'fillVisibilityChangeEventData', + 'registerVisibilityChangeEventCallback', + 'registerTouchEventCallback', + 'fillGamepadEventData', + 'registerGamepadEventCallback', + 'disableGamepadApiIfItThrows', + 'registerBeforeUnloadEventCallback', + 'fillBatteryEventData', + 'battery', + 'registerBatteryEventCallback', + 'setCanvasElementSize', + 'getCanvasElementSize', + 'demangle', + 'demangleAll', + 'jsStackTrace', + 'stackTrace', + 'getEnvStrings', + 'checkWasiClock', + 'wasiRightsToMuslOFlags', + 'wasiOFlagsToMuslOFlags', + 'createDyncallWrapper', + 'safeSetTimeout', + 'setImmediateWrapped', + 'clearImmediateWrapped', + 'polyfillSetImmediate', + 'getPromise', + 'makePromise', + 'idsToPromises', + 'makePromiseCallback', + 'ExceptionInfo', + 'findMatchingCatch', + 'Browser_asyncPrepareDataCounter', + 'setMainLoop', + 'getSocketFromFD', + 'getSocketAddress', + 'FS_createPreloadedFile', + 'FS_modeStringToFlags', + 'FS_getMode', + 'FS_stdin_getChar', + 'FS_createDataFile', + 'FS_unlink', + 'FS_mkdirTree', + '_setNetworkCallback', + 'heapObjectForWebGLType', + 'heapAccessShiftForWebGLHeap', + 'webgl_enable_ANGLE_instanced_arrays', + 'webgl_enable_OES_vertex_array_object', + 'webgl_enable_WEBGL_draw_buffers', + 'webgl_enable_WEBGL_multi_draw', + 'emscriptenWebGLGet', + 'computeUnpackAlignedImageSize', + 'colorChannelsInGlTextureFormat', + 'emscriptenWebGLGetTexPixelData', + '__glGenObject', + 'emscriptenWebGLGetUniform', + 'webglGetUniformLocation', + 'webglPrepareUniformLocationsBeforeFirstUse', + 'webglGetLeftBracePos', + 'emscriptenWebGLGetVertexAttrib', + '__glGetActiveAttribOrUniform', + 'writeGLArray', + 'registerWebGlEventCallback', + 'runAndAbortIfError', + 'SDL_unicode', + 'SDL_ttfContext', + 'SDL_audio', + 'ALLOC_NORMAL', + 'ALLOC_STACK', + 'allocate', + 'writeStringToMemory', + 'writeAsciiToMemory', + 'getFunctionArgsName', + 'init_embind', + 'getBasestPointer', + 'registerInheritedInstance', + 'unregisterInheritedInstance', + 'getInheritedInstance', + 'getInheritedInstanceCount', + 'getLiveInheritedInstances', + 'enumReadValueFromPointer', + 'genericPointerToWireType', + 'constNoSmartPtrRawPointerToWireType', + 'nonConstNoSmartPtrRawPointerToWireType', + 'init_RegisteredPointer', + 'RegisteredPointer', + 'RegisteredPointer_fromWireType', + 'runDestructor', + 'releaseClassHandle', + 'detachFinalizer', + 'attachFinalizer', + 'makeClassHandle', + 'init_ClassHandle', + 'ClassHandle', + 'throwInstanceAlreadyDeleted', + 'flushPendingDeletes', + 'setDelayFunction', + 'RegisteredClass', + 'shallowCopyInternalPointer', + 'downcastPointer', + 'upcastPointer', + 'validateThis', + 'char_0', + 'char_9', + 'makeLegalFunctionName', +]; +missingLibrarySymbols.forEach(missingLibrarySymbol) + +var unexportedSymbols = [ + 'run', + 'addOnPreRun', + 'addOnInit', + 'addOnPreMain', + 'addOnExit', + 'addOnPostRun', + 'addRunDependency', + 'removeRunDependency', + 'FS_createFolder', + 'FS_createPath', + 'FS_createLazyFile', + 'FS_createLink', + 'FS_createDevice', + 'FS_readFile', + 'out', + 'err', + 'callMain', + 'abort', + 'wasmMemory', + 'wasmExports', + 'stackAlloc', + 'stackSave', + 'stackRestore', + 'getTempRet0', + 'setTempRet0', + 'writeStackCookie', + 'checkStackCookie', + 'convertI32PairToI53Checked', + 'ptrToString', + 'getHeapMax', + 'abortOnCannotGrowMemory', + 'ENV', + 'MONTH_DAYS_REGULAR', + 'MONTH_DAYS_LEAP', + 'MONTH_DAYS_REGULAR_CUMULATIVE', + 'MONTH_DAYS_LEAP_CUMULATIVE', + 'ERRNO_CODES', + 'ERRNO_MESSAGES', + 'DNS', + 'Protocols', + 'Sockets', + 'timers', + 'warnOnce', + 'UNWIND_CACHE', + 'readEmAsmArgsArray', + 'dynCallLegacy', + 'getDynCaller', + 'dynCall', + 'handleAllocatorInit', + 'HandleAllocator', + 'wasmTable', + 'noExitRuntime', + 'freeTableIndexes', + 'functionsInTableMap', + 'setValue', + 'getValue', + 'PATH', + 'PATH_FS', + 'UTF8Decoder', + 'UTF8ArrayToString', + 'UTF8ToString', + 'stringToUTF8Array', + 'stringToUTF8', + 'lengthBytesUTF8', + 'UTF16Decoder', + 'UTF16ToString', + 'stringToUTF16', + 'lengthBytesUTF16', + 'UTF32ToString', + 'stringToUTF32', + 'lengthBytesUTF32', + 'JSEvents', + 'specialHTMLTargets', + 'currentFullscreenStrategy', + 'restoreOldWindowedStyle', + 'ExitStatus', + 'flush_NO_FILESYSTEM', + 'promiseMap', + 'uncaughtExceptionCount', + 'exceptionLast', + 'exceptionCaught', + 'Browser', + 'wget', + 'SYSCALLS', + 'preloadPlugins', + 'FS_stdin_getChar_buffer', + 'FS', + 'MEMFS', + 'TTY', + 'PIPEFS', + 'SOCKFS', + 'tempFixedLengthArray', + 'miniTempWebGLFloatBuffers', + 'miniTempWebGLIntBuffers', + 'GL', + 'emscripten_webgl_power_preferences', + 'AL', + 'GLUT', + 'EGL', + 'GLEW', + 'IDBStore', + 'SDL', + 'SDL_gfx', + 'allocateUTF8', + 'allocateUTF8OnStack', + 'InternalError', + 'BindingError', + 'throwInternalError', + 'throwBindingError', + 'registeredTypes', + 'awaitingDependencies', + 'typeDependencies', + 'tupleRegistrations', + 'structRegistrations', + 'sharedRegisterType', + 'whenDependentTypesAreResolved', + 'embind_charCodes', + 'embind_init_charCodes', + 'readLatin1String', + 'getTypeName', + 'getFunctionName', + 'heap32VectorToArray', + 'requireRegisteredType', + 'usesDestructorStack', + 'createJsInvoker', + 'UnboundTypeError', + 'PureVirtualError', + 'GenericWireTypeSize', + 'throwUnboundTypeError', + 'ensureOverloadTable', + 'exposePublicSymbol', + 'replacePublicSymbol', + 'extendError', + 'createNamedFunction', + 'embindRepr', + 'registeredInstances', + 'registeredPointers', + 'registerType', + 'integerReadValueFromPointer', + 'floatReadValueFromPointer', + 'simpleReadValueFromPointer', + 'readPointer', + 'runDestructors', + 'newFunc', + 'craftInvokerFunction', + 'embind__requireFunction', + 'finalizationRegistry', + 'detachFinalizer_deps', + 'deletionQueue', + 'delayFunction', + 'emval_handles', + 'emval_symbols', + 'init_emval', + 'count_emval_handles', + 'getStringOrSymbol', + 'Emval', + 'emval_get_global', + 'emval_returnValue', + 'emval_lookupTypes', + 'emval_methodCallers', + 'emval_addMethodCaller', + 'reflectConstruct', +]; +unexportedSymbols.forEach(unexportedRuntimeSymbol); + + + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + +function stackCheckInit() { + // This is normally called automatically during __wasm_call_ctors but need to + // get these values before even running any of the ctors so we call it redundantly + // here. + _emscripten_stack_init(); + // TODO(sbc): Move writeStackCookie to native to to avoid this. + writeStackCookie(); +} + +function run() { + + if (runDependencies > 0) { + return; + } + + stackCheckInit(); + + preRun(); + + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } + checkStackCookie(); +} + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var oldOut = out; + var oldErr = err; + var has = false; + out = err = (x) => { + has = true; + } + try { // it doesn't matter if it fails + flush_NO_FILESYSTEM(); + } catch(e) {} + out = oldOut; + err = oldErr; + if (has) { + warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); + warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +run(); + + +// end include: postamble.js + + + return moduleArg.ready +} +); +})(); +; +export default Module; \ No newline at end of file diff --git a/codecs/webp/wasm_build/dec/webp_dec.wasm b/codecs/webp/wasm_build/dec/webp_dec.wasm new file mode 100755 index 0000000000000000000000000000000000000000..3cd6130b8adb55183d38126db9378fcf74b02e1d GIT binary patch literal 161723 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 +- Version: v1.0.2 + +## Dependencies + +- Docker + +## Example + +See `example.html` + +## API + +### `int version()` + +Returns the version of libwebp as a number. va.b.c is encoded as 0x0a0b0c + +### `UInt8Array encode(uint8_t* image_buffer, int image_width, int image_height, WebPConfig config)` + +Encodes the given image with given dimension to WebP. diff --git a/codecs/webp/wasm_build/enc/example.html b/codecs/webp/wasm_build/enc/example.html new file mode 100644 index 00000000..2b0c8c4a --- /dev/null +++ b/codecs/webp/wasm_build/enc/example.html @@ -0,0 +1,58 @@ + + + diff --git a/codecs/webp/wasm_build/enc/webp_enc.cpp b/codecs/webp/wasm_build/enc/webp_enc.cpp new file mode 100644 index 00000000..dccd213e --- /dev/null +++ b/codecs/webp/wasm_build/enc/webp_enc.cpp @@ -0,0 +1,85 @@ +#include +#include +#include +#include +#include +#include "webp/encode.h" + +using namespace emscripten; + +int version() { + return WebPGetEncoderVersion(); +} + +thread_local const val Uint8Array = val::global("Uint8Array"); + +val encode(std::string img, int width, int height, WebPConfig config) { + auto img_in = (uint8_t*)img.c_str(); + + // A lot of this is duplicated from Encode in picture_enc.c + WebPPicture pic; + WebPMemoryWriter wrt; + int ok; + + if (!WebPPictureInit(&pic)) { + // shouldn't happen, except if system installation is broken + return val::null(); + } + + // Allow quality to go higher than 0. + config.qmax = 100; + + // Only use use_argb if we really need it, as it's slower. + pic.use_argb = config.lossless || config.use_sharp_yuv || config.preprocessing > 0; + pic.width = width; + pic.height = height; + pic.writer = WebPMemoryWrite; + pic.custom_ptr = &wrt; + + WebPMemoryWriterInit(&wrt); + + ok = WebPPictureImportRGBA(&pic, img_in, width * 4) && WebPEncode(&config, &pic); + WebPPictureFree(&pic); + val js_result = ok ? Uint8Array.new_(typed_memory_view(wrt.size, wrt.mem)) : val::null(); + WebPMemoryWriterClear(&wrt); + return js_result; +} + +EMSCRIPTEN_BINDINGS(my_module) { + enum_("WebPImageHint") + .value("WEBP_HINT_DEFAULT", WebPImageHint::WEBP_HINT_DEFAULT) + .value("WEBP_HINT_PICTURE", WebPImageHint::WEBP_HINT_PICTURE) + .value("WEBP_HINT_PHOTO", WebPImageHint::WEBP_HINT_PHOTO) + .value("WEBP_HINT_GRAPH", WebPImageHint::WEBP_HINT_GRAPH); + + value_object("WebPConfig") + .field("lossless", &WebPConfig::lossless) + .field("quality", &WebPConfig::quality) + .field("method", &WebPConfig::method) + .field("image_hint", &WebPConfig::image_hint) + .field("target_size", &WebPConfig::target_size) + .field("target_PSNR", &WebPConfig::target_PSNR) + .field("segments", &WebPConfig::segments) + .field("sns_strength", &WebPConfig::sns_strength) + .field("filter_strength", &WebPConfig::filter_strength) + .field("filter_sharpness", &WebPConfig::filter_sharpness) + .field("filter_type", &WebPConfig::filter_type) + .field("autofilter", &WebPConfig::autofilter) + .field("alpha_compression", &WebPConfig::alpha_compression) + .field("alpha_filtering", &WebPConfig::alpha_filtering) + .field("alpha_quality", &WebPConfig::alpha_quality) + .field("pass", &WebPConfig::pass) + .field("show_compressed", &WebPConfig::show_compressed) + .field("preprocessing", &WebPConfig::preprocessing) + .field("partitions", &WebPConfig::partitions) + .field("partition_limit", &WebPConfig::partition_limit) + .field("emulate_jpeg_size", &WebPConfig::emulate_jpeg_size) + .field("low_memory", &WebPConfig::low_memory) + .field("near_lossless", &WebPConfig::near_lossless) + .field("exact", &WebPConfig::exact) + .field("use_delta_palette", &WebPConfig::use_delta_palette) + .field("use_sharp_yuv", &WebPConfig::use_sharp_yuv); + + function("version", &version); + function("encode", &encode); +} diff --git a/codecs/webp/wasm_build/enc/webp_enc.d.ts b/codecs/webp/wasm_build/enc/webp_enc.d.ts new file mode 100644 index 00000000..28019151 --- /dev/null +++ b/codecs/webp/wasm_build/enc/webp_enc.d.ts @@ -0,0 +1,42 @@ +export interface EncodeOptions { + quality: number; + target_size: number; + target_PSNR: number; + method: number; + sns_strength: number; + filter_strength: number; + filter_sharpness: number; + filter_type: number; + partitions: number; + segments: number; + pass: number; + show_compressed: number; + preprocessing: number; + autofilter: number; + partition_limit: number; + alpha_compression: number; + alpha_filtering: number; + alpha_quality: number; + lossless: number; + exact: number; + image_hint: number; + emulate_jpeg_size: number; + thread_level: number; + low_memory: number; + near_lossless: number; + use_delta_palette: number; + use_sharp_yuv: number; +} + +export interface WebPModule extends EmscriptenWasm.Module { + encode( + data: BufferSource, + width: number, + height: number, + options: EncodeOptions, + ): Uint8Array | null; +} + +declare var moduleFactory: EmscriptenWasm.ModuleFactory; + +export default moduleFactory; diff --git a/codecs/webp/wasm_build/enc/webp_enc.js b/codecs/webp/wasm_build/enc/webp_enc.js new file mode 100644 index 00000000..414a4cca --- /dev/null +++ b/codecs/webp/wasm_build/enc/webp_enc.js @@ -0,0 +1,3173 @@ + +var Module = (() => { + var _scriptDir = import.meta.url; + + return ( +function(moduleArg = {}) { + +// include: shell.js +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = moduleArg; + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise((resolve, reject) => { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); +["_main","_memory","___indirect_function_table","_fflush","onRuntimeInitialized"].forEach((prop) => { + if (!Object.getOwnPropertyDescriptor(Module['ready'], prop)) { + Object.defineProperty(Module['ready'], prop, { + get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + set: () => abort('You are setting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + }); + } +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) + + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = true; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +if (Module['ENVIRONMENT']) { + throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); +} + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary; + +if (ENVIRONMENT_IS_SHELL) { + + if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof importScripts == 'function') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + if (typeof read != 'undefined') { + read_ = read; + } + + readBinary = (f) => { + if (typeof readbuffer == 'function') { + return new Uint8Array(readbuffer(f)); + } + let data = read(f, 'binary'); + assert(typeof data == 'object'); + return data; + }; + + readAsync = (f, onload, onerror) => { + setTimeout(() => onload(readBinary(f))); + }; + + if (typeof clearTimeout == 'undefined') { + globalThis.clearTimeout = (id) => {}; + } + + if (typeof setTimeout == 'undefined') { + // spidermonkey lacks setTimeout but we use it above in readAsync. + globalThis.setTimeout = (f) => (typeof f == 'function') ? f() : abort(); + } + + if (typeof scriptArgs != 'undefined') { + arguments_ = scriptArgs; + } else if (typeof arguments != 'undefined') { + arguments_ = arguments; + } + + if (typeof quit == 'function') { + quit_ = (status, toThrow) => { + // Unlike node which has process.exitCode, d8 has no such mechanism. So we + // have no way to set the exit code and then let the program exit with + // that code when it naturally stops running (say, when all setTimeouts + // have completed). For that reason, we must call `quit` - the only way to + // set the exit code - but quit also halts immediately. To increase + // consistency with node (and the web) we schedule the actual quit call + // using a setTimeout to give the current stack and any exception handlers + // a chance to run. This enables features such as addOnPostRun (which + // expected to be able to run code after main returns). + setTimeout(() => { + if (!(toThrow instanceof ExitStatus)) { + let toLog = toThrow; + if (toThrow && typeof toThrow == 'object' && toThrow.stack) { + toLog = [toThrow, toThrow.stack]; + } + err(`exiting due to exception: ${toLog}`); + } + quit(status); + }); + throw toThrow; + }; + } + + if (typeof print != 'undefined') { + // Prefer to use print/printErr where they exist, as they usually work better. + if (typeof console == 'undefined') console = /** @type{!Console} */({}); + console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); + console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr != 'undefined' ? printErr : print); + } + +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != 'undefined' && document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + if (!(typeof window == 'object' || typeof importScripts == 'function')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { +// include: web_or_worker_shell_read.js +read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } + + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + }; + } + + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = () => { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + } + +// end include: web_or_worker_shell_read.js + } +} else +{ + throw new Error('environment detection error'); +} + +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.error.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; +checkIncomingModuleAPI(); + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. + +if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); + +if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); + +if (Module['quit']) quit_ = Module['quit'];legacyModuleProp('quit', 'quit_'); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['read'] == 'undefined', 'Module.read option was removed (modify read_ in JS)'); +assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); +assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); +assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); +assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); +legacyModuleProp('asm', 'wasmExports'); +legacyModuleProp('read', 'read_'); +legacyModuleProp('readAsync', 'readAsync'); +legacyModuleProp('readBinary', 'readBinary'); +legacyModuleProp('setWindowTitle', 'setWindowTitle'); +var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; +var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; +var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; +var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; +var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; +var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; +var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; + +var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; + +assert(!ENVIRONMENT_IS_WEB, "web environment detected but not enabled at build time. Add 'web' to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."); + + +// end include: shell.js +// include: preamble.js +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +var wasmBinary; +if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); + +if (typeof WebAssembly != 'object') { + abort('no native wasm support detected'); +} + +// Wasm globals + +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we +// don't define it at all in release modes. This matches the behaviour of +// MINIMAL_RUNTIME. +// TODO(sbc): Make this the default even without STRICT enabled. +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + abort('Assertion failed' + (text ? ': ' + text : '')); + } +} + +// We used to include malloc/free by default in the past. Show a helpful error in +// builds with assertions. + +// Memory management + +var HEAP, +/** @type {!Int8Array} */ + HEAP8, +/** @type {!Uint8Array} */ + HEAPU8, +/** @type {!Int16Array} */ + HEAP16, +/** @type {!Uint16Array} */ + HEAPU16, +/** @type {!Int32Array} */ + HEAP32, +/** @type {!Uint32Array} */ + HEAPU32, +/** @type {!Float32Array} */ + HEAPF32, +/** @type {!Float64Array} */ + HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module['HEAP8'] = HEAP8 = new Int8Array(b); + Module['HEAP16'] = HEAP16 = new Int16Array(b); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); + Module['HEAP32'] = HEAP32 = new Int32Array(b); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); + Module['HEAPF32'] = HEAPF32 = new Float32Array(b); + Module['HEAPF64'] = HEAPF64 = new Float64Array(b); +} + +assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') + +assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, + 'JS engine does not provide full typed array support'); + +// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY +assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); +assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); + +// include: runtime_stack_check.js +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + var max = _emscripten_stack_get_end(); + assert((max & 3) == 0); + // If the stack ends at address zero we write our cookies 4 bytes into the + // stack. This prevents interference with SAFE_HEAP and ASAN which also + // monitor writes to address zero. + if (max == 0) { + max += 4; + } + // The stack grow downwards towards _emscripten_stack_get_end. + // We write cookies to the final two words in the stack and detect if they are + // ever overwritten. + HEAPU32[((max)>>2)] = 0x02135467; + HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; + // Also test the global address 0 for integrity. + HEAPU32[((0)>>2)] = 1668509029; +} + +function checkStackCookie() { + if (ABORT) return; + var max = _emscripten_stack_get_end(); + // See writeStackCookie(). + if (max == 0) { + max += 4; + } + var cookie1 = HEAPU32[((max)>>2)]; + var cookie2 = HEAPU32[(((max)+(4))>>2)]; + if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { + abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); + } + // Also test the global address 0 for integrity. + if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { + abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); + } +} +// end include: runtime_stack_check.js +// include: runtime_assertions.js +// Endianness check +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 0x6373; + if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; +})(); + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +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() { + assert(!runtimeInitialized); + runtimeInitialized = true; + + checkStackCookie(); + + + callRuntimeCallbacks(__ATINIT__); +} + +function postRun() { + checkStackCookie(); + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +// include: runtime_math.js +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } +} + +function addRunDependency(id) { + runDependencies++; + + Module['monitorRunDependencies']?.(runDependencies); + + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval != 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(() => { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err('still waiting on run dependencies:'); + } + err(`dependency: ${dep}`); + } + if (shown) { + err('(end of list)'); + } + }, 10000); + } + } else { + err('warning: run dependency added without ID'); + } +} + +function removeRunDependency(id) { + runDependencies--; + + Module['monitorRunDependencies']?.(runDependencies); + + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +/** @param {string|number=} what */ +function abort(what) { + Module['onAbort']?.(what); + + what = 'Aborted(' + what + ')'; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + + ABORT = true; + EXITSTATUS = 1; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + + // Suppress closure compiler warning here. Closure compiler's builtin extern + // defintion for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ + var e = new WebAssembly.RuntimeError(what); + + readyPromiseReject(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// include: memoryprofiler.js +// end include: memoryprofiler.js +// show errors on likely calls to FS when it was not included +var FS = { + error() { + abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM'); + }, + init() { FS.error() }, + createDataFile() { FS.error() }, + createPreloadedFile() { FS.error() }, + createLazyFile() { FS.error() }, + open() { FS.error() }, + mkdev() { FS.error() }, + registerDevice() { FS.error() }, + analyzePath() { FS.error() }, + + ErrnoError() { FS.error() }, +}; +Module['FS_createDataFile'] = FS.createDataFile; +Module['FS_createPreloadedFile'] = FS.createPreloadedFile; + +// include: URIUtils.js +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +/** + * Indicates whether filename is a base64 data URI. + * @noinline + */ +var isDataURI = (filename) => filename.startsWith(dataURIPrefix); + +/** + * Indicates whether filename is delivered via file protocol (as opposed to http/https) + * @noinline + */ +var isFileURI = (filename) => filename.startsWith('file://'); +// end include: URIUtils.js +function createExportWrapper(name) { + return function() { + assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); + var f = wasmExports[name]; + assert(f, `exported native function \`${name}\` not found`); + return f.apply(null, arguments); + }; +} + +// include: runtime_exceptions.js +// end include: runtime_exceptions.js +var wasmBinaryFile; +if (Module['locateFile']) { + wasmBinaryFile = 'webp_enc.wasm'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } +} else { + // Use bundler-friendly `new URL(..., import.meta.url)` pattern; works in browsers too. + wasmBinaryFile = new URL('webp_enc.wasm', import.meta.url).href; +} + +function getBinarySync(file) { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; +} + +function getBinaryPromise(binaryFile) { + // If we don't have the binary yet, try to load it asynchronously. + // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. + // See https://github.com/github/fetch/pull/92#issuecomment-140665932 + // Cordova or Electron apps are typically loaded from a file:// url. + // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. + if (!wasmBinary + && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == 'function' + ) { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(() => getBinarySync(binaryFile)); + } + } + + // Otherwise, getBinarySync should be able to get it synchronously + return Promise.resolve().then(() => getBinarySync(binaryFile)); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then((binary) => { + return WebAssembly.instantiate(binary, imports); + }).then((instance) => { + return instance; + }).then(receiver, (reason) => { + err(`failed to asynchronously prepare wasm: ${reason}`); + + // Warn on some common problems. + if (isFileURI(wasmBinaryFile)) { + err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); + } + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(binaryFile) && + typeof fetch == 'function') { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ + var result = WebAssembly.instantiateStreaming(response, imports); + + return result.then( + callback, + function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err(`wasm streaming compile failed: ${reason}`); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } + return instantiateArrayBuffer(binaryFile, imports, callback); +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': wasmImports, + 'wasi_snapshot_preview1': wasmImports, + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + wasmExports = instance.exports; + + + + wasmMemory = wasmExports['memory']; + + assert(wasmMemory, "memory not found in wasm exports"); + // This assertion doesn't hold when emscripten is run in --post-link + // mode. + // TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode. + //assert(wasmMemory.buffer.byteLength === 16777216); + updateMemoryViews(); + + wasmTable = wasmExports['__indirect_function_table']; + + assert(wasmTable, "table not found in wasm exports"); + + addOnInit(wasmExports['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + return wasmExports; + } + // wait for the pthread pool (if any) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); + trueModule = null; + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to + // run the instantiation parallel to any other async startup actions they are + // performing. + // Also pthreads and wasm workers initialize the wasm instance through this + // path. + if (Module['instantiateWasm']) { + + try { + return Module['instantiateWasm'](info, receiveInstance); + } catch(e) { + err(`Module.instantiateWasm callback failed with error: ${e}`); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// include: runtime_debug.js +function legacyModuleProp(prop, newName, incomming=true) { + if (!Object.getOwnPropertyDescriptor(Module, prop)) { + Object.defineProperty(Module, prop, { + configurable: true, + get() { + let extra = incomming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; + abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); + + } + }); + } +} + +function ignoredModuleProp(prop) { + if (Object.getOwnPropertyDescriptor(Module, prop)) { + abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); + } +} + +// forcing the filesystem exports a few things by default +function isExportedByForceFilesystem(name) { + return name === 'FS_createPath' || + name === 'FS_createDataFile' || + name === 'FS_createPreloadedFile' || + name === 'FS_unlink' || + name === 'addRunDependency' || + // The old FS has some functionality that WasmFS lacks. + name === 'FS_createLazyFile' || + name === 'FS_createDevice' || + name === 'removeRunDependency'; +} + +function missingGlobal(sym, msg) { + if (typeof globalThis !== 'undefined') { + Object.defineProperty(globalThis, sym, { + configurable: true, + get() { + warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); + return undefined; + } + }); + } +} + +missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); +missingGlobal('asm', 'Please use wasmExports instead'); + +function missingLibrarySymbol(sym) { + if (typeof globalThis !== 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { + Object.defineProperty(globalThis, sym, { + configurable: true, + get() { + // Can't `abort()` here because it would break code that does runtime + // checks. e.g. `if (typeof SDL === 'undefined')`. + var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; + // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in + // library.js, which means $name for a JS name with no prefix, or name + // for a JS name like _name. + var librarySymbol = sym; + if (!librarySymbol.startsWith('_')) { + librarySymbol = '$' + sym; + } + msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + warnOnce(msg); + return undefined; + } + }); + } + // Any symbol that is not included from the JS libary is also (by definition) + // not exported on the Module object. + unexportedRuntimeSymbol(sym); +} + +function unexportedRuntimeSymbol(sym) { + if (!Object.getOwnPropertyDescriptor(Module, sym)) { + Object.defineProperty(Module, sym, { + configurable: true, + get() { + var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + abort(msg); + } + }); + } +} + +// Used by XXXXX_DEBUG settings to output debug messages. +function dbg(text) { + // TODO(sbc): Make this configurable somehow. Its not always convenient for + // logging to show up as warnings. + console.warn.apply(console, arguments); +} +// end include: runtime_debug.js +// === Body === + +// end include: preamble.js + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = `Program terminated with exit(${status})`; + this.status = status; + } + + var callRuntimeCallbacks = (callbacks) => { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } + }; + + + /** + * @param {number} ptr + * @param {string} type + */ + function getValue(ptr, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': abort('to do getValue(i64) use WASM_BIGINT'); + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + case '*': return HEAPU32[((ptr)>>2)]; + default: abort(`invalid type for getValue: ${type}`); + } + } + + var noExitRuntime = Module['noExitRuntime'] || true; + + var ptrToString = (ptr) => { + assert(typeof ptr === 'number'); + // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. + ptr >>>= 0; + return '0x' + ptr.toString(16).padStart(8, '0'); + }; + + + /** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ + function setValue(ptr, value, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': HEAP8[((ptr)>>0)] = value; break; + case 'i8': HEAP8[((ptr)>>0)] = value; break; + case 'i16': HEAP16[((ptr)>>1)] = value; break; + case 'i32': HEAP32[((ptr)>>2)] = value; break; + case 'i64': abort('to do setValue(i64) use WASM_BIGINT'); + case 'float': HEAPF32[((ptr)>>2)] = value; break; + case 'double': HEAPF64[((ptr)>>3)] = value; break; + case '*': HEAPU32[((ptr)>>2)] = value; break; + default: abort(`invalid type for setValue: ${type}`); + } + } + + var warnOnce = (text) => { + warnOnce.shown ||= {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } + }; + + var structRegistrations = { + }; + + var runDestructors = (destructors) => { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + }; + + /** @suppress {globalThis} */ + function simpleReadValueFromPointer(pointer) { + return this['fromWireType'](HEAP32[((pointer)>>2)]); + } + + var awaitingDependencies = { + }; + + var registeredTypes = { + }; + + var typeDependencies = { + }; + + var InternalError; + var throwInternalError = (message) => { throw new InternalError(message); }; + var 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 < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (0 === unregisteredTypes.length) { + onComplete(typeConverters); + } + }; + var __embind_finalize_value_object = (structType) => { + var reg = structRegistrations[structType]; + delete structRegistrations[structType]; + + var rawConstructor = reg.rawConstructor; + var rawDestructor = reg.rawDestructor; + var fieldRecords = reg.fields; + var fieldTypes = fieldRecords.map((field) => field.getterReturnType). + concat(fieldRecords.map((field) => field.setterArgumentType)); + whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes) => { + var fields = {}; + fieldRecords.forEach((field, i) => { + var fieldName = field.fieldName; + var getterReturnType = fieldTypes[i]; + var getter = field.getter; + var getterContext = field.getterContext; + var setterArgumentType = fieldTypes[i + fieldRecords.length]; + var setter = field.setter; + var setterContext = field.setterContext; + fields[fieldName] = { + read: (ptr) => getterReturnType['fromWireType'](getter(getterContext, ptr)), + write: (ptr, o) => { + var destructors = []; + setter(setterContext, ptr, setterArgumentType['toWireType'](destructors, o)); + runDestructors(destructors); + } + }; + }); + + return [{ + name: reg.name, + 'fromWireType': (ptr) => { + var rv = {}; + for (var i in fields) { + rv[i] = fields[i].read(ptr); + } + rawDestructor(ptr); + return rv; + }, + 'toWireType': (destructors, o) => { + // todo: Here we have an opportunity for -O3 level "unsafe" optimizations: + // assume all fields are present without checking. + for (var fieldName in fields) { + if (!(fieldName in o)) { + throw new TypeError(`Missing field: "${fieldName}"`); + } + } + var ptr = rawConstructor(); + for (fieldName in fields) { + fields[fieldName].write(ptr, o[fieldName]); + } + if (destructors !== null) { + destructors.push(rawDestructor, ptr); + } + return ptr; + }, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: rawDestructor, + }]; + }); + }; + + var __embind_register_bigint = (primitiveType, name, size, minRange, maxRange) => {}; + + var embind_init_charCodes = () => { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + }; + var embind_charCodes; + var readLatin1String = (ptr) => { + var ret = ""; + var c = ptr; + while (HEAPU8[c]) { + ret += embind_charCodes[HEAPU8[c++]]; + } + return ret; + }; + + + + + var BindingError; + var throwBindingError = (message) => { throw new BindingError(message); }; + + /** @param {Object=} options */ + function sharedRegisterType(rawType, registeredInstance, options = {}) { + var name = registeredInstance.name; + if (!rawType) { + throwBindingError(`type "${name}" must have a positive integer typeid pointer`); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError(`Cannot register type '${name}' twice`); + } + } + + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + /** @param {Object=} options */ + function registerType(rawType, registeredInstance, options = {}) { + if (!('argPackAdvance' in registeredInstance)) { + throw new TypeError('registerType registeredInstance requires argPackAdvance'); + } + return sharedRegisterType(rawType, registeredInstance, options); + } + + var GenericWireTypeSize = 8; + /** @suppress {globalThis} */ + var __embind_register_bool = (rawType, name, trueValue, falseValue) => { + name = readLatin1String(name); + registerType(rawType, { + name, + 'fromWireType': function(wt) { + // ambiguous emscripten ABI: sometimes return values are + // true or false, and sometimes integers (0 or 1) + return !!wt; + }, + 'toWireType': function(destructors, o) { + return o ? trueValue : falseValue; + }, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': function(pointer) { + return this['fromWireType'](HEAPU8[pointer]); + }, + destructorFunction: null, // This type does not need a destructor + }); + }; + + function handleAllocatorInit() { + Object.assign(HandleAllocator.prototype, /** @lends {HandleAllocator.prototype} */ { + get(id) { + assert(this.allocated[id] !== undefined, `invalid handle: ${id}`); + return this.allocated[id]; + }, + has(id) { + return this.allocated[id] !== undefined; + }, + allocate(handle) { + var id = this.freelist.pop() || this.allocated.length; + this.allocated[id] = handle; + return id; + }, + free(id) { + assert(this.allocated[id] !== undefined); + // Set the slot to `undefined` rather than using `delete` here since + // apparently arrays with holes in them can be less efficient. + this.allocated[id] = undefined; + this.freelist.push(id); + } + }); + } + /** @constructor */ + function HandleAllocator() { + // Reserve slot 0 so that 0 is always an invalid handle + this.allocated = [undefined]; + this.freelist = []; + } + var emval_handles = new HandleAllocator();; + var __emval_decref = (handle) => { + if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) { + emval_handles.free(handle); + } + }; + + + + var count_emval_handles = () => { + var count = 0; + for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) { + if (emval_handles.allocated[i] !== undefined) { + ++count; + } + } + return count; + }; + + var init_emval = () => { + // reserve some special values. These never get de-allocated. + // The HandleAllocator takes care of reserving zero. + emval_handles.allocated.push( + {value: undefined}, + {value: null}, + {value: true}, + {value: false}, + ); + emval_handles.reserved = emval_handles.allocated.length + Module['count_emval_handles'] = count_emval_handles; + }; + var Emval = { + toValue:(handle) => { + if (!handle) { + throwBindingError('Cannot use deleted val. handle = ' + handle); + } + return emval_handles.get(handle).value; + }, + toHandle:(value) => { + switch (value) { + case undefined: return 1; + case null: return 2; + case true: return 3; + case false: return 4; + default:{ + return emval_handles.allocate({refcount: 1, value: value}); + } + } + }, + }; + + + + var __embind_register_emval = (rawType, name) => { + name = readLatin1String(name); + registerType(rawType, { + name, + 'fromWireType': (handle) => { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, + 'toWireType': (destructors, value) => Emval.toHandle(value), + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: null, // This type does not need a destructor + + // TODO: do we need a deleteObject here? write a test where + // emval is passed into JS via an interface + }); + }; + + var ensureOverloadTable = (proto, methodName, humanName) => { + if (undefined === proto[methodName].overloadTable) { + var prevFunc = proto[methodName]; + // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. + proto[methodName] = function() { + // TODO This check can be removed in -O3 level "unsafe" optimizations. + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + // Move the previous function into the overload table. + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + }; + + /** @param {number=} numArguments */ + var exposePublicSymbol = (name, value, numArguments) => { + if (Module.hasOwnProperty(name)) { + if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { + throwBindingError(`Cannot register public name '${name}' twice`); + } + + // We are exposing a function with the same name as an existing function. Create an overload table and a function selector + // that routes between the two. + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); + } + // Add the new function into the overload table. + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + if (undefined !== numArguments) { + Module[name].numArguments = numArguments; + } + } + }; + + var enumReadValueFromPointer = (name, width, signed) => { + switch (width) { + case 1: return signed ? + function(pointer) { return this['fromWireType'](HEAP8[((pointer)>>0)]) } : + function(pointer) { return this['fromWireType'](HEAPU8[((pointer)>>0)]) }; + case 2: return signed ? + function(pointer) { return this['fromWireType'](HEAP16[((pointer)>>1)]) } : + function(pointer) { return this['fromWireType'](HEAPU16[((pointer)>>1)]) }; + case 4: return signed ? + function(pointer) { return this['fromWireType'](HEAP32[((pointer)>>2)]) } : + function(pointer) { return this['fromWireType'](HEAPU32[((pointer)>>2)]) }; + default: + throw new TypeError(`invalid integer width (${width}): ${name}`); + } + }; + + + /** @suppress {globalThis} */ + var __embind_register_enum = (rawType, name, size, isSigned) => { + name = readLatin1String(name); + + function ctor() {} + ctor.values = {}; + + registerType(rawType, { + name, + constructor: ctor, + 'fromWireType': function(c) { + return this.constructor.values[c]; + }, + 'toWireType': (destructors, c) => c.value, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': enumReadValueFromPointer(name, size, isSigned), + destructorFunction: null, + }); + exposePublicSymbol(name, ctor); + }; + + var createNamedFunction = (name, body) => Object.defineProperty(body, 'name', { + value: name + }); + + + + + + var getTypeName = (type) => { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + }; + + var requireRegisteredType = (rawType, humanName) => { + var impl = registeredTypes[rawType]; + if (undefined === impl) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + }; + var __embind_register_enum_value = (rawEnumType, name, enumValue) => { + var enumType = requireRegisteredType(rawEnumType, 'enum'); + name = readLatin1String(name); + + var Enum = enumType.constructor; + + var Value = Object.create(enumType.constructor.prototype, { + value: {value: enumValue}, + constructor: {value: createNamedFunction(`${enumType.name}_${name}`, function() {})}, + }); + Enum.values[enumValue] = Value; + Enum[name] = Value; + }; + + var embindRepr = (v) => { + if (v === null) { + return 'null'; + } + var t = typeof v; + if (t === 'object' || t === 'array' || t === 'function') { + return v.toString(); + } else { + return '' + v; + } + }; + + var floatReadValueFromPointer = (name, width) => { + switch (width) { + case 4: return function(pointer) { + return this['fromWireType'](HEAPF32[((pointer)>>2)]); + }; + case 8: return function(pointer) { + return this['fromWireType'](HEAPF64[((pointer)>>3)]); + }; + default: + throw new TypeError(`invalid float width (${width}): ${name}`); + } + }; + + + var __embind_register_float = (rawType, name, size) => { + name = readLatin1String(name); + registerType(rawType, { + name, + 'fromWireType': (value) => value, + 'toWireType': (destructors, value) => { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`); + } + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + }, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': floatReadValueFromPointer(name, size), + destructorFunction: null, // This type does not need a destructor + }); + }; + + + + + function usesDestructorStack(argTypes) { + for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. + if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack + return true; + } + } + return false; + } + + function newFunc(constructor, argumentList) { + if (!(constructor instanceof Function)) { + throw new TypeError(`new_ called with constructor type ${typeof(constructor)} which is not a function`); + } + /* + * Previously, the following line was just: + * function dummy() {}; + * Unfortunately, Chrome was preserving 'dummy' as the object's name, even + * though at creation, the 'dummy' has the correct constructor name. Thus, + * objects created with IMVU.new would show up in the debugger as 'dummy', + * which isn't very helpful. Using IMVU.createNamedFunction addresses the + * issue. Doublely-unfortunately, there's no way to write a test for this + * behavior. -NRD 2013.02.22 + */ + 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 createJsInvoker(humanName, argTypes, isClassMethodFunc, returns, isAsync) { + var needsDestructorStack = usesDestructorStack(argTypes); + var argCount = argTypes.length; + var argsList = ""; + var argsListWired = ""; + for (var i = 0; i < argCount - 2; ++i) { + argsList += (i!==0?", ":"")+"arg"+i; + argsListWired += (i!==0?", ":"")+"arg"+i+"Wired"; + } + + var invokerFnBody = ` + return function (${argsList}) { + if (arguments.length !== ${argCount - 2}) { + throwBindingError('function ${humanName} called with ' + arguments.length + ' arguments, expected ${argCount - 2}'); + }`; + + if (needsDestructorStack) { + invokerFnBody += "var destructors = [];\n"; + } + + var dtorStack = needsDestructorStack ? "destructors" : "null"; + var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; + + if (isClassMethodFunc) { + invokerFnBody += "var thisWired = classParam['toWireType']("+dtorStack+", this);\n"; + } + + for (var i = 0; i < argCount - 2; ++i) { + invokerFnBody += "var arg"+i+"Wired = argType"+i+"['toWireType']("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n"; + args1.push("argType"+i); + } + + if (isClassMethodFunc) { + argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired; + } + + invokerFnBody += + (returns || isAsync ? "var rv = ":"") + "invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n"; + + if (needsDestructorStack) { + invokerFnBody += "runDestructors(destructors);\n"; + } else { + for (var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method. + var paramName = (i === 1 ? "thisWired" : ("arg"+(i - 2)+"Wired")); + if (argTypes[i].destructorFunction !== null) { + invokerFnBody += paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n"; + args1.push(paramName+"_dtor"); + } + } + } + + if (returns) { + invokerFnBody += "var ret = retType['fromWireType'](rv);\n" + + "return ret;\n"; + } else { + } + + invokerFnBody += "}\n"; + + invokerFnBody = `if (arguments.length !== ${args1.length}){ throw new Error("${humanName} Expected ${args1.length} closure arguments " + arguments.length + " given."); }\n${invokerFnBody}`; + return [args1, invokerFnBody]; + } + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, /** boolean= */ isAsync) { + // humanName: a human-readable string name for the function to be generated. + // argTypes: An array that contains the embind type objects for all types in the function signature. + // argTypes[0] is the type object for the function return value. + // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. + // argTypes[2...] are the actual function parameters. + // classType: The embind type object for the class to be bound, or null if this is not a method of a class. + // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. + // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. + // isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI. + var argCount = argTypes.length; + + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + + assert(!isAsync, 'Async bindings are only supported with JSPI.'); + + var isClassMethodFunc = (argTypes[1] !== null && classType !== null); + + // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. + // TODO: This omits argument count check - enable only at -O3 or similar. + // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { + // return FUNCTION_TABLE[fn]; + // } + + // Determine if we need to use a dynamic stack to store the destructors for the function parameters. + // TODO: Remove this completely once all function invokers are being dynamically generated. + var needsDestructorStack = usesDestructorStack(argTypes); + + var returns = (argTypes[0].name !== "void"); + + // Builld the arguments that will be passed into the closure around the invoker + // function. + var closureArgs = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; + for (var i = 0; i < argCount - 2; ++i) { + closureArgs.push(argTypes[i+2]); + } + if (!needsDestructorStack) { + for (var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method. + if (argTypes[i].destructorFunction !== null) { + closureArgs.push(argTypes[i].destructorFunction); + } + } + } + + let [args, invokerFnBody] = createJsInvoker(humanName, argTypes, isClassMethodFunc, returns, isAsync); + args.push(invokerFnBody); + var invokerFn = newFunc(Function, args).apply(null, closureArgs); + return createNamedFunction(humanName, invokerFn); + } + + + var heap32VectorToArray = (count, firstElement) => { + var array = []; + for (var i = 0; i < count; i++) { + // TODO(https://github.com/emscripten-core/emscripten/issues/17310): + // Find a way to hoist the `>> 2` or `>> 3` out of this loop. + array.push(HEAPU32[(((firstElement)+(i * 4))>>2)]); + } + return array; + }; + + + /** @param {number=} numArguments */ + var replacePublicSymbol = (name, value, numArguments) => { + if (!Module.hasOwnProperty(name)) { + throwInternalError('Replacing nonexistant public symbol'); + } + // If there's an overload table for this symbol, replace the symbol in the overload table instead. + if (undefined !== Module[name].overloadTable && undefined !== numArguments) { + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + Module[name].argCount = numArguments; + } + }; + + + + var dynCallLegacy = (sig, ptr, args) => { + assert(('dynCall_' + sig) in Module, `bad function pointer type - dynCall function not found for sig '${sig}'`); + if (args?.length) { + // j (64-bit integer) must be passed in as two numbers [low 32, high 32]. + assert(args.length === sig.substring(1).replace(/j/g, '--').length); + } else { + assert(sig.length == 1); + } + var f = Module['dynCall_' + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + }; + + var wasmTableMirror = []; + + var wasmTable; + var getWasmTableEntry = (funcPtr) => { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!"); + return func; + }; + + /** @param {Object=} args */ + var dynCall = (sig, ptr, args) => { + // Without WASM_BIGINT support we cannot directly call function with i64 as + // part of thier signature, so we rely the dynCall functions generated by + // wasm-emscripten-finalize + if (sig.includes('j')) { + return dynCallLegacy(sig, ptr, args); + } + assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`); + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + }; + var getDynCaller = (sig, ptr) => { + assert(sig.includes('j') || sig.includes('p'), 'getDynCaller should only be called with i64 sigs') + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + }; + + + var embind__requireFunction = (signature, rawFunction) => { + signature = readLatin1String(signature); + + function makeDynCaller() { + if (signature.includes('j')) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); + } + return fp; + }; + + + + var 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 UnboundTypeError; + + var throwUnboundTypeError = (message, types) => { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + + throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([', '])); + }; + + + var getFunctionName = (signature) => { + signature = signature.trim(); + const argsIndex = signature.indexOf("("); + if (argsIndex !== -1) { + assert(signature[signature.length - 1] == ")", "Parentheses for argument names should match."); + return signature.substr(0, argsIndex); + } else { + return signature; + } + }; + var __embind_register_function = (name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) => { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + name = getFunctionName(name); + + rawInvoker = embind__requireFunction(signature, rawInvoker); + + exposePublicSymbol(name, function() { + throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); + }, argCount - 1); + + whenDependentTypesAreResolved([], argTypes, function(argTypes) { + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync), argCount - 1); + return []; + }); + }; + + + var integerReadValueFromPointer = (name, width, signed) => { + // integers are quite common, so generate very specialized functions + switch (width) { + case 1: return signed ? + (pointer) => HEAP8[((pointer)>>0)] : + (pointer) => HEAPU8[((pointer)>>0)]; + case 2: return signed ? + (pointer) => HEAP16[((pointer)>>1)] : + (pointer) => HEAPU16[((pointer)>>1)] + case 4: return signed ? + (pointer) => HEAP32[((pointer)>>2)] : + (pointer) => HEAPU32[((pointer)>>2)] + default: + throw new TypeError(`invalid integer width (${width}): ${name}`); + } + }; + + + /** @suppress {globalThis} */ + var __embind_register_integer = (primitiveType, name, size, minRange, maxRange) => { + name = readLatin1String(name); + // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come + // out as 'i32 -1'. Always treat those as max u32. + if (maxRange === -1) { + maxRange = 4294967295; + } + + var fromWireType = (value) => value; + + if (minRange === 0) { + var bitshift = 32 - 8*size; + fromWireType = (value) => (value << bitshift) >>> bitshift; + } + + var isUnsignedType = (name.includes('unsigned')); + var checkAssertions = (value, toTypeName) => { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`); + } + if (value < minRange || value > maxRange) { + throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`); + } + } + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + } + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + } + } + registerType(primitiveType, { + name, + 'fromWireType': fromWireType, + 'toWireType': toWireType, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': integerReadValueFromPointer(name, size, minRange !== 0), + destructorFunction: null, // This type does not need a destructor + }); + }; + + + var __embind_register_memory_view = (rawType, dataTypeIndex, name) => { + var typeMapping = [ + Int8Array, + Uint8Array, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + ]; + + var TA = typeMapping[dataTypeIndex]; + + function decodeMemoryView(handle) { + var size = HEAPU32[((handle)>>2)]; + var data = HEAPU32[(((handle)+(4))>>2)]; + return new TA(HEAP8.buffer, data, size); + } + + name = readLatin1String(name); + registerType(rawType, { + name, + 'fromWireType': decodeMemoryView, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': decodeMemoryView, + }, { + ignoreDuplicateRegistrations: true, + }); + }; + + + + /** @suppress {globalThis} */ + function readPointer(pointer) { + return this['fromWireType'](HEAPU32[((pointer)>>2)]); + } + + + var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { + assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; + }; + var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + }; + + var lengthBytesUTF8 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); // possibly a lead surrogate + if (c <= 0x7F) { + len++; + } else if (c <= 0x7FF) { + len += 2; + } else if (c >= 0xD800 && c <= 0xDFFF) { + len += 4; ++i; + } else { + len += 3; + } + } + return len; + }; + + + + var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; + + /** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ + var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ''; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + return str; + }; + + /** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first 0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ + var UTF8ToString = (ptr, maxBytesToRead) => { + assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; + }; + var __embind_register_std_string = (rawType, name) => { + name = readLatin1String(name); + var stdStringIsUTF8 + //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string + = (name === "std::string"); + + registerType(rawType, { + name, + // For some method names we use string keys here since they are part of + // the public/external API and/or used by the runtime-generated code. + 'fromWireType'(value) { + var length = HEAPU32[((value)>>2)]; + var payload = value + 4; + + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + 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 < length; ++i) { + a[i] = String.fromCharCode(HEAPU8[payload + i]); + } + str = a.join(''); + } + + _free(value); + + return str; + }, + 'toWireType'(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + + var length; + var valueIsOfTypeString = (typeof value == 'string'); + + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError('Cannot pass non-string to std::string'); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + + // assumes 4-byte alignment + var base = _malloc(4 + length + 1); + var ptr = base + 4; + HEAPU32[((base)>>2)] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); + } + HEAPU8[ptr + i] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + i] = value[i]; + } + } + } + + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, + 'argPackAdvance': GenericWireTypeSize, + 'readValueFromPointer': readPointer, + destructorFunction(ptr) { + _free(ptr); + }, + }); + }; + + + + + var UTF16Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf-16le') : undefined;; + var UTF16ToString = (ptr, maxBytesToRead) => { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. + // Also, use the length info to avoid running tiny strings through + // TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + + // Fallback: decode without UTF16Decoder + var str = ''; + + // If maxBytesToRead is not passed explicitly, it will be undefined, and the + // for-loop's condition will always evaluate to true. The loop is then + // terminated on the first null char. + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) break; + // fromCharCode constructs a character from a UTF-16 code unit, so we can + // pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + + return str; + }; + + var stringToUTF16 = (str, outPtr, maxBytesToWrite) => { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + maxBytesToWrite ??= 0x7FFFFFFF; + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)] = codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)] = 0; + return outPtr - startPtr; + }; + + var lengthBytesUTF16 = (str) => { + return str.length*2; + }; + + var UTF32ToString = (ptr, maxBytesToRead) => { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) break; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + }; + + var stringToUTF32 = (str, outPtr, maxBytesToWrite) => { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + maxBytesToWrite ??= 0x7FFFFFFF; + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)] = 0; + return outPtr - startPtr; + }; + + var lengthBytesUTF32 = (str) => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; + }; + var __embind_register_std_wstring = (rawType, charSize, name) => { + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => HEAPU16; + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => HEAPU32; + shift = 2; + } + registerType(rawType, { + name, + 'fromWireType': (value) => { + // Code mostly taken from _embind_register_std_string fromWireType + var length = HEAPU32[((value)>>2)]; + var HEAP = getHeap(); + var str; + + var decodeStartPtr = value + 4; + // Looping here to support possible embedded '0' bytes + 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': (destructors, value) => { + if (!(typeof value == 'string')) { + throwBindingError(`Cannot pass non-string to C++ string type ${name}`); + } + + // assumes 4-byte alignment + 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': GenericWireTypeSize, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction(ptr) { + _free(ptr); + } + }); + }; + + + + var __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: [], + }; + }; + + + + var __embind_register_value_object_field = ( + structType, + fieldName, + getterReturnType, + getterSignature, + getter, + getterContext, + setterArgumentType, + setterSignature, + setter, + setterContext + ) => { + structRegistrations[structType].fields.push({ + fieldName: readLatin1String(fieldName), + getterReturnType, + getter: embind__requireFunction(getterSignature, getter), + getterContext, + setterArgumentType, + setter: embind__requireFunction(setterSignature, setter), + setterContext, + }); + }; + + + var __embind_register_void = (rawType, name) => { + name = readLatin1String(name); + registerType(rawType, { + isVoid: true, // void return values can be optimized out sometimes + name, + 'argPackAdvance': 0, + 'fromWireType': () => undefined, + // TODO: assert if anything else is given? + 'toWireType': (destructors, o) => undefined, + }); + }; + + var emval_methodCallers = []; + + var __emval_call = (caller, handle, destructorsRef, args) => { + caller = emval_methodCallers[caller]; + handle = Emval.toValue(handle); + return caller(null, handle, destructorsRef, args); + }; + + + + var emval_symbols = { + }; + + var getStringOrSymbol = (address) => { + var symbol = emval_symbols[address]; + if (symbol === undefined) { + return readLatin1String(address); + } + return symbol; + }; + + var emval_get_global = () => { + if (typeof globalThis == 'object') { + return globalThis; + } + return (function(){ + return Function; + })()('return this')(); + }; + var __emval_get_global = (name) => { + if (name===0) { + return Emval.toHandle(emval_get_global()); + } else { + name = getStringOrSymbol(name); + return Emval.toHandle(emval_get_global()[name]); + } + }; + + var emval_addMethodCaller = (caller) => { + var id = emval_methodCallers.length; + emval_methodCallers.push(caller); + return id; + }; + + var emval_lookupTypes = (argCount, argTypes) => { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(HEAPU32[(((argTypes)+(i * 4))>>2)], + "parameter " + i); + } + return a; + }; + + + var reflectConstruct = Reflect.construct; + + var emval_returnValue = (returnType, destructorsRef, handle) => { + var destructors = []; + var result = returnType['toWireType'](destructors, handle); + if (destructors.length) { + // void, primitives and any other types w/o destructors don't need to allocate a handle + HEAPU32[((destructorsRef)>>2)] = Emval.toHandle(destructors); + } + return result; + }; + + var __emval_get_method_caller = (argCount, argTypes, kind) => { + var types = emval_lookupTypes(argCount, argTypes); + var retType = types.shift(); + argCount--; // remove the shifted off return type + + var functionBody = + `return function (obj, func, destructorsRef, args) {\n`; + + var offset = 0; + var argsList = []; // 'obj?, arg0, arg1, arg2, ... , argN' + if (kind === /* FUNCTION */ 0) { + argsList.push("obj"); + } + var params = ["retType"]; + var args = [retType]; + for (var i = 0; i < argCount; ++i) { + argsList.push("arg" + i); + params.push("argType" + i); + args.push(types[i]); + functionBody += + ` var arg${i} = argType${i}.readValueFromPointer(args${offset ? "+" + offset : ""});\n`; + offset += types[i]['argPackAdvance']; + } + var invoker = kind === /* CONSTRUCTOR */ 1 ? 'new func' : 'func.call'; + functionBody += + ` var rv = ${invoker}(${argsList.join(", ")});\n`; + for (var i = 0; i < argCount; ++i) { + if (types[i]['deleteObject']) { + functionBody += + ` argType${i}.deleteObject(arg${i});\n`; + } + } + if (!retType.isVoid) { + params.push("emval_returnValue"); + args.push(emval_returnValue); + functionBody += + " return emval_returnValue(retType, destructorsRef, rv);\n"; + } + functionBody += + "};\n"; + + params.push(functionBody); + var invokerFunction = newFunc(Function, params).apply(null, args); + var functionName = `methodCaller<(${types.map(t => t.name).join(', ')}) => ${retType.name}>`; + return emval_addMethodCaller(createNamedFunction(functionName, invokerFunction)); + }; + + var __emval_incref = (handle) => { + if (handle > 4) { + emval_handles.get(handle).refcount += 1; + } + }; + + + + var __emval_run_destructors = (handle) => { + var destructors = Emval.toValue(handle); + runDestructors(destructors); + __emval_decref(handle); + }; + + var _abort = () => { + abort('native code called abort()'); + }; + + var _emscripten_memcpy_js = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num); + + var getHeapMax = () => + HEAPU8.length; + + var abortOnCannotGrowMemory = (requestedSize) => { + abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); + }; + var _emscripten_resize_heap = (requestedSize) => { + var oldSize = HEAPU8.length; + // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. + requestedSize >>>= 0; + abortOnCannotGrowMemory(requestedSize); + }; + + var SYSCALLS = { + varargs:undefined, + get() { + assert(SYSCALLS.varargs != undefined); + // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. + var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; + SYSCALLS.varargs += 4; + return ret; + }, + getp() { return SYSCALLS.get() }, + getStr(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + }; + var _fd_close = (fd) => { + abort('fd_close called without SYSCALLS_REQUIRE_FILESYSTEM'); + }; + + + var convertI32PairToI53Checked = (lo, hi) => { + assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32 + assert(hi === (hi|0)); // hi should be a i32 + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + }; + function _fd_seek(fd,offset_low, offset_high,whence,newOffset) { + var offset = convertI32PairToI53Checked(offset_low, offset_high);; + + + return 70; + ; + } + + var printCharBuffers = [null,[],[]]; + + var printChar = (stream, curr) => { + var buffer = printCharBuffers[stream]; + assert(buffer); + if (curr === 0 || curr === 10) { + (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); + buffer.length = 0; + } else { + buffer.push(curr); + } + }; + + var flush_NO_FILESYSTEM = () => { + // flush anything remaining in the buffers during shutdown + _fflush(0); + if (printCharBuffers[1].length) printChar(1, 10); + if (printCharBuffers[2].length) printChar(2, 10); + }; + + + var _fd_write = (fd, iov, iovcnt, pnum) => { + // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 + var num = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + for (var j = 0; j < len; j++) { + printChar(fd, HEAPU8[ptr+j]); + } + num += len; + } + HEAPU32[((pnum)>>2)] = num; + return 0; + }; +InternalError = Module['InternalError'] = class InternalError extends Error { constructor(message) { super(message); this.name = 'InternalError'; }}; +embind_init_charCodes(); +BindingError = Module['BindingError'] = class BindingError extends Error { constructor(message) { super(message); this.name = 'BindingError'; }}; +handleAllocatorInit(); +init_emval();; +UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');; +function checkIncomingModuleAPI() { + ignoredModuleProp('fetchSettings'); +} +var wasmImports = { + /** @export */ + _embind_finalize_value_object: __embind_finalize_value_object, + /** @export */ + _embind_register_bigint: __embind_register_bigint, + /** @export */ + _embind_register_bool: __embind_register_bool, + /** @export */ + _embind_register_emval: __embind_register_emval, + /** @export */ + _embind_register_enum: __embind_register_enum, + /** @export */ + _embind_register_enum_value: __embind_register_enum_value, + /** @export */ + _embind_register_float: __embind_register_float, + /** @export */ + _embind_register_function: __embind_register_function, + /** @export */ + _embind_register_integer: __embind_register_integer, + /** @export */ + _embind_register_memory_view: __embind_register_memory_view, + /** @export */ + _embind_register_std_string: __embind_register_std_string, + /** @export */ + _embind_register_std_wstring: __embind_register_std_wstring, + /** @export */ + _embind_register_value_object: __embind_register_value_object, + /** @export */ + _embind_register_value_object_field: __embind_register_value_object_field, + /** @export */ + _embind_register_void: __embind_register_void, + /** @export */ + _emval_call: __emval_call, + /** @export */ + _emval_decref: __emval_decref, + /** @export */ + _emval_get_global: __emval_get_global, + /** @export */ + _emval_get_method_caller: __emval_get_method_caller, + /** @export */ + _emval_incref: __emval_incref, + /** @export */ + _emval_run_destructors: __emval_run_destructors, + /** @export */ + abort: _abort, + /** @export */ + emscripten_memcpy_js: _emscripten_memcpy_js, + /** @export */ + emscripten_resize_heap: _emscripten_resize_heap, + /** @export */ + fd_close: _fd_close, + /** @export */ + fd_seek: _fd_seek, + /** @export */ + fd_write: _fd_write +}; +var wasmExports = createWasm(); +var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors'); +var _malloc = createExportWrapper('malloc'); +var _free = createExportWrapper('free'); +var ___getTypeName = createExportWrapper('__getTypeName'); +var ___errno_location = createExportWrapper('__errno_location'); +var _fflush = Module['_fflush'] = createExportWrapper('fflush'); +var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); +var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); +var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); +var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); +var stackSave = createExportWrapper('stackSave'); +var stackRestore = createExportWrapper('stackRestore'); +var stackAlloc = createExportWrapper('stackAlloc'); +var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); +var ___cxa_is_pointer_type = createExportWrapper('__cxa_is_pointer_type'); +var dynCall_jiiii = Module['dynCall_jiiii'] = createExportWrapper('dynCall_jiiii'); +var dynCall_jiji = Module['dynCall_jiji'] = createExportWrapper('dynCall_jiji'); + + +// include: postamble.js +// === Auto-generated postamble setup entry stuff === + +var missingLibrarySymbols = [ + 'writeI53ToI64', + 'writeI53ToI64Clamped', + 'writeI53ToI64Signaling', + 'writeI53ToU64Clamped', + 'writeI53ToU64Signaling', + 'readI53FromI64', + 'readI53FromU64', + 'convertI32PairToI53', + 'convertU32PairToI53', + 'zeroMemory', + 'exitJS', + 'growMemory', + 'isLeapYear', + 'ydayFromDate', + 'arraySum', + 'addDays', + 'setErrNo', + 'inetPton4', + 'inetNtop4', + 'inetPton6', + 'inetNtop6', + 'readSockaddr', + 'writeSockaddr', + 'getHostByName', + 'initRandomFill', + 'randomFill', + 'getCallstack', + 'emscriptenLog', + 'convertPCtoSourceLocation', + 'readEmAsmArgs', + 'jstoi_q', + 'jstoi_s', + 'getExecutableName', + 'listenOnce', + 'autoResumeAudioContext', + 'handleException', + 'keepRuntimeAlive', + 'runtimeKeepalivePush', + 'runtimeKeepalivePop', + 'callUserCallback', + 'maybeExit', + 'asmjsMangle', + 'asyncLoad', + 'alignMemory', + 'mmapAlloc', + 'getNativeTypeSize', + 'STACK_SIZE', + 'STACK_ALIGN', + 'POINTER_SIZE', + 'ASSERTIONS', + 'getCFunc', + 'ccall', + 'cwrap', + 'uleb128Encode', + 'sigToWasmTypes', + 'generateFuncType', + 'convertJsFunctionToWasm', + 'getEmptyTableSlot', + 'updateTableMap', + 'getFunctionAddress', + 'addFunction', + 'removeFunction', + 'reallyNegative', + 'unSign', + 'strLen', + 'reSign', + 'formatString', + 'intArrayFromString', + 'intArrayToString', + 'AsciiToString', + 'stringToAscii', + 'stringToNewUTF8', + 'stringToUTF8OnStack', + 'writeArrayToMemory', + 'registerKeyEventCallback', + 'maybeCStringToJsString', + 'findEventTarget', + 'findCanvasEventTarget', + 'getBoundingClientRect', + 'fillMouseEventData', + 'registerMouseEventCallback', + 'registerWheelEventCallback', + 'registerUiEventCallback', + 'registerFocusEventCallback', + 'fillDeviceOrientationEventData', + 'registerDeviceOrientationEventCallback', + 'fillDeviceMotionEventData', + 'registerDeviceMotionEventCallback', + 'screenOrientation', + 'fillOrientationChangeEventData', + 'registerOrientationChangeEventCallback', + 'fillFullscreenChangeEventData', + 'registerFullscreenChangeEventCallback', + 'JSEvents_requestFullscreen', + 'JSEvents_resizeCanvasForFullscreen', + 'registerRestoreOldStyle', + 'hideEverythingExceptGivenElement', + 'restoreHiddenElements', + 'setLetterbox', + 'softFullscreenResizeWebGLRenderTarget', + 'doRequestFullscreen', + 'fillPointerlockChangeEventData', + 'registerPointerlockChangeEventCallback', + 'registerPointerlockErrorEventCallback', + 'requestPointerLock', + 'fillVisibilityChangeEventData', + 'registerVisibilityChangeEventCallback', + 'registerTouchEventCallback', + 'fillGamepadEventData', + 'registerGamepadEventCallback', + 'disableGamepadApiIfItThrows', + 'registerBeforeUnloadEventCallback', + 'fillBatteryEventData', + 'battery', + 'registerBatteryEventCallback', + 'setCanvasElementSize', + 'getCanvasElementSize', + 'demangle', + 'demangleAll', + 'jsStackTrace', + 'stackTrace', + 'getEnvStrings', + 'checkWasiClock', + 'wasiRightsToMuslOFlags', + 'wasiOFlagsToMuslOFlags', + 'createDyncallWrapper', + 'safeSetTimeout', + 'setImmediateWrapped', + 'clearImmediateWrapped', + 'polyfillSetImmediate', + 'getPromise', + 'makePromise', + 'idsToPromises', + 'makePromiseCallback', + 'ExceptionInfo', + 'findMatchingCatch', + 'Browser_asyncPrepareDataCounter', + 'setMainLoop', + 'getSocketFromFD', + 'getSocketAddress', + 'FS_createPreloadedFile', + 'FS_modeStringToFlags', + 'FS_getMode', + 'FS_stdin_getChar', + 'FS_createDataFile', + 'FS_unlink', + 'FS_mkdirTree', + '_setNetworkCallback', + 'heapObjectForWebGLType', + 'heapAccessShiftForWebGLHeap', + 'webgl_enable_ANGLE_instanced_arrays', + 'webgl_enable_OES_vertex_array_object', + 'webgl_enable_WEBGL_draw_buffers', + 'webgl_enable_WEBGL_multi_draw', + 'emscriptenWebGLGet', + 'computeUnpackAlignedImageSize', + 'colorChannelsInGlTextureFormat', + 'emscriptenWebGLGetTexPixelData', + '__glGenObject', + 'emscriptenWebGLGetUniform', + 'webglGetUniformLocation', + 'webglPrepareUniformLocationsBeforeFirstUse', + 'webglGetLeftBracePos', + 'emscriptenWebGLGetVertexAttrib', + '__glGetActiveAttribOrUniform', + 'writeGLArray', + 'registerWebGlEventCallback', + 'runAndAbortIfError', + 'SDL_unicode', + 'SDL_ttfContext', + 'SDL_audio', + 'ALLOC_NORMAL', + 'ALLOC_STACK', + 'allocate', + 'writeStringToMemory', + 'writeAsciiToMemory', + 'getFunctionArgsName', + 'init_embind', + 'getBasestPointer', + 'registerInheritedInstance', + 'unregisterInheritedInstance', + 'getInheritedInstance', + 'getInheritedInstanceCount', + 'getLiveInheritedInstances', + 'genericPointerToWireType', + 'constNoSmartPtrRawPointerToWireType', + 'nonConstNoSmartPtrRawPointerToWireType', + 'init_RegisteredPointer', + 'RegisteredPointer', + 'RegisteredPointer_fromWireType', + 'runDestructor', + 'releaseClassHandle', + 'detachFinalizer', + 'attachFinalizer', + 'makeClassHandle', + 'init_ClassHandle', + 'ClassHandle', + 'throwInstanceAlreadyDeleted', + 'flushPendingDeletes', + 'setDelayFunction', + 'RegisteredClass', + 'shallowCopyInternalPointer', + 'downcastPointer', + 'upcastPointer', + 'validateThis', + 'char_0', + 'char_9', + 'makeLegalFunctionName', +]; +missingLibrarySymbols.forEach(missingLibrarySymbol) + +var unexportedSymbols = [ + 'run', + 'addOnPreRun', + 'addOnInit', + 'addOnPreMain', + 'addOnExit', + 'addOnPostRun', + 'addRunDependency', + 'removeRunDependency', + 'FS_createFolder', + 'FS_createPath', + 'FS_createLazyFile', + 'FS_createLink', + 'FS_createDevice', + 'FS_readFile', + 'out', + 'err', + 'callMain', + 'abort', + 'wasmMemory', + 'wasmExports', + 'stackAlloc', + 'stackSave', + 'stackRestore', + 'getTempRet0', + 'setTempRet0', + 'writeStackCookie', + 'checkStackCookie', + 'convertI32PairToI53Checked', + 'ptrToString', + 'getHeapMax', + 'abortOnCannotGrowMemory', + 'ENV', + 'MONTH_DAYS_REGULAR', + 'MONTH_DAYS_LEAP', + 'MONTH_DAYS_REGULAR_CUMULATIVE', + 'MONTH_DAYS_LEAP_CUMULATIVE', + 'ERRNO_CODES', + 'ERRNO_MESSAGES', + 'DNS', + 'Protocols', + 'Sockets', + 'timers', + 'warnOnce', + 'UNWIND_CACHE', + 'readEmAsmArgsArray', + 'dynCallLegacy', + 'getDynCaller', + 'dynCall', + 'handleAllocatorInit', + 'HandleAllocator', + 'wasmTable', + 'noExitRuntime', + 'freeTableIndexes', + 'functionsInTableMap', + 'setValue', + 'getValue', + 'PATH', + 'PATH_FS', + 'UTF8Decoder', + 'UTF8ArrayToString', + 'UTF8ToString', + 'stringToUTF8Array', + 'stringToUTF8', + 'lengthBytesUTF8', + 'UTF16Decoder', + 'UTF16ToString', + 'stringToUTF16', + 'lengthBytesUTF16', + 'UTF32ToString', + 'stringToUTF32', + 'lengthBytesUTF32', + 'JSEvents', + 'specialHTMLTargets', + 'currentFullscreenStrategy', + 'restoreOldWindowedStyle', + 'ExitStatus', + 'flush_NO_FILESYSTEM', + 'promiseMap', + 'uncaughtExceptionCount', + 'exceptionLast', + 'exceptionCaught', + 'Browser', + 'wget', + 'SYSCALLS', + 'preloadPlugins', + 'FS_stdin_getChar_buffer', + 'FS', + 'MEMFS', + 'TTY', + 'PIPEFS', + 'SOCKFS', + 'tempFixedLengthArray', + 'miniTempWebGLFloatBuffers', + 'miniTempWebGLIntBuffers', + 'GL', + 'emscripten_webgl_power_preferences', + 'AL', + 'GLUT', + 'EGL', + 'GLEW', + 'IDBStore', + 'SDL', + 'SDL_gfx', + 'allocateUTF8', + 'allocateUTF8OnStack', + 'InternalError', + 'BindingError', + 'throwInternalError', + 'throwBindingError', + 'registeredTypes', + 'awaitingDependencies', + 'typeDependencies', + 'tupleRegistrations', + 'structRegistrations', + 'sharedRegisterType', + 'whenDependentTypesAreResolved', + 'embind_charCodes', + 'embind_init_charCodes', + 'readLatin1String', + 'getTypeName', + 'getFunctionName', + 'heap32VectorToArray', + 'requireRegisteredType', + 'usesDestructorStack', + 'createJsInvoker', + 'UnboundTypeError', + 'PureVirtualError', + 'GenericWireTypeSize', + 'throwUnboundTypeError', + 'ensureOverloadTable', + 'exposePublicSymbol', + 'replacePublicSymbol', + 'extendError', + 'createNamedFunction', + 'embindRepr', + 'registeredInstances', + 'registeredPointers', + 'registerType', + 'integerReadValueFromPointer', + 'enumReadValueFromPointer', + 'floatReadValueFromPointer', + 'simpleReadValueFromPointer', + 'readPointer', + 'runDestructors', + 'newFunc', + 'craftInvokerFunction', + 'embind__requireFunction', + 'finalizationRegistry', + 'detachFinalizer_deps', + 'deletionQueue', + 'delayFunction', + 'emval_handles', + 'emval_symbols', + 'init_emval', + 'count_emval_handles', + 'getStringOrSymbol', + 'Emval', + 'emval_get_global', + 'emval_returnValue', + 'emval_lookupTypes', + 'emval_methodCallers', + 'emval_addMethodCaller', + 'reflectConstruct', +]; +unexportedSymbols.forEach(unexportedRuntimeSymbol); + + + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + +function stackCheckInit() { + // This is normally called automatically during __wasm_call_ctors but need to + // get these values before even running any of the ctors so we call it redundantly + // here. + _emscripten_stack_init(); + // TODO(sbc): Move writeStackCookie to native to to avoid this. + writeStackCookie(); +} + +function run() { + + if (runDependencies > 0) { + return; + } + + stackCheckInit(); + + preRun(); + + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } + checkStackCookie(); +} + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var oldOut = out; + var oldErr = err; + var has = false; + out = err = (x) => { + has = true; + } + try { // it doesn't matter if it fails + flush_NO_FILESYSTEM(); + } catch(e) {} + out = oldOut; + err = oldErr; + if (has) { + warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); + warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +run(); + + +// end include: postamble.js + + + return moduleArg.ready +} +); +})(); +; +export default Module; \ No newline at end of file diff --git a/codecs/webp/wasm_build/enc/webp_enc.wasm b/codecs/webp/wasm_build/enc/webp_enc.wasm new file mode 100755 index 0000000000000000000000000000000000000000..bc64905d4a70c06ae675bf9e727d0283ff248782 GIT binary patch literal 309467 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%0D%W=JYX%bbAgF7amM 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

`O z4JsXYF5_K(BeTI&0}|JCp?JeS{g1H?1MRRO;|n7q0%PkR{xaJXzb$Ihrx`X5>J4k( zom=)8)?bvr+5AVbrt`yv2eUwO8*R767F;wSa{$+~IvE+UK{bmiKAvutZW1;_G#IWB zXVerHC4m53frP<^-Gv^hhzt=ZVt`wY=?h)8gehq{tx08g8L3PxA^eEm2qTs)^goKb zmsq;(Q?F-%8turZQ^RawHAYP8ged40iyDz=KkSG>H)t?c6k^7Jq3|)_c(l5?S(%&T z9ZiTIQrujkA}n@Dl)>H_aJtsA@8PZ&wuQ7Q)I@`4j~?E?s=^EpMWOQ5^+RYO2)V}T z+c4@D1EQrJXQy5`V?BlZu?&<2+MzHT8wgldOME3)bF{$FB#&51Y!IPlN1>8UFP}2K zysg2S?*98~ivMGpfZIm?PfrTD3t<7<=z+)X#+ssOaDwTl%o?|>@g*;T7i1#`z~(Jk zEq^nb|CDGy=RgwJsWI6*$7Rfb<(VDSdDpvW!@cA1ye`rxrzEseNR zBC)6QSN8PZyYi#yKYHTTScA#Hp3Yy{)BpKD*z&ITe&B!dZ0zY|%bq^@!~gT&AAj8~ zo{c@7Y}wP_y6>_J+JAVvXJbz%TlVz))z5tH2OfE=XJbz%TlVxnefMo|{d*s~*R!#w zlP!DtKe_WSZuy0GKj7IR*Xe(}?ujXj-g+0)#LrPJ)LaX(=Gbee!L2hK0PJJ02_@ikv1dAtU~MFVR0C63r?+Fh>y<2byj(jq93;nHzBC(D_p2 zN=-r~Ag?8l;f1R6LX}sf5*!@h4EgIu+JT~FpDO6OzI+=!nSy>>Ncn$X9iZ8fK?0r` zOw0}@3ZgDZJI4+Ud0%#L2?37t(?Of47H>>Bd7Enff}Ul5f}Ayj)oZOg6nsJj5^%->-dOa?NTzr!+^3}i5Whh;Ds$YA~s%V08) z!TcST!DJwV`8zCw$#^aq-2R!7WDGYxbF(umRSbJYPLBVHM3E#-XvjfCb80;(h|!pv z+4!O^O+hNO%wVRO;ou_OXpD2OEKs$U5Ot_XXyRc8VPKgw`<|^!o06?sMCgoM^}FT1 zQ9Zz8>tE^=}C)TA&ErtFY7>7Wkk< zT#0*zoFcB$LPuI{10B^6`bDcyH2btBO7Q4h^ni7Ia!dOg^VJ!yn~)ld-Z_FATjevN zhH_$1E;=k`WjCeaD$7!+CJB(0)~9&q+Rg}IG2ion&66!~Y2}U9kZadxl3uFTiwA-m zXboWR$7~4j`vu%FxqmW5YQlz}JQlZDhyj$-GOVPbZm70j7cJrrN!7?sUAw98WQ~p) z71?2%5He!61h5K#xN2&^4Fuf2uFocb0}UT7d{?Dn_9!#Nw&|xbs9C7=4xqP>9fAql zvfsClX{pRA&b!1mjNP2U4^}b4$=d>%CA)mxPS6?F9pgX5f@=&%J^Ha^I0Ik2ha_Pg zyu%boP&@^3z zHd^8!myLCScF>`7CO*O%>q*clQWI)%BlIYYRYNq^)*ni_87&qT9Z(LrsC7|8wvb71 zE47YAmDPdXC)_jT_Pz0{ylaDh3}65*qpn~lEO3vERy;^oCjIbEne?MON@8${m?ki* zu;!Qspor$8{-SpKKoni9RHLJSMTUhl>*xub%<#_R;UwW-72qfj>YMhsZWA#f*b-5Y z`pCaAQ9Pg*oR}GnvpiE!wXA*Z$t$V~lZ2Z-H=!{kllphFLL?g?La2rx)mBGOC10>) zF1PYuBizNi5iq_e$xZQZ!Zs1HvIYo~z{1u?7&R$|U=X{FQOp**+IsW;uFWxX(NLM1 zcoIgUJUYE*G4`GievVx~c(3l7o3#X&wWV*g7;ndKOi)BqfQJN?)#o_IeN^{@#V$?_ z)1*Sq3AJE&+A)mH3=FfPF+^8yCa?>%`MePgRfqAjA)4m;h^A|!SXWzN%KXnE09Iji zll@zagBnUErqIFWC*M@dC~lw=A2ODlf3Dhr4Mjf2fnnYY=_LyrdX{an9G%CFCGqg% zDO=Dn4{ddXh4;7#tO_`8F_Z8z3ezSbV5roXbc$-)m0}WU$HJ?JmX12Nr8uybWuMr< zmSwMsYhf3O>S0nCE?s9-4fBfZj1UxUGVY?us54BOifrnJR<)Jx=NWGXdt>U0ky8iB zPXn&4@ILts<~aEc=A51UJY1fUpYDV^C-RH#iO8|zFt3vz9U95^^%RFq7U$LSX{CG$ zMJTx|ST&Dgqm{$wkdQAktz;NHx;>c%FYY z!)ks=W4Q665*NZIKyC6;MWPGoR5+|4rx_1TUN9}Ur4>dxdj*k=O-Xa_&HDBODs+h+WgESN%)cH5kDOi6MmZMJRfSPgfHYTr*%a0Jt=P_ zUuH>6>YjXsCD9>0`8}2-@VF;mX-T#pJoze1vj5=8*H{ug)swHaBu0Br{-7n%SUq{z zlBlhoe1j!hMe?{MYen)_OER@5$M;s>1h%0yO}EfplfK)$rKlv*Xml2ds1e-qEUD~~ zDg6E=v`QNZ3f8E@qOEAILtC&hk%yM(vtl&e$VXmoYPl35srV|O8u$kdVxxH) z8;xd+oRbcdM~vV)*lX)Y4{?@(?0y~@HFldM!3bsP4#ah>YEHzt~ z{b3M-kl0u_bV5Pb$dH;9ry5)i5-rZJN@^#$olP7h4Hcr(A~LJrOt%tIVh~&9C-X$_ z@$}*k8$1%H?N`_ZLCWXWM7wadb|B#RC1J{MLBLdMWRY6MUgA??38 zzqWj`+Z@%3?@YgO1eK$+uXg4>s8^f?%O07K((%z!$Uw@ zFB|}5Pddn7p!=?B_ckYfCT$Ueu?)*tr+?jsr}O0EPb&Br;iV_KtIS@v+ctt#c_1HU z4ngO`YPgqzP>u!K`k-kZxekVyF5}xafFcQmD|g-m|JrJcn!8-v*a2rVJ^DP&Fbp?I z6Q5ZMQ%9l7{M5;S$E$Y9qZ<}3L}vA2&)bVmaf${5KJTNG6?OWX(WRsEngtQQ1b6+I z$vZh7rjF##*geNW6#sOjBesB9GJ1C*W_45FEJo5T`$L0NgS>d=7p^Kz{9Ciciwu_68q9O z>*PMJoBDSX7fzHtgvHU+*)WlK=Uk)6KyFMPR#fi0lB;~DADM{RLo$6GB(4ZgEhPx*L-TzazG7n~NjXvx?^sCE zd80%=qL-shdzlllR?NrnXA_-G+4u?W0&9Ag|TP)n1zE7xTfgenT(a z>XA%EZxqU`=V_kE9b3y(9j-^<_g)t~!h?QqfI{M1v(%fX_B`7gSf z&$CFG4;Lv~@P*XHc_bZ}L-6z8O7+x@R{yCRWAc@rd}U0ocyc8s;RBSUQ_!h>yU&yR zVp0Zd-m-#(_PbA1(`|Z^Q--CeM5Gy07b~?;q_!&+iqsCJR*KY4rB;j7E~WMrDT2ir zf5b{JRT2h@$yFs`qnO;SBzzW=mtj~X1N3WA0}|ZX-s6{vamg@gw@lhPcPq< zWTV@wuaP`(QzCy01OS=j+>BgzePUQ%XQ_aa`v<}>xcv;8zCfuBWX4T zxl2phgh#nC5sEx%<MYbvqKVQopEgh~D`G69kTHC~X5ZQ;jZtY~=)ClN8tcJ|I7P z?Q6U$3vA9)n$dyIke6-le-h{e} zM#j-tjnfy5!+x;ztwNVG95YmBBaF=&qPqn=KH>|_* z&ned*ztVrai`tZHP%^rh)Vpt`uEeHyG~Mqh*1zTxhdOe?W;upP35PC(Sxt0IV5BsNI*g-(9Dw!VVm6K>7YN;SSq zzvw9sDIbb`yD9i|Red#m^AHAH<+EcOwK<0lE+UX9prSAGX1SIBx&-i3 zs;r*hRpa>!bwIS>mUYE(I;Dze|BI{<)c%wDrQOdZUKO7)^cAf!UWx8=XU#@HSE8Zh z{|sp4(Gs)*MvG+ud-YZ@E(^p-SXH$S;B1W%Z?O&lnkgG`T@tc(#2Eq(2l>|GEn_@FbqYj9mY|zA`WYp zWIxrUT7-4^c9yrX^?nUjh*_kl(F>`=un_+ICW?Tc63|4LT3V^T-vMRN`3_rz{&WuM zFMHA0jc>sUCvN0V^N{}5WA@9TfJhGigf*pl33XKw{YE+7ON6r3JjDb-m5!T;i1uhzpH})9ucxWL5_6$(J%`wS-$VN?WpRBFRXy zd})crm~vYh0}kbr=9g3XF~mB@@u7?@OjomP7;dozD%gqS$Rf5PsoSPFk$ z_X&Z67Jd(64QsRmwR+yZfxNnAa=>DruG9Sw)p1so3^gBi0F6&s@KUETn%yUniyX-U zSV=su9G>IhK$@6uP+tkw?ZGVVXesWs}%cqN@4iDUP^lyNv9Y${9}W;KtLJ_ zP_osRa%tEahybzt79_Hr_PjW(h$_;HX?NM4vansBY!BP`1e%8mY_wR3vhvc_x?na? zeH5J@1#mukBFAKg$NQxTNAUdKi48s$UN)}4jI#NEc<+0^_i#Q-Wm}%RvXVFl;P7hr z`z)TSYwNjTT=vGg46PA47YaE(LJfuj?yo9!B;5|)c>vA)5MVX)u7lnJjiMt%WXv*j z5>J_<5XBqLEDFEyjs_z0f!O}i@y0+kUP*^J?~IT+nMg8y8(qv77G!Z2 z?uxb*fQF|XKmjB5=Y>8v0ULtmg%N-j_nE>*KWx4L zP-0U>K-nDJ5Ku}ups?EpfI`1iKBd5uY1n}>A;+@__ct?@>{M5G`czWWn4D3(FE zI&?pOjA_~YhTMK9hU-2bN4Zi9cynutvI)|6vq#1#IQ~%0W z5XNL6!_+&9z8JVs8eSzWj$~kxvSq>wxM3xwy7*(dA94It^fd-T_kXkf+dQrwPzinY zz!HfixKhs&-&QafC1grV!fvA!Xs7s(C79U}mqq25g=KNX<*1%Gn(bi? z{USiwYucAU+^Mk*A?!7?uWTw*7gk{)Y!g@LS#(j&KeF2E{x7VOfS>Pobw;(c-Nz%d zOYMN>$&aiWi=m7iQ74H@V7^*fZPvPPuj;G7k}9tRHhhjOW&69I)M|Kt_xJGYvi@2q z1KETPc}u{cwf&U_;Y!#qHY7gXr|Gr1z*I15bC*s119^uX(Os4sc6I*(1B5I`TRWWU z9r?f6dlz`Ss_Nc{0%U_X46Od|DYPl`mi;5PkZK+a?Ep5{Z&HwuwbFH=a zKCeXd+W!BaKOxy`%{3omjydKSV~#oIn8`k_B1^u^3K{I5?hzB0Q<0Pk#3cS6=Y%D9 zbEd(1qcX~%5X$@HOfoKOwa#XhNT2zu-_$LVMr(C1niWN%Mcm5QXl%xS3%j%tt3d;2 z78s9`2=rs({&=Rv zxGeTOR4Rrc1!NuPy)RwEgNMRQt)EH^FP%C)nkGG- zm~JRyqd_`68x6DF355=?)%L{3#j*>$vdMsa0Y~gjd$tbPi(T~&af#Nk*kvdkJCriO zUo0?NN%8|3U62;^!=r}1n_(mmNfnbV)^D3sjIJ*xGE(4~VSPcDZB;%bK5wuiQ!xZK=%LvItGRU$ z;A5uQ5_bl4x;*)z@hQ(_6ZA%uEzCu|l1Q>9<~BUlV6}0GR5I{XoTh-dZ_xypE+?|8dvAYN|sUjG9K7%zHTgu;(OW1V4mQ1(dCqV~L zO*qesJgde}iRqy{Q=&#VSSZ8*TJk|<^Uh~t`!LLNbid*aA<4X(7}e$!_Xt~Zt^%0i zpmYKRcBY%bQRxjVa5uoUEG8{`6*p=Vl?vIc_*nk9jBQMgJIH>hsQWL#_@yt$tio>3 zuLg?yboEFJw^COnU8v@BTdr)x#<-is4VHOyZ3H{r5oUE8`*71|7%*mIRb9)Hod?y#UV)QfRGZSc28wrwy3Xyn%m zx=yiij+&sTKVDDSbccM(>#i~CdPawm(UbrP^n?=gS|V&mRi{P^FH}_#!x)(9o*X^K z)gx(?1Qa6QO9?xVI9J$t2vC|FuV{46r|KNP6dM%8?3m%~tt0ZPOe~QxEE3tC%!1~B zG{TzVIXp~wsfNXKAc#UHw*u-7c*G$`x`ZAJ|J(-4u_A3r`Gh)BxZ{Es%=FHF5(>f% z%vl+)W@ZX*@ocA=5~Ra2;IhxtJbN&VGpw6gS}&Cnuw*IF0K!iK(0WI;C>IEOxxy87 zSmlfYdxi}JcdM`bglYTF!HF&h(}rU570&chMKX*eRt1z4E(>`|o&*m{eiq_BMd$@2 zfW0p1eqGu9I@o>%N<59%FYxTS#{kg*5NnjHPPBXC6u#MjFg|UKMxIaeJU0#L7oGNp zcR);U!JtW8Z(N6IAqI^;FMmz%X<+#Uy5gC5&diH8EK1It=U0QCK{c`^!|cm@i0WQ! z@O7aaR3%XxnHvUeKQBbC6QadaL$t7fXr;X6Jw*K_L`&Kb*(Cx$FGTFav~jdzYKWE; z5HS~~K+?)KNUMJlNMf_64HDZyQw`fn57I>J47NdGbLtl`U~4;JId^JU1`AkFIGJIM zY?cm)GqZjeDN=e5tW39D_DRVVA@baS-)JYYxA|vP;!1>9G5?T3#UH<27<H!- zwn!|%z%@f)aHvpV;0&W0$W0? zqIlGS3XMKw=f~STZZpLqz~`D&4SFScLa}quL47)k`>;>i#(K3#n^&YErHZu0MH)NL zMH=hJCt!K>IcJeZ2rzB!<=aMl@*;pXam~FNh-tIIopXXeM|`W#`|{tt{APa`4wDwDJG<-=b)u4umyardZfFH}gxMTu zu#(NecZ4*acE|#Ey?@@T=j}9}%WCPb49w%YakqkALh?g_MuWFtRd9^2be{iV0ncc8 z{A*z-)gtzb!C0?;m!UGM1`C`h*0^X8TILH1!T>^Duq>dXeK2S04BVzWa}Bk2 zhK87A(S$q>nKG!@n(B6#%#IFgdO$S=2!gU~fxB}%D`4FS^ANER9LulA4N)2}tR5Pl zZ5%9kLTiA^at4sOcZ5b@dGK{T&-TxMre`jjR{BGF9`Mg!)AKC<{8c^o`{%Fdxz9iE z({s~5e_7AH{`pIK<{-c7d|1y+Gd=&Qp6mYkK|R;}^B46DE|lkiP>jWhkhl@Dk7)43 zG3XFfg3sp;`Fz@(GTfLMF`qSdNJ<^%TJn&Y;LQe0psZBP3YArLkpYEWh0nH0mMdMb zTPajqwI)>Sp-saEB1cc{xo-h#ficykS`g1TNhf~+7T zTlx86B`|CYT@8_+RuH5Qjl+l;rgV-`HJPa+#~AeJV&L~V5mV%jBS=XD*`*T zZYw*czt(X&nWaR8BuGXA8No;g(80leddGz`98NYIVu#?Rr4t}{*Kn0D+!={YmgsWV zyGhLJau}|4*w^J|p zV|F8IL`RWsz&)K>T8_lViD3jd2Nh~y(eH%*7+sny`T&o@U28U>htdJZ4_o&tZ)bry zCSasFTT^I&Q5!K!rkz=0a0g^~$1PceoRsL3yEYXHiLE0xm*_4`pqFw={0PytjSPXt z&jh-zge06>tR@yjp zjM{8BAcBWrnYhIrNzr(@^u;N?6rQa^@wd$%4rVa{-Qdy2d`p3D=k=PC6?^ z^*ANz6djmAyNab@kr~5_kC1?DBZR5C*Q#xj&exa4=WOe_3{q}b`I z6+|{a4JeSGKAc3QpzVfR6A!R|`1l|=Eg%A$3;n&)S%YN}Zw!DXC_6#=v*pmWv9^s4fG@B>ki)e4y-TJKrM&-PO%?6Gp`Peoz#*-EyadsrA z199iht{PIsq&pMHWA;(#-^Z^Js>}S)x2GMj4vw($#U4jJ&9`xCHA$7Vl3bcnO1ka= zv1jacPfP0XY3wrq%%o*##^T|`Lc&$_wj)NB5FrQV&YVAPkB9NtzSES@W^->(I9sEz zKQ5hiIarHLlHuToEoJ>kvl0;Iht6Q=?13;Y7ec15pfXJ)8uWkY!S@3gE@LL=#G#N; z=-Jfj#ayp*bu}iX6PeRyg7TE;GCE( z%>afaE@Ir1pQ7H$R3I{wADKWnH|*f0z7TrRE%ejlkEQfz2_PFgk)>G#*mV~;^V3bgzrk2r$O$g+hzEg? zIuYI$4*{7iGAPs77m~=BlG{ydolh$0{=8x$?jRB#D>=Xbf)ErWygi z)ok{88atUYG5B1A(kMPb{EGb{zfS|!0DH&pjX3f|L{MgSyq-dP!wr{SN?o`+gz}V_ zvP3~7@OX5n8vh#b$$l7(yfUUN#Og$Pr@*6Ps8@swIt2|o*NTIK6$M7_XTNO*(+}SP zydBgMY5}(y57SV~_I%-vq!3Uo)V|3;a=rMp(5hT0nR3vQq@T?flgU{mq|m)B`ADVg z?;{NHAHf}8X!E>WH&kPUin3j?M4GaB+OxV7Gul^YhqYf_G?Gt0H51Y~nlhUZPGm~O8M>5oEkIu?(lSxcrXklX`{fse*pauM*aj30RN5;Ms!rcb(k(l%9;GdYz(S~P%p3VEim9^}J8LjPQ#e=Zbd z1hbn0MKOjR5(7Fb2tGQbHWt!`>bl*cu5h?Up{ubyK4QP0C0~%;&}#C#ZwMkJ6f}po zs|!{~50gQ4@vrl-Y?wyhk5VNA)G80l!b?Tj>L8LE8ukxBVrLxe6|u}R67YewFPE!4 z608}jM!JSBP?))*sB|>h;=m)yXbPEtBO8!QTadf%^R9B+hVu&s2|r8-OmFb4E`r%G zd4D9jwk;i=;W1c)^WiB#rHzmzi)PTE6ev7fjbQ^pEwZ`5823OIqLi??As{zm?CE?n z%)b@lQ*RQWtw16)Kc=KRIP6`AkMa$)Ao(%3GM9A;%qgX?P8&&gQWaFFfA))i(9C|8 zx7WqZmxmF-Dy$QeYG@G&0x7FwP0*~Kby~@)I$-;I67A1KexL7YaM*kaaAaFw96n0) z>1>SYR0#iXaqZ$(Nt_^iZ2s^fY-Hp9U{{bm^G9TZw1Vc>Dt>{x_xX0^yaQp$4;a_% zoAVXrC1633#_^!kvBgr=6s$$;55N}+1+gO5Dn3co7E9VKgAnaGSROn&KiL*ZP>_eG z`5H=fdABtFysYAlu*@R&x0PFY$mQ!r*it(CV8{oRs8EkI6o?AHEBk#GJt16|eN0(e zwFT?4u`s&@tMLNWCC+Liu%bnDM;T~(=u4&5i-NAIG~X*R(N9v%pPo%7y3L7CpXpU_ z4s4w>(7R+W@V*Y{-<)}DHGP+SKbR%wI8q8Y?fw=^i9Fx*1R&EaTg9?P zSrxWfN&5x2A<{n9>?4XNLHQbp15sj@xVq>F9hEM<=aXSl4n30r9kZOU*i6N!#9cHKR>b)&n2a6$z|&!()vn>@NJh$d8!52%~60yF!yx+{n$ zRG_gJE~l)(`aGe6%7h9$txQuv&lE_kPN<+d69l$hJOP5*gbF-CP6I)63JB^GD)4kW zO$A266Ch|zsGu=Z7y74wpl3n_Ju_8c))KbvJ1MbuLIu5L1;`~)Vlm(RE?_LJI?hb1 zhUj^T{EQO^6dT?35h4WTgb>0Jd?jd|(N^QS=!442TC7;*DF6yvN19zWk*Zu5XzHXY zx16j~bQ$yPDDmM+IguGI2FvVjn6@T;Y4Y5e$`jFwg?Qw z06PH`S)zZIZORl0|6+u<2pK7d{#`?VDykoMU zLFLzX)nX{|Pt+lRy>+FYY*$3OAlo%dMY8gJhZ!u}?+2dO{hb4r%3mwW-|owo?>G4J z<@+oR|l(_RaY@fe3np@)TLVRb$|8F9SG=PR9?_3iv^9Hls6ILrZ+|J4i5~n}%v14pH~UIt zDON6WmKm@CsNQE#`>#hn2iYSwTckx}k2U&7?KHEQ`Ro+aj#~pMwh{>!Zz80!k4cIU z_ErVV3G^@1(zC> z75SoJ{*y{C3j$GPwJ_%tueSvdKs_kyZ$>xlg#qT8qFF^m;@N=w7Ku3!@%P&OIgb2;@bkp|7En!4n~MjWaD1M>Tg{ z-~D;afqWZY5}0iZ8NRaRy&qHNPDm9 z?KeXr?y9t`h{U;NaURvFZq+LH5ZXjbmvz4Xj9{VVl!5RCz6?*#_gQrOTUm}Nv!rDf z=RuSilFB@YVJCpT>i{=&|Bd%QQ1Ly?DUciH1)(8jLIuQQH*vr!p}XegftJzc!j2p{ zBN(8(!W?#Gqtc=OHU7lak#8yymy4jY9)J*&*L%pwgwr}xLS#Visg7X&#T*74w z(iaCB6{w=OJ;>TM=)sI|t!(~&`Y`AUw#Frw9?9j0jEhc15t^GYHcdwbvzGL;=@_em zc#tewnFVVG{4mf`?#M#h7eT>FWMGv8m6vg z7=g7qC6&D>J8Z0DYgS3CgEq?@Q z92<*9F2(;|>t#04ZA+a|Bzoe(XF2Wwb?IWbcN600>M;Uijp@3Wt?L&so}f^6G~VT~ zpM^;6I2%}RIA`lb?XbmInA!x+e`b%l`0k)LDhzC9#KK|UX~2|tv%a&P&)bZB_qDVd z>OXsuHed}T%CH}1$d&7dmt#Q)j5Ht$wCiD3ylJ4NJ;(p<&jv1UH7;}9i`6ucWO}fA zCLu`Hfa1%~O%nankp$P{8A-4?upu+tL^*B@DUCxTMI}8-8iztiwoDTx$4S-%ZFwK3 zni9Y4{#Ww;$DRE*nw^;_u-t5D^@}7>fuQo#qk&jt`N($8^IvwSu;SRDRysSCOh2g1 zaLshNZ?5x$ich`|682wWjMn+?R6Dyfm+96uaghlVm=+S8wGn z_fTnX1?h;)%`yG6!Ibx@1WlHO4$=KwK>H-1ebPW{Y!GN(MEq=EmGH2$_H)96@`-cQ z2d|DV6PmohVwC#0Sq5?*U_8t~OrSVGl1FL>^_S;Z5vNdhg=E0{K{)YL&7Q`?G>(A=0v*aBTBB2e0h;M zr>Mo;2-T%8^+SEO$ip>NhoQ8cXxBS6Sj%)TP_X!yGWig=sdUI>1fPyrMERQ4{4H@2 z@M~6uXwWpsr-poc$j#K?yPRui6PY|Vww1r3!&)=4!1ej{n^tUWZ6f|Qu(04~3o9`k zCY#Oa)?{YlX|F+!VhvKr_DSqsM@@fWbHA_b;DklFj+Scf_tL$qMzXQ1L*F;9701HM)F1D+9&}M-SK!98J0z7VEPB}thN}IXz&owSH%-Z>p5Yj0y>l)ZS>_(2uWRi*( zUF7LXKIjmGjuslKfdhoc&3lipoUpZeWo5Lc+ZP{RZ2Otm?ajWu1V#VvvDph^Hlr$+ z%i^+0Z_Di8l^0W`H|4@}{83RT!^*CFMSn=~>Sne*SuSWpgx=~P z*SneRY&*ZQ`##ALP%QS@K7NnTcYZPQ zXWRMJ*2$9)l8pcR_{EB!?c$d`g={;&vgJP+D>g3Q`JJ!t{4UUUe%WNno@85zjg@R4 zzihQ+yZB{i1(%ZH)ag3|nd&>gEq&*Ak-qc0Sl^+tWA&ZiTP(a_TV+OWA*xn;@0XedZmx~3gZK9y%87Wo|PgFY2fp=EdMJ|*8X zKPjti+itnbalBFPmza{b*C8uk@sB8^Vw{JnGX>-{Wv8$ZgV@-@>`o4?elv70^pA^v z9U`6`0F_GY;J$L*0?e5{%lDm7aUXOmu-qGW!1Xf-rmTcX0G;BTRi-o-{kp8`OolqM zfZvDe(6_Klvm)@kExf8a+8`#HZcJ9Fb$`|H!zy*`q*BQR*vT^yp6u48VOqF>g(r&U_ib%@eM|NNcF)<4naAxahf^QEkR?$D)*{`peY zKh29nv{m%amn!;qK>gF~Iz;KBfBy1k>!0T4Axahf^QEkRn%RdaRrJr7vi^xL9HLaw zKVPco-!tl;xXU3*7ya|MSX=+Zn+{Q`=$|iT{S#+9M5&^GzLfP(eDM&aivB&rLBb5* zT3fw0wcbGxSlp$iq z4-p!yolbMBM$=V9oH}(hJ(Uo1D@WbxQ3Q{#Ykw(d@ZpreLep6fBiDLMYK(Mpcd83k zMs74+ZSqBjTy-QJ=Sl%L%Y+3i;j z9SpB>r;fEwy{*Mjx3r6owPXQ_~@b_Lg zNaR2}m9*-78am0Xy8D*o+DfhtEJnjQrRi3muV7dpc=gcLV_X?`K`Gf=XpPdPSje*2 zM{5qNU{F`zh|^xA)7@KL}DK5tQ(ho4HWwl$&pH zC%R=HzGvs>(xr0j-+#aU$tW+iY=4FtVh{JDiFB(SF)Hd3cS?G)Lql=Po%EKaA8K_e zFX=KueaSbUty-^Vd*=e3tmb?R>wp|~?eut!v16!Nh0%skZl?lWe0ys(L(a$!uZ#je zw5!Kjt2Le)O{T``+Z0I)y;g@j5cQxd`}TZ%e&qyVswE?YAF+RYG!&(1Nsg15CFivI z1L)o+z}B2 zos>=qO(~rcxl%e)eMh;JxR=r?r9n!kR1PVfQdp#PO5Kst`9gi?mtB5SI^`B3rBgFl zN~heIP&$uC$Oep*`+A%Qui zHbuGFZOzh`GZ|c#Lk4r3*Wr{iDO{FA3UhnY;gmBuT$ZDM*3YL^UIZaFuizR*KPSOk z^waBM*3UwJp0QlfPhZaZDS|v?dqqEeIqPSkL(kY=(NABl=;s0TbJ5|nTlDildptF< z4he73PhZaZsfl^Waz#IVIqPSkOCMH0eYv8a=#8^op;gaVzUZgd=4?C*eR{@nML&Hx z>t~@+&seVLr!QyyEOhD_%RQ=D4Bb-BI0j}3aSZO&5yv>fl*;x*)*M8sB*B!*ImFJL zJO(j0-1+2$xd_XDOl|O6s+Ds}-MbSuPGxtOGbOJqXG$#XqFBx$KKgAkL`JS=ArtFpFP%y1s6wEoL8a`wBqTN!( zbQzi`r#(&GMoaDkQI4sxE+Hvd^!2t6`-CQ9A95E?CPR^KS~VVd`cy z=u6DYB6MqMnx<~5hayM()cI*}YK$)M#C>5lx-GViaNXAWgswyvW8gd}hs?&sd9bH5 zIEY9cb|4$$=fzN>WvF5ymiEcH4ZGc2E#kE0U0QpTQL)dcspn#utL^lLYe;!j7_<@o zDx{fTh4^P3XaR=&qeTj|PUSlm`LaoIn^2U>{;_$dLGxN6<7#7OlR}vNL^$G`WKx*f zIj;p20n_r}Tl2N^rE?}sTYev%Pbk31Y6N6mSI9V%;9u<2C#x!*$?sZK8L6}vS#sBJ zZqiJ)-uOipUX9qMQD^c#=BXmGuDW!J(fLE>e;V2NNSm2KAR#Ed`eq&PqNw# z1!bOeT;p9EQ}+1f4@xnPf>a5iGR$VCj?>gPwgwmqd2Sag+d9cA&J7Z_xdN~aylDIj zNac+^T8>%h;_@;R5r!IKsGUXHpII3v!|PiEoV`ZvXDbI+VCn=@TnpE^u$HS1S@}A! zzk{DR10P0fE$sjEwcx`#dLswL_?dWgYd=KwoVR;GEZF-e8BYB$zw z>K0hTYo92K1-7b_u>~E@ge`skd9j5+d=A)B7$xYbjV(`T&vW2@h2tJnhF8d|BdH_0tMJ@UrO$;RG zI11~uu(@^9t{Pw(n6RS-!X%(x5DIAv5|^6!E75^ya5Z!8?zznMZ1gnFd5;aMt~?Ab zet@^I()>|y4%q2b12V_j^+$X|pKYD8>CCQ1-{6P?goz zAv~<0xIYPv4cR9x!QQ|eLd*`=msR&DS|Fw24YaCbwhAj?FSZ>nZxS|yVX>FzE>Tq5 znxY6A&ho$)!7qiNpA17h0uzV8bgGfE8dy>|ho-}pi=^wo z&DL=ho=(c}wQ??%l30v9vaf@->@JWhl9xiFROkSkSEc!*n4qpwe->KrcpzZAbQaEf zU5KW#=vTcO*FX~Uk;tm%+b}y+fCJNgw0 zL#lFJnYF!3c>9|ELGucfQG47sDkHS1j8&h}T0z8Oa;2bTt!c~O=YdhtKH}M^hTYF|{tY;Z$W-%_P?TN#QJM3x zM9-=RVH8)YHLefMK_Y$+%7eYwYJzv-QL<1G#D0D8WR-K4{@5^ID`Ju|LHRDp_=TE8 zI1Ao=Fd+M4;SYG%OgTR0C@cT&i1Ndqx3wZF0SyOr`Fd4EOd)E81K1s5&E_A+Va3LK zo?n_U#OjR*h!fn3(}^~#f|2(;qT8q^X2j+wXLVSoS{+SDL3r99EFFO?V`G9=i}XFH zipyVi@q`b1{fGUNK0N3@ z@b82Y`}_xtpA$YjyEB0H~*4KhkuEPL(UrD6cW{ZJ(DTP&nCG8@O#N;TPM00502If zEcYj}hFjrY^d@tcXzz?D%;?nKDfp$ZoPz7L>iAwz&)n8Y9S#^LofYsOmDU%qLxFB= z_G8nL;a^-Wiz5bGK)@!maj)n|ga$1cS(|4|EYB7%L7^9v0T{xxo-LwEBUNM=G)5Eg z<;dN~r7b^BymKtc7C{D6GElG>6bHv)1-FpXIz2+Pwew->-jHxNjG>wQJL~`SH2$u3ed$tKvybJLfLodc za>!aL7;N9DNBbxEsj+oJ0hp56S+Lo#V*od?eSw-!O{Vb@QLY`iS?{TOx(vu9?ab6Q zwbw}OmgTlOK>leYE8kPOl`r29XcvdHs8F6=MTOcAfQ6aA$TIz6UtR8w^WQZsayvQh zHeIc7=Zo1@`Q1-zwjZ$E7546Sx#bg}Bfr^I%W~LNx$05uyfA{XVFhz zuIT3h!TW;4X}9R7x3gP63w!sB?H2v?<*c8Dy?e%TML&Hx>t|uZp0QlfPhYO+C;I`* zOI!Ag<%@oL`@HqDuwl|?RIsw3DXY4j+x;39m6!dBzj!apztVZms=)_ke^e=OvrC0__7?Pe`^=h|FY7g zJ!AQz-O}{G%oScGGnOmbElvN{E~bB7Bsg)}PXV`?;DNg|{Vyv$OJ;1>Oz>qnO#jv{ zrvGK7Z^?}1i*`%X|1wtBhk_TTU2HjY_?IA`&?}zuVTsT#Ev$*WUlkBj?j}Kcx_*-M z4AU4+kXmbY^!?s6e^|zK*neI|uH8lLr^`KMHJ7%XHYyJn%i-|WL$?p$qk_6E73j1McMqxH z-oZn%I|M~g^Y*&*!b1CwWu4SIDYm7M*(A}vWX#{LR6S^U729%6Z_=%_BC}_$3cTZp z5O19{$B~n+cetgvQ{K5CJ;`)5UQT^`;W(lsJV{pFjGN9X97j%eE6j1^Bw2o!xK%j) zpt9fya-v&-9#goIoaCfnnk$Jt$d%-z4^7l$|yRUbG1Ikq67fF{+;{G39K&Kr4C zZUT&3?g8sm@_b9;v`R_bi<_Xj#(M5dXXDzT)bcF)|B$soo18_2&0Y(Gz zMOkF$8UofPr0yH~NQ=`MH?;H;?74wQ9>&&uh@llq=mUOV$z?KO_*UL30Fo>1jfeNf zt*SXjy4BY$*V;@mCW1@hA(t@Ua9q#(olQZeh2(wAH&Q z)#VqL5ZMUxAV;Q-QRMxe3`>!Bs>!ka;Luxa5|}xMTX@e^XL{_ij3tq?yN+kw;Rfy) zbuoV%{B82L3hVmvXTnh?(Xtj+DY_&2cRegpana9qeJ12g01H35ajx1WmHflHpl>$Y zwrm#lXb*n{KM*dlWwocGc(mH}Av3|LxGHre33$(7TxAymlLFhLR zYt}|$3Fa4}1Vfz8e6gO@IWzk9vQ!=6p`q&cd%jKB1)@$!+>Wf`MNPf)Fp!bNKHHdu@KT7ROtwS4CHPY)WogSRNO` zuzi5ORne%udAr@JXp`QSL|C#!)nRt#u(BdDL9*}_Doh+nvKp01V`lL35&nFp{g%nc z4D=~0R7$3?veaJ7BTH79#7%SLlHsXL;=Uu2e6&Dc6J|P6eEdP5vQi1Mu9c;Ts7R8G zVPz6w<4BV2s!ZB$b^FMJzNQ0~$;UGEDXUdV2D-8o9)%>yo>nGdEFwwfuRKY%Ow2@* z0ACtPd;CwYh5>t_oN~{X4{x6ADpHcF9Y!5jnV>IyPRH~xFsx?wR)?bPD661=_M{uu zskb^*xuAtw=jy7f)>&75Qe8S|htG)XS- zqasL_C@2O%A|c_?nA58X9t+f2OLoNbDFI#;VwkOn#Wa3~T@cIuOd|R2B3PJv$1P8cEo!XyuW?m6SED+%RSANYVRS_n^p2!WNXtCPxkxO= zO4^qoAh42F9EX_Eo~f`eodqNVR63v|atV;k8fY$MXeI&Tk!)q`NUd&{2I`+y!VSt? z%^qjdOMTr4ICUzjtHfgpw8pq#0c1PKg2NMZ3!9fzuNz_ywPMF-4oq;%lrCxPMWbmZ z9|2}l;QE*rLGn?lWJukj1DDwL5%BApqyewLkP*CG#8n6(2mFqpN3(s>+H?+GpX=t} zl06r9>?7S#>+!}uT300{DKTGh#h&M$H-aa2-OVSih9fxKBOwmib%(~VM6VBr_+{7K zLijxqrt!_LyXUWpE&_iq;PD0W&ORokpmRtEQd1t&;k4yi=_0o%IZbsu6sC5=2vr}8 zvTz&*!s9llFQoG{;pBSF!sY~bf?Mofn7lj1pqk<$pDt%4mmlJ@^lq_Z-K`dRJ66ecclvO8 zhC3sDv3qf{iVDso<4fF`?jxG!B}gRq9?li!WgK_$*jGyNp#kgKO> zxwBm6hLRgmZPK+&xk0x!`8`vhHEK8$q-Rs%*~95Nw=O-$os*nSQ|I#cJa?`;ZzNsM z*Y(!i@}QY+;KR$@2KTa&^yPH>?CMD|0Wuvd`x6~pN(-77U0U+Ou+G}G7TPLl9dp`7?f0UF4WCRj#i-k zyF&59**$@A9j3(q0r+(VQ5plX&3DvHR~3`cOyar?O(gE?)8H`U#1@!q*s$x#$Bbd= z>ePa>3^ZTwdpSjI#x|`|m7r33soJd43Vs7$2$`U&8RnAwzG{%t>gTBNfA--Zkj{S> z{DZ*1il@ZjwkTS-H5#SI+~MePy%8ATwzLe4*s|2|CHw&6Vt!yCPT?Pyi1TUn!p#bR z#--LJ`ye3Y-+~OnLXh025RGJ9%*8u@7qd*Miz5zDDB)|OQ^B*vFp?+ZbWS!GMp1K| zI62ZC39p!ix#}oPbp5lB3{skP?)2C$7@M0Oji$Maww^WD+O-?QaWTN*cD z0D()BAK)SaAE~(oI@hrfzVZCzhd{Ohw!z)-#x{h@S9p=sJxreIP8y<)ac9&eTo^a* zH={y}uLxPrmU-eXiC1{%$796j+QXSF+1=WU7PXHXDRoVm%0TmTweV8WrmoEl=^slV zHs!fvox5oylXW;ta_L)$bdv_j&D1l%IB|-{#4i$R{NAc<3~F)I3#Z=+r_cVDMB;rg zIEtk)ONj&7pOBcqD7h34W8-Wk9+CY8iE~(Y&BgAC8!?IVxvcX@S~yZiZH{7CK7CJ> zfjQdEOK!1`&*S6sbk1gex*+?)7pmz(DC7CKh%aO`ZjI9yWdHj4YI+PK<=7iI#<}E^ zahhh^XsMMo;NPih!NbY9IQw(Dc5K#{9tV?#eJB4thJoKrgG<24@$Q9gi9237Pslz? z@uiT{G8p<&j#g9W^6VyBe-V`DPeGlioGY@A-(7`^FNBM)z@~Px5>LrKP2x(J^{Ha% z?o=hN%5I_fY1v|!IXvC1R^sW|4`}_2Yze&lbPSX)R^pl2Uy$=9*)q5}Ox?XyiEFYS zk~j$MWo`|8I#c3M_WKk+D_aTk9)g#zRpQy%Pe91JY&8t~Y_|@kP2#!P0~9|mI}?@- z=XUFrxFOp?H(!?R4bqp3ZM&B%^%dDyfc}+4Y){X3uW+w)=PUJ9*_Wx{)tog-f5pAZ zz1sbXQZLB<8I-<;1ylN3cY%A2d#zG`HTx1^UC5={>FeCDx(nUwl=}MYAaK2bUFYaS;?1%}_?G*o(#`*rsl?jlk}R{ssk`ESGNup3S{x{b+gBtA>6o3eYt z^kTQkU7YNSvuCOCU6{|(-*oSCznT0GP2x)^c*$@&;zl&PFXHA2rp=*sSF}d2DcbB| zYD1`n(&#^+!Xho0q5tj~GG+?ndJ+%=&EFvQ>)|$(dDNTtAq044AQKWnKNpl$lTR};_eljM3W}7RKM83JogYz|{Gk+0a!P*j(???% znpn~#f23&jmSie5SD5ex^>|^jTXKRg4b)3u#FF19QIJ%Dhh}rB;gRw8VL0DQY&TJ2 zgN?cL%wRPci~JVIwQP?7wADZ(+bcnf&_)CcSfs3g?M?nz;2Fjw_7P+Ak~?Eyw4_-u zp#hS;>Mj|U{NM0L6`G?Q6*y$o%~fYU7sDSd=_m>vP4dw?g*Z=QONDe@6r5O$*O)5$ zv74XN=qgt><&w(}%X8}L{T*F>V4ALeVRBdRo~f(%sH+s3*wuSy>MDi)4|ny89bJ8J znyxYrex^~~qpnhDVpnGzRSF$`SJxemZXn9kOk-Lldzoz$6l%1CJHzlO&wZwvvs_rN zc`!Ho(_F{M*Rk`M40HTs%{2sA!UHiX!W>ObOu$;aiuEL4%qOJ?zv2c&+7HH>j+)f7 z^)nX*AxP)I##rsSxg*eh4bq+^^#Rg8GHF26M^TuFS}Xv?n-3G}FC7NdUz!r?FHeSg z-_H%T8B@Lzdt=ICocrMV-7A^y75hN*I5Oe8XBy#WtgbI+ep5sq8M^YDjoxeoLGnS2;p0BO0Jxb23@Zf-pOa#$w?T*I3Glz+W`M+4tT%R z)Q^3!>bqfYA1~fsZ^x4W@o?-tMgc4uFhhB^YNV8W4Q5Jt7}05l83tGS0DYwG)?Sqy6r`mDdV(f+&Y(*d5{0Bv&T0VeSEX;<21-dC~Nu3V6kxY z%e{67rS@Z((o)b&Lj<=1AnpPvw1LJz(-8W}qOmtdJ$5DG&xg{l!@aDj4#lH6(ELp* zkGStJJ+w+-##u#}l1=K*OD1p2&OSyD(*j0T$jUEbT|Y)i8^pGTkR$csPNaUS=;tp3 zsef2B_BKySKM$3vyO2`yKgB&XT?(GZtm}QQ#QGP{ky!r^Bk!;{)f+rcrR%z|ED#X)hPkn`U0;$p~nfmFptP%#sY#V5vI-_wo`O6qPMdBOIt->m0Q|+#T zD*h%4mx#kuvmIPgi4N6m7UfCGtRB{2 z{_mLv^TAHB^vnaDZ#NVJeOR_~ktu7l!=inoqw8-q!_7c*c~tQ%yL&Eli}n-XAJ)Ke zQ9O0-)tC+OZ%a(tIQ7mG57xInijV%-5_)Tnyw$`&H9|3bomvQVFaiI3vj}Eb7e$`YKL_Xp1 z;myV<-<^hDSrKc=w`8tNzHJC@1LSL*cGSz=C>Y;MW@4A^jLBoxM5hH@Y;(ra5UsQx z=|JC^vh=h7wo48)FR?3RCn(2L(7@x`CCE3iIHzvg9_GzgNuH1a!QXxZEZ;*;vq{C? zYmccyG}g9_pb8xpR9A&ZOjg;afayHR2}6akNe5MCNn|tM|3S)g+q%SXHQAN;5qrKWIR{z&X+g@EM@$kH1F65$&D0Z zmT=kRY2n|{XN+45+AG6>>1T4u0NeZa(hB9AaOiz|p-qFJV8ddB{ZPj&Ch{!BwH;vW z`wx@ZoGdkhGi3C>b1^M*jM+VnoR8NeS0{;YVD1RktqCPel(cbet`^1}M4}ywH%Lnh zRGSsHOs;4)C<~f+-Y=P8ZQ_`5M~Smg;|FABl{Z4a<1RxWSrEpP@oR%VqXMX%R|L!< zwE2IYS^+#PcJc10xiuC|b*mRH&<0_wEx^9Df&I5XW3IEW^^UZXrv!9X7G*^rgUXnf zu6A}Ibg-TDeY%u55KCL!IONM&UgCC-4Aj6*vyG>QwRD8hPQky3t(avz-~BEWm_ox{ z`?J>Qooc$PtOdy*aCq^J*pC3&c+o!NMIt+xj@g-r4&#{-CrQ<5to7?)o3fO$QXtwn z3`ke@ko5R20 zT#~Nh#JtkRZmnf|ElpQA#iXFJXFnlDx6k2NNb13Zb<%Gn{Ygvb{vO_M<^4ebnwW1l z>GxQ=&v!5H9|DZVkm|GlwhpOM`!7iTx|;1H%Lgq>Ftk+(==9n9NvI?P+2cI_%RQ9m zdG~|W>?e0ulO)^yr`2r#UOgS)sgnI~QfFrmeo4K1)}D8KS?Sl`qx2`gSj|2_>Jiyp zqz2iiDLE&5+@3#pzn-6@<}mw;rElM-S`L8rIoWQW z=UqHkvd>vP4_o>p_U!9_;7{81-)zsm{%w2O^?%ROef{q<7<~OtTAl;c*~q?Z&*NXM zWqHf)~Za+8JV z6#}#Qfr?d5U1Jsb?OVMGSNGw(iq|vo=&iZX1($IWK6lpFp?KxBW|&D)`J%L#1UqN0 zU>K+f*1Y^}Bb}wk8=eh(n)1>5v(XV;toH_LTX9zh@kJ+&g0BN!E$&WjOhz$rd-B)D zm>;|Nkfp)G34Eb6HlpVGr+LzaEDdKWF4WRjCzlR;S}Y$Ads-r=4}0RY;xhlVLcZjd zwo-26_JmW@YX5ZRs_0C5hR3WhtKSy*#fJz9N+({~A9leX>goVxBtjFP=_=>zeNX_q z;kb>+81Lg2{FQ5u^TbIA1(fAMct#*J^2E)wct+@nP_nST?xqYR4Umhea{7UBc3nFo z-u%}nzdF9Xe*|F`D><`<3I9Ai8={zW&WAS zXJy8EnGv5;peicpvGj~eHi97q4HGW;1rW5feY zwT0rer+8T7f(6NY+UnCS%_G@6TExb{##ZQ6t`L>0*{4wmZf^0P6}&9#A-EzLuX3ta){R0YqRtw*X|%xaxMr$MI}ut1|8? zH^Uw(JF{SEy!&g_R&{5qHr|q39)EVW8aox$PJfhP?4jyT#}a;NeBf(51$x@glYXE4 zT6KJUJpcT7`T5cO^TVB=_m!Xb=AZA%KcfrY>{PX@P?wbY`pr~3UYr`sc8p!c^?_qo zf$&JZF7%3n!8JnxJ=d>jm3nFe(N;XP^19nTPe?D};i~`}4=vw*8(JABeKvEu@s5Y8!%O2}9Ly1| z*uOZ~Pf^De*Ic`h%F%vfp0q=VBcp)X zF0>k0V|rrOz*P-<<91T4iStcx-_VNfw-H1q4zG&0)<&bj;*aPn914C#=oxa`Ei%hN z?rc*G3sNTHxg;us^%k-1p{=h$6w}7d`NtqoIx6(RJqPO>`cVkR_8#PbVs`Zv`LQ}n zu%m}?b&i;YxAli*;f^6WpCJJ{z@qfm-fc%HnZ@7xlVdge=587Oe5<-Pcc(Bp?+qyPSf zM~yOJ7;n~uXsP`iG*?}_YUxjA|I>fG?j@FCeC;>xxaq5_Z@A|r6dBJ)K4DOAatzLb zWIJo%ozt)&vXwo%B)P8A>`X|MP$kFjHUG8}*S5x2$@NuS3^z*V&~H~HhxkGJIygW8 zy6k~>Ynv&&k0nxYpB6~^!?0a_$#C|bOJKX1w!E?HFq@6c8p#JF<8$QhU&AV@rSkd2}6+E#B7J)ZMk*S5+Wmng7(ukmqM`6Uzwam6(3?V885X68F zzUBn}+$dr4ibweyWj;R-0gG?1|61|>#`#@r**aLaWw;i$WzVk zW3pMlZff`Xz?#=CDDmo1LSEK#$$4aw?Bl-!Yc60ivfzBLz>Wbsd7tlq4wRR)VGOd9 zA^6f`VwTvJZQ(b_1d^L<#4)7ggOygF%`2q_J3)E#W{~M3~d<8p4MHE|3@ zopjBdVXcH=EueJKad`B8f7NsFI{&54GD9=#H zGY4nxxE4mf75SRWjVO~dNpQ{i3sOWvIL!?C;|RuC8|9=>NK@+f?r(hSdW1scg+eSo zJoYTyH!6h!VW>Fq_pBER4h^j61%jaEE8!*u)g`Wjb3(S)XGRzoLk6!x81C`Xu~i)> zn>BUd8Jg@$L9`?J+n9Z3$q;inEK@lR58SjG!Uu zgcE2$FT3-^U6xq8uT{SdO(5G36Rczhp0a^geK2FqxPPeXP#;1=;T4u&JDMuKq0KMc zaq7v31#x2!jWR>R@#f!zVFfvzlTE{uE8@USA`fbr}@Qwu@r&@$* zR%1ADA}@&XW}&jo__hV6lC+yb{WW1?3Nd0Pxv|p39(IBrKU!%L$6&{IYM9QjVjPea zWB+$*aHrp84Zn-@>#Am7&mImpwyLm>DhGjMp_O&)rdEv(0tja?68|$dgM@V4%XkBu zQuryvgABe7BxZzPWgxVuYjLpKmJvN#Ug0E$Bt!p)Hetrpj>(zOv5FI@2#e4k%9m|Q zggWwtTN!`Dn4IM8VQrMzwQ{sA!louQnEXCgRG4HIB_AV=XwVh`)5;h?q1K`X73)I) z3p6)q+E=2Yl%jvC>ko8|cloVsK%#>cB4HGLQ(^LP%@#pv35YlnfR$I`&o zk^S2~5$_D*kQb)^!<;cJ!_&c(TKBl4QJY%5hCBJPrd(RB0~56hW05VhAL;xzY-SZ0%I=9AM-C z7{wBBN*lYy$uetsOHe+fbWP3n@7U9Q<=0^1+<1Ku%0gAUzEn z-d=&dV4$-Uy<0}c);?B=hXJ>B5wlJ-hvg%kM=7vn^f>w0&rH z$xTHR9E)g!s{<;@AZ7kL^8qfOe5xYDnc}{H9iRcs=5K{IBcxa=ubB=5JuMGtom|02 zvcpK#7pumygl2%uZL<2r8r9ot=~oNe+hq*I!DoN^?qS_V{GM%BD7Xyl(M4DfAR$J_ z8n8JUY@}~%SZ8gP5WL~LwdSt?x(xfb-&SjdKt(L?D@HIvrhsOE%BZg{yxdkm$!!%L z=;@KXCc8MQ2r9F!(uXwjs0D5J(G$#b(QHy0*_r;(vM1z9j#_!hXUP2-fPp%lz zFQXiDZ$YcF1qzaZ-YVpa1x9wdRe%dBU_^VrTa#?5Wczp!ZnW##l8^+pD7(s4-_7L` zv>@_^s%4yqh!Fz#A|N_aF(0doe?-rEmAPB21qnt<9|IH%&T-(Zfd~y>36Voh!!EfQ zI6=n7OGmgBO`ruHv??$cpiu=kB(y=Ryc?XCz`=q9oIe#K0tEpE5KquI(5k~6{io{& z7g-2bPa$x_1}Xzq1AEqNYVh9v-I}+6g9y!&c+2Ki1N$?8vJ9qf(Bkm!G1QpnnNS38 z!rv!9X)jEPv1xk)m<(YQ$D@PFd7yQ$0)~X2kAWZdF9}g{5py!z_qZPsW?x0a8Y^f4 zR{}k4zo4UsxF|U)LkAV@v3Hf*R-Bz4);88B|M(^ z)W&l|W3eRK_1)Tey2cLJxxZUO-{_kqJw{imwP-%D<|zOi+LglD4X&$MR80W{RiHB; zKIVKCFE+5*oz*s3(AVE20t}Ru?b)g|vxu1XuQ2Zuj}wgzyj)F-*PsSv$It*1m~B#( ziL>K`+bzG*3N~&b@Ha2)X=E?O-&Ipgh%06jt#+WcY89(;4I)3PE6AQlu5imn{yk>h z0@nTdUf?_*3hnu5U4%%cx9F-?lYg!fB+A5cF*4fBfiAP>Z^7z43?78L>beCWm*`F4 z9B>&Jpt1ckP=2XZhc4xs<;-xk5szoMYr7Ao#CzSYbL;`{Jkxj>$fQNh;Kay80f6|Z z5WJ!ZMtuR`1F~;kdZO3?#UM;jr%p0v^9=nw^f8qhA{3q{5DHY?2ay?}^l7vv5I{*N zo)kQx!0FlH>?9OVMk2(VP$Ew#!c7iWi*XVe0A+iUYM`0h2_NX6&G}-c(^Egw^}(|R zOKmV`qMlP&O%vkjd-=m7q>MQq8qIK%orsi|-IlkFt>y@mANW~Uq`63W_=#Fe zc0gfxAI}O3fccf}(0)|d%7%V*Ua&3?RCy)eME0{xh16}U;88jd*yJGG*U|p7+RqZvrd&@!jd6kfb}r0gCW;#mI zB2n~6l%kDlios&<&5(-Sf%>fkfT9^d=VYd{bnYA&wWkh49+HG#)J#f<>hvR~Kywm* z_5(z(w0%)7R#E#)hF{(<;>>%f{xRYV74TW&Lr)-TdD3*`IUlac1EUG+2Zo;t%Wbbp~(j*AghCArhGozfD65bxugwMKZkuq z%y40y>QRIZ1d&$WsL|#Wjmn^ltm)NHy|2NjFwQw{8?ag$^f-m&P#7?eXdPp7sE}Yn zn~0N0aiN}I!nvL+rC2?XH1K7nn|FR1<}(jzrLA~+P1DeeDiz5}nXA)#L-eqg!8x<6 zl2{c=;2DGF*Ur#-7=$*S#9Td!BCWne* z(m{ts(*fACYXYDj%sMRY7<8!(H2{&HnAi+~HFXIEIkupU#G5^d)z{4zu##mAy)~^C z(dN*18->2hy$tk!9ZvLxF30FMbVCCrz20P1Fh&xG))a~!Dig)LB$O)16jEcQgwslz zyotCYSng1n&>1@k zXfPj0>G*t-#$NXtJNj3yu}l9&_%q^opo;8GV=qS;h^4XHU^9=7N%PinU9*m^S)WqZ zqyuzJUP%>V-(u(t3N=kSdjXu3d|9@F&8^5o2Co4!(mkaCj~bsR7~u^lqs$nTQIuXO zqfC5ezw}WDX$wy*4ba@-TIiRka^$vL;M^;lx|;=MTnJ`@8hf<{1TL@YtPv{hQ6KEY zry4@Qy+}^SuYpNfd22v^OQhkDHCKChc+P51qrD^!;6-)gjksKSER z(3~+!wgEMfI~ow2d1v|Qq&Z9V7ANs)F-l}vi5D~!Nk^Ny3_;1!%%a-K(b_bJ)Mn6) z=6a@QW_3}V&uYvJyS1md!WbjM$tjL(Ff;M5lHx>u`YejG&z%&ztJ!DB$}pf#^+~3P z=$LtwoR`+ssH(tbEM>`>A`f~eqDTc;mZ(51y)$H_OtM>vP_!KASsr(ZR5=ndjro?h3R4Mq|+einR@&JY1()=(N#LkO(Uj z=_!UU{{Y>Xmw?sDOIfE8v>NJO1$ER34d&Q|%4G95k}L^OQ9Y(3Kph8rZUjh4Pk>eh z>{tY7O+g8T!FUQPjJv3d0y!0OvuWICsG^8@hE}vCr}(J!!Lm1;^`=^=+GpJ zQ@>}VxMHT1u$TPAlY%D}qmjv~VWHSE%kRjmj?6Ms9hv-Mr*H!? zi_kL}3X{lGJw`S+YAVEcTXT%O<`@;4Bh0`Gb3c(6-%Js|Y0I^<4os5c zY_w_$qF6FRZBb@&oHo!M@#)rr2i^t_ZL^YY<_jLv9V6+EOmgXtbw>syXw}5H z;?4#HaNcR5pwOpVIVuboyi2?sH<*MUAqIj{SMFkgffW*W5ErsA=C#@UWXz5%N91fY zK%AC+$p*IH;1pYjB~N0*Kdd%FjWbY5(|Q*Moq_9(PBNq17G(RAbQoN|o5wFJao`xn z&fB#|iX_WV^2j)9ax`xYoaoGn(15XK1QtkXTrdJzOCEQ9bmE7b&vFB`csldqyX6O|@^ zSfRsKp9vPJ#3q#)JNN@eOe%+b%6iloCP9E_Bb~wM*yXc{o@>T5AF6IATSIemzI9Ja zgk?8r11`<~hS-^E%49pWjUeLj0b=hIy;UO^67w=)Qpe@Kl(lhpI1{#zsb?P`f(&l&*4f;P6VK|KBO4WkhF28j2 zoSo7WR0~za9WGKVB2TXHg+hhoQATdEcm{5H8ALH~p4stjGjKc-y&7Q)EI&9U12-o* zG4NPBevo3-yqCp136P;uS^IcEX%sZwQE0xk55Q{?d@iTP-UWhqBOCshc!ZBATV(+v_pUo)`CLnbp)K4EU z*yIG1LY<&m$gEH&!t6NSWDSVDIsr5EhA3@DsPICZy3KkTPgExaTcJ#_ZImw?AsYab zQ2@ChYyxYpOd!cI3eW<|MC_FbxQ4`9Egp1jWrB5-D8Q5n!Gk#HP$n3TT$wugFxNJ2(P&RV%&?U4~k8 z>6T8FqH6%0&fVbkxqyvMN<~rw^409<@bUn~&$dN1P!@|3;0UlD=YmZzEcGgE0XH23Esw&%&iix+Ey+FD>G+j6@Ff8*t%<_pJks3vC@5#e>lxz1#7=a;+Zl}Z2vMNNf1ATA@Y_#a?) z{9P@%x02oPcQp=J*xP*-f*<(4E{V>SiU~u8u+Ift=sqAt8+(R|%<%!jkiMb0B87-N z%Ooq9K5CM)-XMv@73geS0%cBl+4;j+?|JfOXHX(J5knLD1Gt`mY-wxm=TLp6^u|>#YsFJI;hAyHwuB~~ zxy8=u0gG)2tts!zEi}ky4+1tQ1ra?y+RzDEhsgt&EYN(xNVK4NOQf+23(Z+LrQ*Q+ z(je#?nZ|DgL`xpqihJN5mbtOi^XGweXq=8xz^t<>${Dw@@KT-G)mv>#wpVWufcUKC z9ouaOd@irO0$l{IIa$&LoeGB(CVRtI$^&}S-gNKFs3 zBevkDI#mT_{Y8Fe^)a# zvEjPRQcWf6k zy`xpRcAIh8%C)HP4mfn4nASM4Fh!jb4%E3lWufbNwMpQJHdW`ff}J|IZ%ad}uWXk$ zN_U;#*JX{7E@F3fR?lGWI?>sx+(af=Xw~oGEgFSTScGlT~yAloZ zia@ph2Cm`!($zlqSVOl!Rm#`B!6;ju08>;)g-W7$USO>8Y8Wm?+oA9p z+#75&-Sgmf+@rs&WhI@=u09~-C;NEkC=ciZK@lrGUJOlD&{Q;f@Zi8T z%7!hFHhiXSoK?Pqic4%6@;J5P@lbYpOgO^I42E2lZ<38pvXQ{-MHh80XWO3U*TXWV zhv}q7`oNd$t$<~zbr3pWvFIhF1xMd4s)F^$J}>5wLC!SDaK458C?*f_MPm`VM5Uim zMr1Hi*7>Fa^hz{YWmdl`6WX+51yf>=km*K|s3Kj{59ok-NE}WIDGeDb!C^~LwDU^y z4JIczzT*u#GNQdKG+Q@lqd6TK&7LvDS_4b+w7 z&)5YbQVQ;*@|cU5CIZ->+7O5sp#fdOw4S{MqjI47^v49HxMHHH$#4_!x zYo}ou6$2x0jHcXdwo0e50k)1!3z>LAJ#&OGqB--iq!Ic;JsK(eY}F=BYhPno34w+R z=8lv%;@#?Eset6NZqRA32{3{&mCL2mc3lFYUii_W5=Qd#bD}vG#ETB%OF^22kbM~- zou*i1^=vhVtLRuSf5Dvo#DhHd#e*)i_)~-lG=tLC~57 zvlX4{kDJ9BW27|;#P)esJS#g^XE3-q%xHPm@*vEPm8vj{?{te>NENT0bj6{a#X+o= zE_E5OOsE+|!P?lO@f?)ato8jpwBt2lVt(}{U#HuB{p_zv33?eaQ57;s3E9GBL73bx zr$jmTN7-Uo1z6;$Nqs{-BHUr9TLA02F9Fg?XIn@5meI8%6la2iA2LW0L*5g@Y&~Wn zXF2%v-v6olYw5qrOGzTgJTSP~ml8seI>Mq3hx^?B!`@rQN0F_2+pDbIU6RlV76`!t z!J#`T+!=xlFt|gIpo0Z>9h||P;1*m4cNpAV26qAh^8QzKCxJO<_MCn8?|Ju!v%7Pp zs;idX_p(}69z6o~jYZmOkvuc`a?^mpRcyH^UD0O-T%Qqe6T(D8tdWcm*uYCR(CS1J z4=Ec#H%nO)*SK!96FStahMS12iAIs$Q)y{$AGIm>nEcVD>NnF#ic*O{!ZetlL#tuB ztS6N2&nL--8uplJNr3$7F}KI&f=0A!2%<^dmDAT(8cy+HuuwsZjfas7LrpZ>P)%6; zkwjwg<)x}ONh_JGu!z8zXo`@cZ<1Ew`OW4bY(Q_g&js`rh<@NbwNmu;-$vi!k3OR8 zkG=)FAxcX?zKc2nB^eCFS09M4p2in80?EiimrZ2p5lTZzg$316c`?|YFg>!^S5b;5 zU1KMui6CrR2!+#>qwx(z-)p&wS{ejsm9A~l`-UPGNUX#eQz3B6$s<_b4GVIe zRc(biT-Nx`qR&#PG1C~N2TGoc^M<<6zlm#7cE}7K)U@Sfb1&_KG$WMVB;Y&fF zU<_fzvNXIvuZ!UfkKGu*4}J}Froudm4-RJd9#q_T%L-P-8vOlF-^LYdMSq7A0Sm0h z0*7hAh_r=sO(l4a1b|plPs3dPb=dM4;&Js0b0Kvg;Rc*Tf`Bn7+CU2~>H1WvXI%G9 z!^U$61@58{H@HI~61)_|a27sOOIBKrVij)%tuZ~-AkA2jTrxeTyTN!YK#9;oqlmNx zv)ls#_PA=$Re$LrM)^)fj%dvO4ezUQ!wUUc{Dpn`v7+0s4_g`FrD^a6`I5d6*iMUA zxC}7|PCZVPFIv5Z7O5WTo#WK$P#wfV(+H|p4+=1Xx89tiD-)4TQ2EkXEL38p(Vc}e zG!vs~RB*)Jk|?+&tF&J9=x7^4?|zOGir_RAAWR zm&O!rG5Cgx6MJv^N+I82#(f3MsF#9+EJA|=FR`ALhLS3QpdR!GJ>6R^?IMvp)lyHf zn=0xVj|SU!cu3{|*te_ObHlF?x3kIo_P?u_aw1JD6(|BI>UsP4sD!y|9)zP=c zX*of=kc7O0U3WJT61R*kctt@Ji+aw$p_V)zUr+gbN80qNdN{ z9vey&S{l>jh=wg1X*RV}D)1u-{P%a<(bncs9&fblhGz}9z_6&oA-+6>ppK*oM^9@Y zdMOm$AyTg&-X}d{!vkr3Jo@~D{#C_u28Df8m&%mFq$&j7U+YJJRwpq0KCJaL7*D` z=2jsV_1S-atMFgn`k&hhEZs!!T6$ol8uY*Su^{u8frF@F| zNPQ`xw7>nEaKN4_F^r8-_3yVd!$F!O<}x%eY-x0=llrbFV)eD`R3B6Es zD{J3c%&Euj2q;15_D`t&^3ZIJ{(wt-m_uqY_!#VvFc+->Yzi?mjNXvi1u%qAr?(dr zz6I0-t*REIy)X~$1v)DrOyQ>M?6D~^Di+vqr1zAdGbp`VClTkgeL#y=ET_ezNtgR>|`)I@i?ocPvYd96$1yT)% zmajA%txYezU{&VJ(+>TRVQ^$#7$cIvrzrv@&1A@fO&|uKSja84l{h6B!=mXlbpcRX*)VRc)CsS#5dZ1U4AV zwAu`*QF0kixpYTabVqsA*ewC?ucaZTud&4?WDJajQ4k{z%2U(1Br1=IcII=dLY*-r z)B!`-R~ki-$2knzrI|%PxNjI<3mB6)`N=gd5s64T>EEw345~khcBGka7l9h6<5{yrms95Il5&(Jm>y&)LqWjHe9_ zGg?0nNV!l8nz{%w7RLCn!-P+X_*kX*!&4d=6RjliPBFDl3aZE2Bh-fBHfuLL?%_qS z=(hHls5T&A8W^+%tUb_^MrEz>*t>Xa9jE{y^)P6FHnRdQ(%}%q+25h9qFRBH0+FyH z)6z)L7s{#2(q}l@7IDJ`v-Cg*se07yeQbA+8R-^o&=w+uKtqGbBIJ-EwN1_Vln8;3 z%7aFQHjxktgqNdIKvN2VLlv*4Ql||(J(Y%EHtzQHS9$z+NXm7Agy5|);3R5pnmQnr z!-TfGlpVut2%A5t^1emsNwu9Xu?b#uO#O%B8jlUZp-&-lsDla(ej{Xo#v7e-165k7 zH0+WR=*IpKDFPWEX7;FI)dpYf9u?NL`I9N$#D}smkPE!AXp96jMLUtK{-k0>BBISB zI$x8)dy1tzOwFnT_HLC)&qnDdDP<&I()VJ+Pa7P@uFG~jr`kOBitbQa;>r;kC3QNI zcE`A8;+2TZOqyk_G_Hs!O$Us}HP6G)5`$jF%60l+3Cn?i`qg2j~bQx*DC zzjTK>Nu>d;N%mno?H6PsjPgKa{|jA9VwQA@#Dr&2l|O%}aLH6POatlp^ECXFa+stK zDJdXen5>UCAJPH=IV%DAf%b3V;T>tQ5-#U3?q3$l}sNMkxKCBfCP>7g0W|$4;4}sk}0krjUbt7I@7Qq6(RFUg<5)gq>l9i$U^;EI(#Q6UIOsVJgp@j}p4SK+FPmcleg`wbxvV9TAqGDrJ9Xiv-+lwNY* zSNb1LSi6SV-00fEsSQ~KL&NDQmWCnB;tvHfl0CiEjAwQZp#U_?!gqvMD^&_vx`(L} zJgWAq@KAP^4^y?5HvZuddD?HU^5v&(9;~QF&XaOEuA^4RyE<`Q3LG`(i}XcM$1Aw~ zrp@gU)lARv1VN*LOSF_$WCV)w_-j^NYlr?E{!f)E-3c34)1O>u5|ENXdi-c@Njos` z4orHc?1}<~7Fu{+2WB^FLQRN;iBeIR7&bU`6x-$vRfWld_pWBMl~M^ii%0zJ?m(?t7c@uZ6q zMXdCGm`eUQdNl13nLwpw^9zvHpHv`tcGde#?R*)JuXu4ix_99b?IY1k3W6DxPl@y( zJ>pVJwDl$>q(HxdUHYBT>cUn`K36wi7F1SPr;nl^Nm-3F;M1UH4pjvT=ltlvgRWc| zKNq05^=A^l`t6w|G2KViHGdw;Vp>Q^C9rEg3T8M>n_m#I3f_I6@$goo^rVJHnh);? zL2ASH8Z>>=W+j?FQqv8olIB1gF6!IS?3R%MQKa}Ypj19$l?4)*zi|*q{LGB>8pqe1 zDuY=OXj@>cwHG!bLDE)dJnfjI#}<^s$^NDqA^E*%4I(mKn8!lk{3Ls=70oEh%2G!0As zNutAU<6H$4@EB?e<7iL;ef` z3#1eJv=3lSE1C2DuYdFH=DO1`Fcc*$H z9eKr5O<*TnOb#ke0wV+IBeBvRGtxkv2c08n)r7oXOIsN7<3H5<_q5N5)-j-_6lL`QMm`U zUsp#$fT(R5xIs69l2nZy(mqHAX|)6MJ~g(>rJ2V+ed;|=-J@Q;!+d5cX#bRMjG>{x zBWj&=6W*j?JQhU-T#!ts@=~A>18JI*x;WJxjS!~WU_@DgB!aY$*`$H^Vz3e;r}REt z$hc3he(Mh1LCkj#uMT;QfdEO2aw*6a)djwFp9(b*kIZnKbU}84hypItJGh2R{^)(B znn;R}j`k{L7+=YsRei=-; zH;fR}p?=F(rIAIvTm_G!hU@g-HQw+L599&AzDT>DLCA1-uApAXWX#Xwq%HwsxXsfE z=5P&xVGYmx?&0h?b?gT3->Hs6^2bm3!W!<-6l%DK1WczMN(YVMK1?IeKB5O)*BJhw zXRP5dg2EfFAd2|$0E$G3Qk>A$ekcGq^bQ$r(QXAg?~nG~7@mA9eM2IZly87vT#`~C zOo&mE9Ag+FNc9i;4~F7}S+G6KFFBv0vb2RTZfpq5(OXC7=s_qEP^Lf2BL480MoS9Y zNc3bN-008ohXxbpXd}xWi+k0m+pyv`LC$iKmksk;D9N zP=f1{hkuq|5O70E@>h7ZLy{&6oj|E7ogtB=2Y+^khzZh5`*wbd zGljplD7pO9Um8f#{}pllJ8$NEMY55SAGLv11JWXGX?_fq zC7lEU8Dlyz4iF<&o6s3D5IWseooWVK9C)tmBW;DAS6th{X)||-D*SW#vYzhU5MoA!*;Fc zFTyGn=+C2QPnC%^p;*J?5kjF&NC08R8&EOf2?53km{+au9q7IK4M)b*1nj*!hi)AERDrG4TOZ}Wu^1dfP zHZ+^(;uP?~pVDJ!?T=}iw2-Ayzz@T+3{@uy>aHj^skmtqp-LF*Z;PY0gh8pALH8k@ z!|9+Agekgi4!b&0(=}){kE4YSejx8lKjCfqyeH`uGnlq1`FWY{0S)7Zm4dpvG_MP~ z!o&vTwN;Wr8B8g1!G{b#Bu6v-fG#uq$ZSbaKm5&B&TtuB#59Ol0)MM{83_(CC_{U2O0H%gzuewMDuI6+mv1X6QxQn(#4(tq4}>jLL;YC+|%>G^u@< ztbqlk^JQV2;TTE_h=h)La#AGE;~mLp@flVKE?TP7{0ztGN^oJHVy!v?{HGqjX&OA-q;wwxNH%_i#i%7-!^FeD2Ysly#=m_AVX zG;}^W9lWAbnjtsZ`alY%IhA(8VOkf~$UMYa37QFzM{!OC6hvT`I(iC`raJL0LPUvS zEvj!?*Kf;6Hrsi%7ZRhrj6PUK)TF8A^qgu5Q?8_hA*qZQQHU^xB;G%Gh#(ZF(MT^G zxAAJFBz(gbL0up6pp%J+eN*HlXBTL z@9=z?F9i_8VS$R-U!x&y6q4riaX#p`D6$IlA)-=fgx76fwN|E9ZX}c!}WBx)M&%Rglthe_A#M zb{(d*B1T#1{CQg2U&=ham3jJ5Iwdeb%~hZ^Y&0wSlc?99L`&j;ilQh4f_^YYDi7$I zR4RYOorc_BL_u8e9KvXiwm0npf!wHQ`qO>95RGWI4a#pGGw~n>BoP>;2^Gba5h|rW zQL5FDUUWfAkW7cElVLDHpXzw*?1!KddgegwksduyMnuEY&*&|>*$rYu*Q+27bW;y# zgXTSHU6K^2{4`MiU5Mz8E+}H9Sfq#hn@~IO=5|RK2z5gpi;-X`OPY^K5A|p~{86f% zdD`UL*ac!sBNfgzp)v|*VV3s&`W=vJFq~EhmD0gWN&iIMM9Sz=;Y-UDDoXlRI3z7v zk25r)c!#k+XwqiJ)F@`!P>217XbnKirf3{snp%R9Y*IauO|8yCAbYq=A7BDnrY5A; z=@CJ#F8UAe(=10@>u`YDkdmiAk*nu2QfP~l!temjLpLJO=L~KHQa|Q=`jvS1I1Io z8Kf4;5rmuCpw2&msP>VRE+Q6cRjj zUTQ`7<3knbp-Q2?c>JdG_@u4EkS$6ug}#+2>qFcEQl&YE8jmD}X)%Pko^20qQS>)S-W4 zUF~nf6IvHgDfwt!aA|?REYc2=0VcUi%UIeVnEsGXbq<^vt_V^OApN;#S^5o};f9ClD%~^eLSaFqBb`;XA0f_sR`fKVjE^jwQ;bYL0>tj(4J0(EokSNf!D;YJ5>(V`c>zHgV) zQXSb7=^NsgLMjQGVCQlOov2Mx!_Y(8qa!1XLG>88t;d;E9w9Lsol?)0|2KhG>MU4i zLldpvgyE)u0Uv>`Ni>|p$x?OpjQguFM2vTR4MA$U^=DH-2!h{@r5=vj_VDeEZu{IzathdDNI$5uA(*{<1$pty!b+k|h~U`hEp zv{L0Q*DFqY^SQ-HHm)Hdxhh@R+h3cM?5*Fg?xfmXk2;joaKg-n{!@-HiBWOY@gMczI9tlGgSWKXI1onp9Wqg6bIw zLB}rUkQF)J=~B<_d2;9L(f#`I>@Aws-jK~Yyq{{Bg%4}JJH#^By0Ok(_I^UAbw|aR zsyV__S8q#r_N0a?b#uF5^||8OHYKhW9vq^Gn9}}a&zJWH*4$BIXs^kW=aQ1o?&l;K z9|g{MvSI~`BTHt?U`SjXLndWo@S7py?h5X zQnDl=gV8d-Ta=LcXiD5KjNgR_iHaiRO#wpoVM5cqe1we7OUR%|LWW{S*)I_YPi{hv zg#(4ntEJObR7L0S0;CKNy&W5IL9_LP!W$ z9ZayTAt9H72LV_fMDVgi3T2kzBKY)L&$A#9BcuLzy#12v;}oQEXWT+0OoU&PijIQ zfeYXO*Z>xQNnjx844Qx%zzgz&P=E@Vu;7h~kbB?)I0UwU72sDe4kUuEpe3jaDuGfU zKgbGfKn1=i33&zXflJ^x*aJ3#XJ4_bgmpf0EZDuP&05=4W1AQuP&LBIy| zKnXbTMTYbYUV$gzKDY@kgR|fSI1GLRJHTeJ4kUpkU>=wSrho}xG#CmJK_Ac^bO!A~ zE6@})1a(0zP!&`Fv7j_41`2_EAOhq7p&%GIfEnn43djHhz6g*jcne;DC*T3N18#uJ z;5;}3PJkm|KiC6yfGuDnK(_)}36_CHU>^7tOb3&}1TY4S07Jn*&=2$mJwR6w588v) zpgCv)8iINt4%7tIKqXKf!~!oU35tPeP!Qw;5g;672Vo!txPb#$0LG?>4xlT9D1ZPM z@Rdi}1}Wejz%UDW0iJ?Czyoj>+yd9Z6>t%p182ZVa10y<2f;qD2kZpfz!tCxtOskr zDzE}91&hD}Fc10wK&GN2SF0g8cWPzV$R`9UOz0J%U;kR48ko@)>*rDd0VL3toel;5m2-9)m~V0k{Y5fLq`u zxDKv@%itn756*($!D(<390y0i5pW0`0Q^}5|{|agK=OC7!5{(;b0gT0tSPDAQAKj{Xie^ zGw20+g6^Oj=nA@kP9Pq10PR6r&<3;uEkO&=3^WCe!B3zeXaIf$^*~(^2Wo>KKuu5s zR0CB(6;KIO1QkFzP!@;-$kZm>&VNHGO4;z%(7eE=Pf6m0+vjudqO6^;~T00oW|c>o!X6d?eQ zBZUjV;z;@S!{7(KM2lG39H2+~n_j1%#Q%K$BZ2=&;NK&GfrADQ89HqEh>@d4j~P2| z{Dg^a^)IX3qL`_MEx%<}X;dXz`Mz%a*T5TDfZVnzifJZ`inLbMlt0+qUo6 zxoh{Hy}#|-f8gMu!$*!DJAUHisnchEKYQ-{g^QOiU%7hi`i+~nZr{0k@BV{_kN$Z4 z(_? zuG|rMBJ<|UU!Y)Ap~BHciWVzgqGYMkWxT$aSg~xm@)asps$8XNwdyr$*7~7#T%Ef0 z>i^iFVWXcKH)-0ed5e~7&@trz%>6*~3dyk&IdjH&~Z@>Nn{`2{d1pXs| ze~$$GwLhMn{$GForp(d*KmMf0^FK$w1pduMK3{p^gt!00AM~+&{qi~W)5nw# z@87+B^ZM1x7tfzPee(E^M-Ly|zjyb}?OQi*T)%ep%H>NJFPuMj_V+WVPn|q*{MgYW zhYuY*uz%lgd-v?#wR6YzZCke_Z{DH%O z%o)?CO`S6Nmq`;Rj2}04%;-@gM+_e}bjaXA0}}`I@7K4_&%Jx~?9shjLf0;xJH>bG z(7s*UHmzH=Y|*?~(G(`wWz zr9v(fc#dWM-A$fGpc&>)6fNg@~mMu0JZb`0=90W=^H3;`p+7(hSN zej=du(%s3l&npC$lPNV?m0YdU6S?%25m};8My_Jk1-B>Z*hmYWG;yt z&n0s4Tx+flSB@*hMQ|<-{mJ;gWbd)p*wgF*b`QIrO=9P zu9GX|61hOmlGEe_IYy3I)W~2%Ei8Le) zNPSWV-ycXVQiD__RY)aLk(4K8Ni2yWUQ&jXA|*&M%=e5Yg-8@BK=P5i*a|3ukBlm@?%1`AF@H)Z7m*N}n!}#_5bv~8PAruo@2!n)G!exQSdtNYJE9iynLLs4= z&`3zYoz=ol;jC~+_$;Vpp|bokpR9(gm8`pLyljqaqimn-h3u=$BF`!>C9fiHChsEO zEju7PDLW^-DZ4LwE_*9e$aQkNJXjts&nqtiQ+4DGlqGFn2fnu3r zog!IrOmRkWMR7~}6z6{{3`6^9h36&Dn@6%Q3J74H># zrBxZC%%;qzEUYZ86qWUqKPg))J1ToA`zwbl$0`>oS130qw<`B5k1Ee9FDsuZ-zYyT zS(R30Rt2fTR3%hCRV7soRRdL1RXbH@)ezMv)i0_Uszs_5stu~Gs;A1=%2Xwz(x^-- zw<=Us7&b)Mh=Yw5urXLQQZ-36UA0iPT(w@cMRi>DyXvayw(6NasNSYNpgyKPr@o?ou70cjqUJO@jYSiz$*L)-iP2Qn)YLT8G}E-#bkPje zjMhxn%+xH_BxyEkwrS32E^2OR9%x=^K4^$mrgdQxw_MtM+TvQTwxYJWwv9Gk+f&<5 zJ3>27J54)VyH1;|-J?CIJ)^y-y`_DC8FezXUX6|Q)H&4o)P>a*)z#JY)IX`)synHB zsr##^sb{N~s8_0!)jQP()yLJh)DP4z)bG?pBh%9k-N;5?>OS4F`LbFeEMDx4mlIE`F56x>$ibkU~Y2DgTZ60kwZ3(SUyH&GWb69gy zb6Im!^GNet!)g^;qt>ns(}rscXp3lTXzOSjYg=kNYkO!1XoqTNXySOfv^^Nsy^zr)M`T_b8`f>UN`epic`eglY`osD&`iuIP z`uF-YypyfdU4Oh$(>)R@y)&{)*y zGnO|tFg7)|Gj=xiF%C42GEOiqH?A>mG43)RF`hDBGTt!0Hl`REliXx7IZUCZoTlyC zz1pMN)7q=r+uFz4ms(z@(wTKmT{c~ANT!&smad+zsjjuItFD)Bpl-NsmTtaog>J2G zyKXNeb6WRM_e}R*_gN>`YxOorCci#fUq)Y6UqfF9l4+^$uOFfxtN%qmN54qFO20vW zNPj|qL4QsEQ2z{)`K<4z|5-m+KTQ*l$QsiLWo zsky0xsjI11Wd~rWvLM zre&rLrmd#mOovU^Om|FAOs`CzO{`gMHk!lDdCf)4rOXw~)y#Fxjm%xlJ)-yy2`rOddPa(dck_z z`q28)`rew$n$KF)TH0FCTHRXD`jfRQYz%~rNw6^=HuhK#T2EQeTW?t(SYKG*S(P@u z&0!0%<+A0o6}6SN#n~FzTG-mzy4(8LhS)~g=GYe5R@pY#cG>pZPT0=cp4wj9Qf-V~ zV>j8|_E39adkMQ}uVjz2H?X&`x3k}|J+i&BeXy~1h23bk+av4+?8WU~du4k~`;Yb} z_TKgZ_7V1R_8IoM_GR|f_TTJ>?Pu&4?RV^t?62$}>^g_V5$wq7$m=NNDCLNC)O9p+ zv~qNC^mO!d40DWeEOsP0HafOB4mgfE&N;3)o;%(;zBo9i&S`N5JF`0flmGvd|NoQ! z|L^AiWXn#=LCbN=May-|1Itqj!S2v{Y!B_R=0M3<*jmk6+uF$5+!}A~X61wav9Hwr#cTwjH*ev|YB{M9KKv zCbw(tHhYjgr#;dhZ7*rBVXtFvY;S4rZ0~`Raj5-Q`vQBCeVu&=O2%U-8SmSl*x%Ye z*#(ChC8Ns`lox1?U?BJ)v*92<2uJZ`(yhX`$s$PP&v#F zry~+JO2S4}*k}kFeH;TFqZ|_)vmEmsD;#Sb`yEFeXC0Rv_Z*KMZyX;T2B*!L#hKli z-x=*J<1Fi}?`-UBb*^%5cJ6QeCmAXOm)g!8kg1Ob`^3Jcg4CYx@xdtFCer(IWFw_T52FI~J_x}E7>z3<*>ywMPm2SP;<@UI9x%0UzxU0GAx*NIMxZ~YD-TmAX-P7Fj+)Lc++{x}e z?t|{@?z`@%?$_=wZZ1d@WD3d=lqaZgP>G;&K~;j{f*J&M3;H=|aL~x0$w4!N76vU3 z+8MMj=y=fYLDz%s20aaW9h5yNBB)SM@u0Fnm4j*r{TLJv8~tEo9Bj;njU7S11sw}I z6Lc-;PSBH}S3yFsI@l8I3eFxJ5nL#^cyP_&y1`9?TLpIs?irjIJS=!-@VwyV!E1uI z1@8$y5_~H7QSkHN55Zr86(PD1dq{9dfsi60-jH%3HA85Bn+$`@fe&VXfB&IfN^*1& z=+QMqdk><}XW%C*j+vZA55qs^7u^5f^8@n(`8R`}q)S{fGl-qWPUG5e)1=Oma58}3 zE~_OkqPQz>D0?Mauc)usL(Ve>AxJ1DXXWo?OJ(b1uZ3}#>H3MCEGs4tmu(cBf>PdF zmX96C{wOSF=HM+QRb)G5jkyr>hk;8T7r+C$HvM8 znNp?}E@1X%MVVb_BHN_6z&hZ^RBk%a@;3gaY`46>qMGo4Jubt{bJoU>5niz`S)*`L zs46?oB=gId5?n3e6uVhi&#&S43v001>`O9ePp+VXM$O_T^^-4%e=lN)90(aZIYERfq2EBF-Q z0=H4VMUjt<;qJ4|x%T`y?g(F-6L|x-o^8+Z>~3y8+aG%pEP>fp{5>|AOJu(AGx(=W zglsS$E&oG^W#n8A{-x}_8aqF6i};4Zc=i!kGO}d;Doc>AK5+BcXucf! zzh}$l2(|f|YQnwYOR(qVSNXTttgD6a3At%MGnmr~!?`R%kmd}NMaU^cLYH&lUUj~j zP=jC3)ntDV;`n^*Gn5`F+$44i|AiaFcVcOv$PVSQ@dJdLdln=Gt>Il#?HMj^D(EqjX^v zDY6!_rrK?cP8Ov2ovp)M;GQ7&6va25Ey@;=2f>eU-T@6hX3Gdsd;uYve~zB}@w^~R z8!RKIqm$g>hWyZ3b+55r<^g#c{r!qgwU-OTc zckFIvq1q~c%lDAE*<$ii3Kd%s{n>TAu&dpuIH!ItW&%x*61_{YrH$I+y%a3LklMCEgXeJt?FMVXWW&61* zvKs6XW;R!yOW^DA?S;4UMx2rVg(=HjV_AglXW1P-7dJo{AS80_xO{v+#v|J%n=MRG z+`_WnL}>Rdr{Gtzt%OKfam75OWtujkxJleW*dHZK$N0@GVJ`C+efh1puY9VSg(l^K zik-^b;OeulxL5ou{tf?u{m6ac4|8*%1q)o%2+L*bWyeS#;TlSuH2xwplpDz_Wjf&v z`-bg=)gR4-`TSUUXIWp=7&YZ?VJb6+k@0C9dhM|)xRdO@;Np$%J%D}Z!WO&H8Y$)aRex&87&!aFo~upkp-Q-sIL9l?NlgqJB~8ks?6kvU{R zvP9VstS5 zOwBOb)QYqr?MMfVKy@ZvNjHp1{fyD6M2u4nBO?)y@fg3Ff|0CQWDc267Llc71zAPb zVbp6Y*-7@20~ilGLC%o#85zYck5vCNzJu6`h zv<}mdX@-%}u1p_hATyGg$jo5oVH|ZWvxR9A-=sr)0@aHDlLINug0$&D$}=LJTJT?m zkwH2_hyswN=kLagLm(wH(y<#7qbAMxuYpX}I9DL08?DY@E&eI-PryI9OeWyN2R_`N zKJ4Fon1As@1`OCeVD9dl1IEu?v-{M|7XyZmpEh^tn&jPwPF=kD@WqD#gNKhE|I4&l za~Cd6TC*W}`|f>*j-5Jt@#@XH51+hv^C5M>z`;X@j~qRA{KQ|TOq(%l_T2dk7cX6& zv}(<|4V#j;Zr{0k@4f?vjvPC2>de{m7cXDEe)IO-`w#zk^6bT{H}5`tO#Lz-UCx9g zmeJliO2_xTy=Gdx^3K`48;O0v2`-Q9E?rLxB&NXm* zt+&ALb#Q+@!m=vg2V^V!+v-&=-3C9mduNy40e^RTXCB@O zzjt|Wm)#Bj_jpSs??D*$dRqtohH(7mRrKD6u#r{D_0TMYu@?`t|7kHp||UZ z^L4K!*A2w`hIiw`8;JW&Z?%Ot5&v7>j}2}?2DiK?jJF|&+umFIZ$lP$yyd#zfjsVb zEm`kECU?C*oxBUV-18Rdc@MI==UoweAM&~HJ+t>dWc0wB-24IL^uQa>J%p?tdb#-z zA+Lwtp(P(dW{W;^3?F+Bhd+TFpLqY+@&vMc z>aAA(DdhPS>Fp_G`pm0o{0wq^=I#CH8D#t1TdVVP$oIK--uvf}@e6PJJ})5W7v7y; zUqIF`y|WWvLf$XE7UmUX{>qyx@fGC$%6sq2E6Dz}x6042A^+FjHt$|T2XDOIPH&)x zH{Qz+-#`~{y(JpIg+AVT+ns+4oxJmQs`L(edFQRV>m79S&Z{Z#9{PFjUAy2tboAa^ z#{2<#`rzF)=mT{1!CUav2k0xsJO8H?=q$ynJC*{yee@29{s`TD^nRT85&FY#)hFoi zlh>B;33~kG{q4#p=rYwi+?NV{rh3~gO@&TVy&W~5q1VseshvMVx1YTa&whq}zj#|j ze}Rs_;5E@-pyw~%mnmPM>#tr}{jbpXS8tsyU!n7_-n+Im=snH5rdt|xpXS|lCJp+} z_(=H^zkIg6#eAypUcOS%vwg@PK7Gl1zR|b%7*!ERj9|$Vr-X7sImNo1!HL*_$ znPU?tJ7Wp)#HxGdh%NsyPi&K6QL*xn;<2xGdt)!QFCW`Iv|8-wTeV|vENc*3@aJZ+ zKh$m;t18ktHb+>`*q+w@v28{Sie**9Vtb4q8N1psHg@{r39+8&$+6K#r^Oy_IxF_z z=Q;3iLG1pLOW^17*exSh!QXYU1@CTz-&6?#C{l{0GAIEHCac$Z8PHMw8f5YY}&-Y@%7|5ZfqR;#NhF$f`ob7>!5lp$`*h znX`$j9XZ6+A>rcm?779Zk$FT14q=~pLsF~<0-a;%|ua&6o*+!f&wVil)a|dzl#dxv&$IjvycY@fj zba&C!tf$yySZ}dLQXlc*>3(9i4+BJAKTtdrHb}e{Jy?vXJVgB1c&M1xZJ1bl)Nt|R z+!5lFO(VrT$47}!^ew{%S;g8)SW1n>pV%kGvXKV@chZ*hiy~D zPUohId7n=cqZKp6Az?Ei&spNTy1$CHgxO-hadX66E9Q!>gY(4dcjk+Szb=4$7l}iQ zE*1~PEfK3EEEUZYmx=B*%f*%_R){a3BthP*#6!7Oi{^@J#5rx&ifu-$6T2*1FK#`& zK`isfM#z7&$VViLF;%vRyE<+adyL;Ewp+JdoOO1GD1W~b`q(W_EU`yi{nK7iHt08T z`r>_JizEBRw$BcT%Z!JhpTpvrACHLJ2OJfzFFGbhA3ZJ}esMyaXgvjcr=hPiV)TgL z#jC5&ikr@#6AykqFKV(~6h~CPBo<4!4E4)9CEkknTfc+8--}iDeh|w&PZ2x2KZ!>wq>43rd=}-4zKGAxe1-mL`xg)V zn6<|<0=_cV|3&AZ^i^=*f0f+#Ulsq4ziMoN`;WdF;a~e|g@5gIXAdUJ4&!sQ#pH?I|wKWm5sOlzu}7EI z4Qq%ci$)hKRkmiMHeGvm>(s7kz1o#3RF13PtbOP1et%yKNI#M^!r+hKH^bo1U{LUQ z2KOgZ`X3#AtV*V1l!BI1%k{hrv*}ezH6Q5pGSb(3A^{sRm!)Rf#aXS2<;u|ub<4)o zs8ge86?&czP#WyIICdsih>I|sf_yL{%F_#?&k|<($a9sG)qZ) zdPh3lH1zq`>yOiB;%c>FM?W0gD4AupeoT8qO(rI8nff8^=`HEBYW$_Nrw^o4re$i{ zE5CsiqhEb~>UTGLxBYMKK};~h9RHg3&TrtlNES{7wxVexLT(?`6mJuhJgAlN`%4=*X87d!$ol$cxmgXVMnK z+D{{Hr(W45UA47X{chWQ$v0;6$FxUJa62)v@Ay|~cOOfqS*vbJ-Fr6e1b#5HA>W6R zwccZ&q}{$Noklj_k-G14+AV5;NliQN55qAgMY@ZtBbjw+xBOSXC{t2Tole_>t828k z-t67_@gPi9G$vi2zv1c9w8x1|;}2iXB}+D6{P_0MS--MoRo$1eW1n=DalA;qa#ae> zk*KR_`?tZV#Kf|BcfB}rCG8$gncb=B9^YL2F+DhA`(^}(F=U+X%Jv}bsXt^>GWEvX z@n3>tANFLNzD&$GWrlrD_u_o%PwA&c8f6%uLHdWEqmJ`Ww(Y()@8z1b{y8>3TE6Ap z>a^{NrSgutI&J;S6=|0ena&SB9oqe2E*xLd@!sdN7t>b5!JJhWJX*Q&-FjSQ3SE1D z@X*I=IPF_$_nYLspRVK7QGU?XnJeCGrUo|O{&@AJq?RdD?|i;=B8?{IpbjfuC;#^K zCN)s=!RO=0Bwh4rb>_p4{b_%|fTi(_H;Y!K9m6SeBPH$9d7LCBE?e{d^OF;>l$e;W z+r_lA=cH4n_tP)uE=Z?iYoGso+sxDFnWqnX<*%R6rPuV% z(>HkgujrAtT;nxm$JdCfRbf`^qQzB7S9Th;)4RHi3-j!=s#f)O)Y#`LoyQwDp}ZkD@C{_Ra{cQKHHb0?YyW$SrQW4RM)sKr`0ve>x$*` zbdAz)v**jDi{G4VHU1V8>1=gir`=?$SMQgpx${QuKM~P1xqDoWtQ$(@EPS}G%Np@0 zsc2YKo35>b8&%C26qi(d@sG{CVYY53?O_p1Dz=aIxT2Vv5m`iMJDWEt+wHDlW^1b< zI}BC&mNr#u99OJh{;0hzv(CNPseay0B`0TDdG(&vgf;tB<2Iz_=+!kmH?#lU8I`kR zy@=p3OU`GHm|3b!$gJ2%kvY?%h9Y7n6XhyDu39xiT4LCNq+H=btFy^Gb3Lk{aoL$Y zc4w_oS+XU$m*mKEKelf1<+T!AB{q~P@#Dr4OBz+286Ix!HvUXl&Ncb;hUBoD1tOF4 z8bgz1&Geq+VtH+jL?+sp-RG&85R_<7JQ2<*6QcH*WH;+(S0b2%;QzXw7Wpv>| zcf3EAI}x7C?kW~ttn(HjSB@p;L&97`r*~6%hUGLDzV7PkshE~U>3huTnI07@do)pd z(&j}()ytAKwpCn_ZE;1d_D&^EL}uSpBuBZv6=D^#wpbW9k13;UI3mdFITBY{uT*-|w)8aAkp&6fG-nD^RAC%4GOb9r z#Nv8Ot>ML7y~7t3%rbK3P-oUFQLXa~9^5C3Y)+kU@9@dDB9jwsF5}>rGj+_FNQ1S3 z_lBG~P}G`pR>@KJR_A}vXruR}iTQ%!Tyb%UiJnPGCbhiGge0DSpVh6Jv^q)SO59Z= zYx9jY`bS5`_0Ly#ZB#Ccr)A~D(LE-0ON=X;OTYGMTy|yY@*&2aJ<^P(Q7vKuQD}vcs;o+-KUMSSQmCSYf9})%+F&t)yxkn#DDx*`#$6T z%~vP|{hyCt==&D^pSKxTAAhCqUz9$Xx6{(zXIy=OT`&TluW1>lX(<_}soz{pH;H4W zwbV>6zIEa2mvoDta1wAX!_{wG`m58+nKy2KeudCWmLGq5_32B%_e|GrW`^PUm(26b zSbWSho9QfKk@4fhUl_=^oFUQ-E7D1(XPIt&X998vd{9fJe==N6zwi%^+fp+uK2Cj` zZZkFY4OHO&m8pxTnWw2=G6j(t$gi2F-+GzuDun#a>9-~_&NJ_4T>Ag#1TBX2&!?}S z(}R)n^<##BGjqWE%+t?bGZX073?-&yss-sZ-LbUPjI(!{rx0Yi$7!he`#cwT@;d+m20Jw`|-7PLaATo7JdDe^#KsGR)B*ott*;*0x*QPVtR9wC&io z8)@0AY4dKRRfkSZVGstQ3pMUW5?Z$I*fPFb0%_H@L${V){eH%`Oh_Q{Et__2+@VuK zLI?V*b5rSGz{Ld8w0pNsek+-tHb;1gKj!~mWnThMMfd+dB&8^{(x%l~wieZJs1z+o zL?Ku9>^p64h!C!*NTNrJR$8S-bCD(c+9K(u?A&Wjo92JUz4}ex=XvV+pO-Up-sk=K ze9oD(&AHCZ8EZEecTcDXQ%8JlJx9;3R<6i?H#cX**2T-()6w1A)^*)FUn^(C%hk)$ z%iGh|)!y6TXFkU8&r5Q4bG1jHQFl)_Ytk}AUfwqA*7-qI6709~a?Huh9M^`(<+sf14*4xs{@t`ftw~w=xx2@#?cUyaI3|UJy zw$9#GmhM*0w%*>hW7+o(aJNNl+*mHt`ge~^QX=sy_wt<-39{EZQ)tY-O}RQ|-14PANlA1wS{ zV63nFdoE!bWM}$!0n&u3%I_rpC_r|u-y|?LKybxII|j8wpg*hh_jY*0%(9tKSx(7OG|5i zD@$(&$kDq7v$6$O2jCVwQ z9T7)I@&pfd+<+b2mjLn*jJkFxr?j7MG>(jqhgeTp>Hh{YRXC1mb8Xg<+%9ibOG_1H z6>1&mTI=nyR8}U-*3#S4%F)|P*IHW}#;vt-c6PJ2@^z+w>JQ`DtrAX^UEizm_Mg32vGRzn8NblVko~4qgV= zUip}YKZ-1)XW~ez^m^UOxC?aVmiav z;syR#SW$ILEX2rc-zxqW_~H$VW~X>S%wU9;q}SuG=U-0LH-y+=-0qF~_4uE3jbPanCOT!(KrFEq6IGz5_J@U^G3>u`OA*a!BnAbym&cCe=w zZ(^90VviwqkJ(glrWW^?eBE!A3~_4CtofR?c-ZdE;=Ab((>HUPJ8JM+r?!f-))2Fl z)aJz3;BkRho0o2Z_(a3W0*x9x7(R|q$U)4ImVMt*jlave`)1Kph(GJdyPU4ZUpB4W z5;HIearQZTt!i9Trm1q{D~J;~@l`!lcyXFPQzHjr(KoX%pR2+nma_5#|AP3DwPEX) zDtu)~-IDPqAnpy-Uer~IPhKuDr@{r|%vnBLw^ZUrv)9(X-UYFesQRW$75Lte`(tPegzbExqdE;o{u{^cpeNX<@#&Cl=~bA%7hy+-0-EFv=>S9&m=<{3v~U8lr3 z`S{R96O*q;AlAIZFbd1V@%8hP?m0l58t^%LAQ#UWiV05MMPh}e#k5>}{lw?jvos)< z8a4^6VB!xougUYtk^B$cMwE%GXqBA_m;o_;8^kCAx5sB{3de>zjmv)uuzS}U!)ExpTw`J1WdD)8RacjNrd1! zUY*iQW|O!(Z=AS4e)`UIL4k=RUJ@WAK*J@!E*oCJ;y}y@8Q{19?@p_{xfe;SzDlbx z46H~zmMLltF+J~DT16Zvzr{vBEhYKz>A5LMplw?0xZ(~r#9|e%GB1J~cS`-~w;^Wo zRhdOx21&xne@S{nOn;>rY<>+qNSqWLyN<*roCDIg!0vN2Ar>DgpU{%vlL-=@__gqr z^uYQN`7pHWE*KYkcyj+Kh!M5Ow=3?03iEGvH_ahtnuP5Udi1n zuHdBM+TRW9d#>Kb8`*$A;Obv4Pf0BDq{#mXaGAKqWmzP|Qf(^JHs$~UQ;VE#{r`vo%zB z{%ME}3a-2ymk$&)I0enN5R0m!`S0>U8T7PJPDyyOsbMlp!=65?o@KurH+ zB->F8q_^E*$SFXq`I&$9ljoqiKWg5pCGo4#)Qe;?7g5z+t2;r2>bzDsIXnk18-F|7im=5n}hy z3r=-a;M=Ul*QLElew%98>S{3Y+`XHKKEyhU?L`u*fw6{dyRIC>^fDIlxf;;;2T$_} zLhNAu(sEA?kWFJ*FKupv_rvKzO4&8w)`LdBdru*zZ4~vKT?_J-p0&T81o7-{mt}sn zz(jCX|AYXDl`_8R*Vh8!X)oTC?1q@7_<^lb2b>=2^C6&$-?J$)a3i9@Ls zXjvdSop==LUl%We7_@?{%P&H&21cW|-1H_O?yX?^QX{9%?^fvTsqcOeF|A-^%AW1g zM-O9If%OC=vlZ|)H0n6yMqr9899j_5Igpc&~F1Ze0{F5{H_?|y!}+fy$yJu zH!An|ZjY@hKKhl2X#>FmLl<(N9z$F6q<#<2N3KO(U6UaEqK zK|8=!**f8PI9eFKK?-qi2R?_y25j+2Odw#Wi->6lCZ+0sxgz1%I{|DFlGzR>ZDXmu zLylk(bA(%n%62e5h1l$YoWM3l$9^X`?Lf`_VAY{x!Dx}?*ZGKO2N-w%oo}p0IGTNE z^E5=M1NibMY}2C$qHYt|t%QCDSh1gY-Fq|!s}@I_2)7RKSZ&#v>p||ANQCwv5z_%U z={B)*=wX<~iiEdBMh93Ew>N^N8HU+?(}mYhw%?@Oi4_3ddA?5y>FofM%uYyO2N9TH zrnVR&+6i_ym?r8F-ssm)PbMHronW?$e8i2XC((d;XGIZ%PM{Rv|F-1E2~=mr&^*Mw z6TG?cO5Im01~XLMGZ$fW0&(BG5Pm!w+oqu}hh%mFOF*CkBaT@0{M#>y%1&_Kogv<) z5rp{*>|_(1PLS3#g{2{Q05ub_eM3y`0@;%ms1*zDMNLYs{~#2*z&v!Z_k6wptnu;b z*Mxo-NRbP55G4Yz^R^e3Ansj2LqD`in}|R)XNG+tV!FVW{Jb-MKMte%r2;iXMi+P{ z-_MpNtTAnKts0`T3oPth&(0#8v3Ek&p9xMEFrU2Q>^QAs*e>4(?}@41K;l4FyiIN- z`oZLDAEDR{dJ2`II6rK#B_HudLcbgMZ0W`vKnOORZPY`!b%So!uHLkxA!vO}BCP*z z(0A%flwhzIdT!y;g-B*M5STLCCVIpHJHI*pEm7GGJUff#K0O+Z`aT=!BsksR$BC3% zYoA7=@}JMmL_~Xl$KLGp*dspZyy2-Lh*A$|C~|jXsQ2OPCpSTHZ}B)WDB{6|Jr z57>2wxO;)`1Ukgn)IxB2KzNy9VGZJn#(%m|PE2Kk8pq{Qn!$nC+hW5vgd!W*Oq^4a ziyT5ZGdJ`T`fRZCMto*E;fadvi)bg@*kI37&K<8$CYT6uK@4HA0blXteNprfY}2gE z?}!XGcp$a0UJ&s|F9wQBB2{c~%6vENGrs}$41-@?>tzG6)>RgpG>>EaQ3r>JsT?pq zma|s*n?6<)(J~)V;s9eYul}3IBGCAiK|_Q-2W%{QS*HaeP^azJz7uX7;Nzb#caVQS zruFR0dm@Gdwzc^URv+<0kA7gm`sV=Uw8Q5l_}s7yAN}ScRUB~VX2mx4F%MKZpEXQy zIACv>JKvh|u9z#$c959b3mPWP)xC8z0y8}rIzTA)0@mH{`Hq2Su~{PDM+p61U>0Ax z@&|qv4cbvY4sq`VrMo{egOMP#y|f>;zg{5ev*zhL!UeN!fV)R#_JXcut+xX~ET&d_ zi4Upj1;Z&i0bh^M(UFmcuLP$TFr8kwj~DR6&Wt>sjEMGu{gYin>gds^#bC=ATSZlx*+?RsO$swCsS^ye6hulx`;u7(+9fDt|sGwap3 zjP&+{0xczjoy2i0qxs-BV(I`$mf3g01388TTHb{He*nzL$^sTdEVkSJiZEg@0CIvN z7X<~LMi&l$6GPkwKv})Wv&RS>%~sq4%YOjuyn1(eGKj}E)VviyG6%qWHD7n9z~iXN z^SeVt;q-qGrZdv+G?pOjA ze(+Hn!5IPqjy?3Oqw&~}AbHy@Gwe0F|6fpp?-h{$pYX-kt-pYs8y3#V8T~)QJAfLI z|92<=vGTJjjg2pZSyh+p#l()mc^2u4H*nT+|F5y+SrCzfSAYkD!Y?N}-2`O@n`>^| z4F)0W^paRFjd}81Ew~FiaK%qZ>aR~iSE+uxrv8ZoEE->(pGNb*tmu9k=ejwd+Ad7= z;64U+JkYg$#s?0V_Q`&gVa-X@`}mC7%-0<7HTuh9dPOAG^y#gv6YS?!#jRF)!!)!w z$!E595eFpJs+xUFW1ztUg(VtKIl$#mu*H>gXVIzQUz|-JaKLxY$SKJO(dh6NPx(_f zVS48k-PNCJpnp}@s&uDuz+_iO_{wnyusO9qGVGE#U`mdnoZ;@%*iJL?D!w>4PIc;? z@-O#>&xBT=7Hw=OgIyJK0GnD6=5XRtbRfe@A% z2hbGPX$*ItL$7B$D2EwwK(bnBX;51XHt+TKMFu-KAS(aLCM~xJ^u@{jC)RJ~fFlAQ zGshpKqh}hA#OeYLh)+-dFcN(RRon05dQc7WI^O-W_l2S0%3b{mWe(_XTaX~Xg^s>G z+-$2Y&jI@;dVoWZ&S1x^hu*(i0>{-GLN4!zgV6U)3x<;C!}7=7B$F1ZV~p1gRe`fP z;Ql0G&!9Dt=;U!9uN)WWfSA&X@Ke)W(cOv~*D{1T;NgwT9X>mP(HU9FlYR(tz;^GO z&3qd|QRP?Lzq|8sz}C;T7Hi+epu|j@yA!{&fq+@`dU{$Y)|Yb1vfvXNI2ddz>)Cn= zE4{XE&DB0Oh+e*P&gTht-IU$9f~WJlu*lv4RaaHiGMg?9QMj$h;n{5;h1Jcd_Ap znJZd_=05nVkPVc?r-EoWjyBc4?3K%BgUpPBPbwI`sI=Vb`Uad0{8&a^IrHLBk+&m> zcQJT9X&%VR_!#V}LbC7OY&OtMi)$=v3d1(oRsPlRkPR%=rsfnj`C~!)$-Cw6v%x3x zL*1LjL$Rr+EJ`ljf%-2;W{+PLhc-w*SiJ?_hsP&HC}t%bLPv_u)`{O@10kci&F`%l zsH~CB+X*+=ptDfI;CRtWG;8yoh-KHV+rl!07-&Vw7OBWdjsr?1# z5fVq~*F{ZGuWQ@uj4!f*%%Xib=UyCEzCO_ILMj^sWv>joC4K5N95VWNu}LV&2Ct>zso) zqSbi5ibN>(+zSkXp5cP^kAk6tglU$1ABr$9YR<8%}Bfr>oZt={?!FSaabV{ zJJ}4@x9oi9$Vb;Ku$F@I%r#kX9+u5G{AIB-Hr24Wbkk!txc+5u(Z-FZFay1&l%O0o z*cNT~(z)a~oOPAB_c7T(x*}Hodxi(f=uHcXeZ~e)ye7S0RpWv#Ui?AAx|j{D7wump zP!NXMwpbjpD`SIt<>n8eb0bmJ-Mxnd47TAA9qV_ z@Pz}mW#6}cUjnw*2vetKb}Y74@S;-Ycn&CkYdPs9{2f!1yNxj)jyE?GPJR8B6N?GW ze`%Hn$D@0~8A`WZz0mW9$KNJN!0~V-#a!h>Gv+7s(&0uQ~>Pav{w1%m@TJd<~J7X+ih+l#*KJjVgOv9&Sc z!!cL`jY!2IJ-Yc;RR0Ly+&rq{jca~G@ZgvG{tkO>v5@J)~kt^ z=jM#^GzxF3JhQ9V?K+CDrm2tWv*5bIm`e{0RT8Mf*G&%U8Q9Rs%|DaE z>o^*3zfz0S;&+A?-jU+!r&4%&!nwCwYVlL_g1Q}hmU4MIg_nB&xVgOseENICz_`14X?pLX63`_B{TjTuSwDOul%MZTZ8*H?2=iscV-T^d?<92(;k336X#?@z1c!pQ= zlC&y(%DBO!Y$stZpGx7Y?#D0Htil7A4_4hDYb?FhTY)dh2tA**OrFbYQutmu*9p=UxF`XP^c81u^Cv~&nfgu(&CBsQ4kb@w zA1~zUBNRUMT+wh$8C*X~anKKt{%<@BuCt6e#&Yk_yizTKWto0sq+g~b$&um_REiS=3b2m5IoLtJy|DSj|Mc-iX{9eQ7_=mb&f!Eb?Tzwja zuadG&4J^imzP<^>bH>V#!m~vA!*3MfrdxM;GT!`0UW%e$CDAtZMImn2d^hdDM^SG2 z2!&@{byp$^@U;e_DH|`$|8G1Ct^51qpIF8FMCIuD=t%wv{P)Dmv`Gzw2s zte4Bm#m}UP&Avom@!xn&iaw+2@X?n{e9)}@#2Lp)-2DHEm!jyi-YCa*<9NSnnz@k= zul*nt9+8Lr<0+0Jy>bdG<+%3$#IwkCE1qMT#Tf0waKWdRrY6GkxYx&|@T{%tTuwd4 zi?5rtuUg9+AOFOsQuI@mUufq)!X0)i?vOpq8^8a=(<%D2mWY~OxPIrQ`h3k<-uOkM z@KSGk)Iq_a|PHqR*Oh=B3s>{N1!KWexijc=huKUW&rg)7YzR@8Cjd zF~0i_Pv@0Cl^0_wP0GMyqgMxC*t7h<@hskbnyezagvZ+rH}LK5FIo-;&E@LxFJiozq$WtQqDfR(~~RUW7E?hgos*K7;7&`JfnUiO(Y#rV`mQ-!~0 z#!`o0Qm(sgcL~Uh`)s}t- zNnZI;c|oRf=WTFk{d0W{u_;`hMXtN@9Bp&;`m=XH(gl&-7Aj-+M+(oXzB-h154_ZS zb9rAeuYb}geCpX9dpjP0`SUDLK}TNxH7Pu^b5bpm1yp*HuSL!8=C)si!fWoa*r%Ee z8n)!DGZ$OTD<8OyJLYJ&qKXeZ0WA*0@^r>DZvIm#ye7tHdIAHrH}@7+ZyuW;Qh2FJ z!E1}20+x1bh68gsS6`FDv)-(YZO6gLq>K75R*sGDR9-qLdR8vzpRl~bpR#r-uq#Rp)_=_m7o2Cy(Rm(;Qw&MC?J?O{!3B$iyvF03qa8k$Ch?g-u1J{b!46sJ^576q!9S8 zKoue@$L3EI-rXlsytfd%UwFPHN^GqDDZIg^<5A&7VEo2dcTu~s-yaknS=*KIv=~$? zbX+%5pTH|$DnHz~ckgrHMx>g`^iSYkKSJSI5ok|b32ombr0}fuYGGBS;GwwDo@d*5^_xoJMSBasxs`z$`7;Hc-F@8giALcW zb(!jS%E7A48N+e}um5UNc+oau%B~8aG^jj}(PR-hR9_Q~|`IpV-b=Si-fB zQ25My&T|thfzmtSlJ3$u-0Nq;b@4H0x`U?XQ3Yc4dS<>k|Cwt)mBQ1k?3X{Q0v(;` z%*ffi`7@oux0CI&8qDpzY&~Tmum8~~{O6mc=1$e%*v!kr<>$ucpA_C(}$V`45xA(`w)M zO|J!y(1o=Jn|bw{O5sJH`r13yf?~hE%yL&TUjLx*N~(T_d9}biNARK1`q^BbM&aA* z7vGnt1Ia8#_v()mxx6NYFZRfb@~8toFYJXXq!n{Uvn@s8m1bRFJ+A|oUQL=4F13Qo zBNRSWZNlwE^KuZ`dPZlOR8C61mB?&}8_o9o*fS%AgvRJ|wVcg);#t8BeKKp)&!H4MlO@0m3b%yT<{i;C9*FpJW=;5>06#G!#9X=dy z`*(SP*ng5=3+3J5OA_!EB}$e^`zxWm4D_T+hvzDIu7{J#yf71nt$E=x7aP$*n0#-CpRudExIc zOukM)#>0)K;l8EZ@N^h<=7ptT*o7BXfMI`LSPg~)c;QVj3|~(ewPOIoHoUMo43jP$ zp2;$(hkmRKUcm4#WkA-it*g&J)o%#YC+mxJpW&Ib^%D9qTd!dFHS`V8zk!}~3a~wp za*fba<=#Tv1pPbce@R~jwgoT8e`+$LZ47P{Jeu|{@3lW`8=4q>2S5#Sh*s4V!O4Ss zWG;;$Hih0CdK&aL&^tg67gyoFrU=~G6oLE5B5;3G1nzJOzb6T~@6-7ZcL_d(BMJRH zJ|qFgorgXZ`b*HKL(ja&H#XQoEd=gi`p>QmMwdf>3CdF)WjB)1=&{!esWSh+VX~k8 EKm4fdk^lez literal 0 HcmV?d00001 diff --git a/codecs/webp/wasm_build/enc/webp_enc_simd.d.ts b/codecs/webp/wasm_build/enc/webp_enc_simd.d.ts new file mode 100644 index 00000000..b14ebbdb --- /dev/null +++ b/codecs/webp/wasm_build/enc/webp_enc_simd.d.ts @@ -0,0 +1 @@ +export { default } from './webp_enc.js';