From 02f29d35aa4e897a32b05ee7e4e171dd8e9ebe5d Mon Sep 17 00:00:00 2001 From: Aous Naman Date: Wed, 25 May 2022 22:38:19 +1000 Subject: [PATCH] Forgot to commit these as well. --- src/apps/common/ojph_img_io.h | 6 - src/apps/others/ojph_img_io.cpp | 2 +- src/apps/others/ojph_img_io_avx2.cpp | 236 ----------------------- subprojects/js/html/libopenjph.js | 2 +- subprojects/js/html/libopenjph.wasm | Bin 103730 -> 107948 bytes subprojects/js/html/libopenjph_simd.js | 2 +- subprojects/js/html/libopenjph_simd.wasm | Bin 116932 -> 121249 bytes 7 files changed, 3 insertions(+), 245 deletions(-) diff --git a/src/apps/common/ojph_img_io.h b/src/apps/common/ojph_img_io.h index 4805488..4561425 100644 --- a/src/apps/common/ojph_img_io.h +++ b/src/apps/common/ojph_img_io.h @@ -346,15 +346,9 @@ namespace ojph { void avx2_cvrt_32b1c_to_16ub1c_le(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, int bit_depth, int count); - void avx2_cvrt_32b3c_to_16ub3c_le(const line_buf *ln0, const line_buf *ln1, - const line_buf *ln2, void *dp, - int bit_depth, int count); void avx2_cvrt_32b1c_to_16ub1c_be(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, int bit_depth, int count); - void avx2_cvrt_32b3c_to_16ub3c_be(const line_buf *ln0, const line_buf *ln1, - const line_buf *ln2, void *dp, - int bit_depth, int count); //////////////////////////////////////////////////////////////////////////// // diff --git a/src/apps/others/ojph_img_io.cpp b/src/apps/others/ojph_img_io.cpp index 16558ee..8db1113 100644 --- a/src/apps/others/ojph_img_io.cpp +++ b/src/apps/others/ojph_img_io.cpp @@ -489,7 +489,7 @@ namespace ojph { if (num_components == 1) converter = avx2_cvrt_32b1c_to_16ub1c_be; else - converter = avx2_cvrt_32b3c_to_16ub3c_be; + { } // did not find an implementation better than sse41 } } diff --git a/src/apps/others/ojph_img_io_avx2.cpp b/src/apps/others/ojph_img_io_avx2.cpp index 014c662..1378152 100644 --- a/src/apps/others/ojph_img_io_avx2.cpp +++ b/src/apps/others/ojph_img_io_avx2.cpp @@ -275,124 +275,6 @@ namespace ojph { } } - ///////////////////////////////////////////////////////////////////////////// - void avx2_cvrt_32b3c_to_16ub3c_le(const line_buf *ln0, const line_buf *ln1, - const line_buf *ln2, void *dp, - int bit_depth, int count) - { - const si32 *sp0 = ln0->i32; - const si32 *sp1 = ln1->i32; - const si32 *sp2 = ln2->i32; - ui16* p = (ui16*)dp; - - __m256i max_val_vec = _mm256_set1_epi32((1 << bit_depth) - 1); - __m256i zero = _mm256_setzero_si256(); - - __m256i m0 = _mm256_set_epi64x(0x0B0A0908FFFF0706, 0x0504FFFF03020100, - 0x0B0A0908FFFF0706, 0x0504FFFF03020100); - __m256i m1 = _mm256_set_epi64x(0xFFFFFFFF0504FFFF, 0xFFFF0100FFFFFFFF, - 0xFFFFFFFF0504FFFF, 0xFFFF0100FFFFFFFF); - __m256i m2 = _mm256_set_epi64x(0xFFFFFFFFFFFFFFFF, 0xFFFF0F0E0D0CFFFF, - 0xFFFFFFFFFFFFFFFF, 0xFFFF0F0E0D0CFFFF); - __m256i m3 = _mm256_set_epi64x(0x0706FFFFFFFF0302, 0x0D0CFFFFFFFF0908, - 0x0706FFFFFFFF0302, 0x0D0CFFFFFFFF0908); - __m256i m4 = _mm256_set_epi64x(0xFFFF03020100FFFF, 0xFFFFFFFFFFFFFFFF, - 0xFFFF03020100FFFF, 0xFFFFFFFFFFFFFFFF); - __m256i m5 = _mm256_set_epi64x(0xFFFFFFFF0F0EFFFF, 0xFFFF0B0AFFFFFFFF, - 0xFFFFFFFF0F0EFFFF, 0xFFFF0B0AFFFFFFFF); - __m256i m6 = _mm256_set_epi64x(0x0F0E0D0CFFFF0B0A, 0x0908FFFF07060504, - 0x0F0E0D0CFFFF0B0A, 0x0908FFFF07060504); - - // 24 entries in each loop - for ( ; count >= 16; count -= 16, sp0 += 16, sp1 += 16, sp2 += 16, p += 48) - { - __m256i a, b, t, u, v; - a = _mm256_load_si256((__m256i*)sp0); - a = _mm256_max_epi32(a, zero); - t = _mm256_min_epi32(a, max_val_vec); - - a = _mm256_load_si256((__m256i*)sp1); - a = _mm256_max_epi32(a, zero); - a = _mm256_min_epi32(a, max_val_vec); - a = _mm256_slli_epi32(a, 16); - t = _mm256_or_si256(t, a); - - a = _mm256_load_si256((__m256i*)sp2); - a = _mm256_max_epi32(a, zero); - u = _mm256_min_epi32(a, max_val_vec); - - a = _mm256_load_si256((__m256i*)sp0 + 1); - a = _mm256_max_epi32(a, zero); - a = _mm256_min_epi32(a, max_val_vec); - a = _mm256_slli_epi32(a, 16); - u = _mm256_or_si256(u, a); - - a = _mm256_load_si256((__m256i*)sp1 + 1); - a = _mm256_max_epi32(a, zero); - v = _mm256_min_epi32(a, max_val_vec); - - a = _mm256_load_si256((__m256i*)sp2 + 1); - a = _mm256_max_epi32(a, zero); - a = _mm256_min_epi32(a, max_val_vec); - a = _mm256_slli_epi32(a, 16); - v = _mm256_or_si256(v, a); - - // start combining using the sse41 method - __m256i xt, xu, xv; - - a = _mm256_shuffle_epi8(t, m0); - b = _mm256_shuffle_epi8(u, m1); - xt = _mm256_or_si256(a, b); - - a = _mm256_shuffle_epi8(t, m2); - b = _mm256_shuffle_epi8(u, m3); - a = _mm256_or_si256(a, b); - b = _mm256_shuffle_epi8(v, m4); - xu = _mm256_or_si256(a, b); - - a = _mm256_shuffle_epi8(u, m5); - b = _mm256_shuffle_epi8(v, m6); - xv = _mm256_or_si256(a, b); - - // reorder them in the correct order - t = _mm256_set_epi64x(_mm256_extract_epi64(xt, 2), - _mm256_extract_epi64(xu, 0), - _mm256_extract_epi64(xt, 1), - _mm256_extract_epi64(xt, 0)); - _mm256_storeu_si256((__m256i*)p , t); - - t = _mm256_set_epi64x(_mm256_extract_epi64(xv, 0), - _mm256_extract_epi64(xu, 1), - _mm256_extract_epi64(xu, 2), - _mm256_extract_epi64(xt, 3)); - _mm256_storeu_si256((__m256i*)p + 1, t); - - t = _mm256_set_epi64x(_mm256_extract_epi64(xv, 3), - _mm256_extract_epi64(xv, 2), - _mm256_extract_epi64(xu, 3), - _mm256_extract_epi64(xv, 1)); - _mm256_storeu_si256((__m256i*)p + 2, t); - } - - int max_val = (1< 0; --count) - { - int val; - val = *sp0++; - val = val >= 0 ? val : 0; - val = val <= max_val ? val : max_val; - *p++ = be2le((ui16) val); - val = *sp1++; - val = val >= 0 ? val : 0; - val = val <= max_val ? val : max_val; - *p++ = be2le((ui16) val); - val = *sp2++; - val = val >= 0 ? val : 0; - val = val <= max_val ? val : max_val; - *p++ = (ui16) val; - } - } - ///////////////////////////////////////////////////////////////////////////// void avx2_cvrt_32b1c_to_16ub1c_be(const line_buf *ln0, const line_buf *ln1, const line_buf *ln2, void *dp, @@ -436,122 +318,4 @@ namespace ojph { *p++ = be2le((ui16) val); } } - - ///////////////////////////////////////////////////////////////////////////// - void avx2_cvrt_32b3c_to_16ub3c_be(const line_buf *ln0, const line_buf *ln1, - const line_buf *ln2, void *dp, - int bit_depth, int count) - { - const si32 *sp0 = ln0->i32; - const si32 *sp1 = ln1->i32; - const si32 *sp2 = ln2->i32; - ui16* p = (ui16*)dp; - - __m256i max_val_vec = _mm256_set1_epi32((1 << bit_depth) - 1); - __m256i zero = _mm256_setzero_si256(); - - __m256i m0 = _mm256_set_epi64x(0x0A0B0809FFFF0607, 0x0405FFFF02030001, - 0x0A0B0809FFFF0607, 0x0405FFFF02030001); - __m256i m1 = _mm256_set_epi64x(0xFFFFFFFF0405FFFF, 0xFFFF0001FFFFFFFF, - 0xFFFFFFFF0405FFFF, 0xFFFF0001FFFFFFFF); - __m256i m2 = _mm256_set_epi64x(0xFFFFFFFFFFFFFFFF, 0xFFFF0E0F0C0DFFFF, - 0xFFFFFFFFFFFFFFFF, 0xFFFF0E0F0C0DFFFF); - __m256i m3 = _mm256_set_epi64x(0x0607FFFFFFFF0203, 0x0C0DFFFFFFFF0809, - 0x0607FFFFFFFF0203, 0x0C0DFFFFFFFF0809); - __m256i m4 = _mm256_set_epi64x(0xFFFF02030001FFFF, 0xFFFFFFFFFFFFFFFF, - 0xFFFF02030001FFFF, 0xFFFFFFFFFFFFFFFF); - __m256i m5 = _mm256_set_epi64x(0xFFFFFFFF0E0FFFFF, 0xFFFF0A0BFFFFFFFF, - 0xFFFFFFFF0E0FFFFF, 0xFFFF0A0BFFFFFFFF); - __m256i m6 = _mm256_set_epi64x(0x0E0F0C0DFFFF0A0B, 0x0809FFFF06070405, - 0x0E0F0C0DFFFF0A0B, 0x0809FFFF06070405); - - // 24 entries in each loop - for ( ; count >= 16; count -= 16, sp0 += 16, sp1 += 16, sp2 += 16, p += 48) - { - __m256i a, b, t, u, v; - a = _mm256_load_si256((__m256i*)sp0); - a = _mm256_max_epi32(a, zero); - t = _mm256_min_epi32(a, max_val_vec); - - a = _mm256_load_si256((__m256i*)sp1); - a = _mm256_max_epi32(a, zero); - a = _mm256_min_epi32(a, max_val_vec); - a = _mm256_slli_epi32(a, 16); - t = _mm256_or_si256(t, a); - - a = _mm256_load_si256((__m256i*)sp2); - a = _mm256_max_epi32(a, zero); - u = _mm256_min_epi32(a, max_val_vec); - - a = _mm256_load_si256((__m256i*)sp0 + 1); - a = _mm256_max_epi32(a, zero); - a = _mm256_min_epi32(a, max_val_vec); - a = _mm256_slli_epi32(a, 16); - u = _mm256_or_si256(u, a); - - a = _mm256_load_si256((__m256i*)sp1 + 1); - a = _mm256_max_epi32(a, zero); - v = _mm256_min_epi32(a, max_val_vec); - - a = _mm256_load_si256((__m256i*)sp2 + 1); - a = _mm256_max_epi32(a, zero); - a = _mm256_min_epi32(a, max_val_vec); - a = _mm256_slli_epi32(a, 16); - v = _mm256_or_si256(v, a); - - // start combining using the sse41 method - __m256i xt, xu, xv; - - a = _mm256_shuffle_epi8(t, m0); - b = _mm256_shuffle_epi8(u, m1); - xt = _mm256_or_si256(a, b); - - a = _mm256_shuffle_epi8(t, m2); - b = _mm256_shuffle_epi8(u, m3); - a = _mm256_or_si256(a, b); - b = _mm256_shuffle_epi8(v, m4); - xu = _mm256_or_si256(a, b); - - a = _mm256_shuffle_epi8(u, m5); - b = _mm256_shuffle_epi8(v, m6); - xv = _mm256_or_si256(a, b); - - // reorder them in the correct order - t = _mm256_set_epi64x(_mm256_extract_epi64(xt, 2), - _mm256_extract_epi64(xu, 0), - _mm256_extract_epi64(xt, 1), - _mm256_extract_epi64(xt, 0)); - _mm256_storeu_si256((__m256i*)p , t); - - t = _mm256_set_epi64x(_mm256_extract_epi64(xv, 0), - _mm256_extract_epi64(xu, 1), - _mm256_extract_epi64(xu, 2), - _mm256_extract_epi64(xt, 3)); - _mm256_storeu_si256((__m256i*)p + 1, t); - - t = _mm256_set_epi64x(_mm256_extract_epi64(xv, 3), - _mm256_extract_epi64(xv, 2), - _mm256_extract_epi64(xu, 3), - _mm256_extract_epi64(xv, 1)); - _mm256_storeu_si256((__m256i*)p + 2, t); - } - - int max_val = (1< 0; --count) - { - int val; - val = *sp0++; - val = val >= 0 ? val : 0; - val = val <= max_val ? val : max_val; - *p++ = be2le((ui16) val); - val = *sp1++; - val = val >= 0 ? val : 0; - val = val <= max_val ? val : max_val; - *p++ = be2le((ui16) val); - val = *sp2++; - val = val >= 0 ? val : 0; - val = val <= max_val ? val : max_val; - *p++ = be2le((ui16) val); - } - } } diff --git a/subprojects/js/html/libopenjph.js b/subprojects/js/html/libopenjph.js index b95ad9e..3e3c189 100644 --- a/subprojects/js/html/libopenjph.js +++ b/subprojects/js/html/libopenjph.js @@ -6,7 +6,7 @@ var Module = (() => { 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=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);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 getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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 writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}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()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS 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)}var wasmBinaryFile;if(Module["locateFile"]){wasmBinaryFile="libopenjph.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL("libopenjph.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"]["g"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["w"];addOnInit(Module["asm"]["h"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);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){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_max(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=_emscripten_get_heap_max();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _fd_close(fd){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}var asmLibraryArg={"a":_abort,"f":_emscripten_memcpy_big,"d":_emscripten_resize_heap,"e":_fd_close,"c":_fd_seek,"b":_fd_write};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["h"]).apply(null,arguments)};var _create_j2c_data=Module["_create_j2c_data"]=function(){return(_create_j2c_data=Module["_create_j2c_data"]=Module["asm"]["i"]).apply(null,arguments)};var _init_j2c_data=Module["_init_j2c_data"]=function(){return(_init_j2c_data=Module["_init_j2c_data"]=Module["asm"]["j"]).apply(null,arguments)};var _get_j2c_width=Module["_get_j2c_width"]=function(){return(_get_j2c_width=Module["_get_j2c_width"]=Module["asm"]["k"]).apply(null,arguments)};var _get_j2c_height=Module["_get_j2c_height"]=function(){return(_get_j2c_height=Module["_get_j2c_height"]=Module["asm"]["l"]).apply(null,arguments)};var _get_j2c_bit_depth=Module["_get_j2c_bit_depth"]=function(){return(_get_j2c_bit_depth=Module["_get_j2c_bit_depth"]=Module["asm"]["m"]).apply(null,arguments)};var _get_j2c_is_signed=Module["_get_j2c_is_signed"]=function(){return(_get_j2c_is_signed=Module["_get_j2c_is_signed"]=Module["asm"]["n"]).apply(null,arguments)};var _get_j2c_num_components=Module["_get_j2c_num_components"]=function(){return(_get_j2c_num_components=Module["_get_j2c_num_components"]=Module["asm"]["o"]).apply(null,arguments)};var _get_j2c_downsampling_x=Module["_get_j2c_downsampling_x"]=function(){return(_get_j2c_downsampling_x=Module["_get_j2c_downsampling_x"]=Module["asm"]["p"]).apply(null,arguments)};var _get_j2c_downsampling_y=Module["_get_j2c_downsampling_y"]=function(){return(_get_j2c_downsampling_y=Module["_get_j2c_downsampling_y"]=Module["asm"]["q"]).apply(null,arguments)};var _parse_j2c_data=Module["_parse_j2c_data"]=function(){return(_parse_j2c_data=Module["_parse_j2c_data"]=Module["asm"]["r"]).apply(null,arguments)};var _restrict_input_resolution=Module["_restrict_input_resolution"]=function(){return(_restrict_input_resolution=Module["_restrict_input_resolution"]=Module["asm"]["s"]).apply(null,arguments)};var _enable_resilience=Module["_enable_resilience"]=function(){return(_enable_resilience=Module["_enable_resilience"]=Module["asm"]["t"]).apply(null,arguments)};var _pull_j2c_line=Module["_pull_j2c_line"]=function(){return(_pull_j2c_line=Module["_pull_j2c_line"]=Module["asm"]["u"]).apply(null,arguments)};var _release_j2c_data=Module["_release_j2c_data"]=function(){return(_release_j2c_data=Module["_release_j2c_data"]=Module["asm"]["v"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["x"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["y"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["z"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["A"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["B"]).apply(null,arguments)};Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof Module!="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);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=value=>{tempRet0=value};var getTempRet0=()=>tempRet0;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 getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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 writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}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()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS 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)}var wasmBinaryFile;if(Module["locateFile"]){wasmBinaryFile="libopenjph.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL("libopenjph.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"]["u"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["K"];addOnInit(Module["asm"]["v"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);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){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);exception_addRef(info);return info.get_exception_ptr()}var exceptionLast=0;function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){getWasmTableEntry(destructor)(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var info=exceptionCaught.pop();exception_decRef(info);exceptionLast=0}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=ptr}throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=_emscripten_get_heap_max();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _fd_close(fd){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function _getTempRet0(){return getTempRet0()}function _llvm_eh_typeid_for(type){return type}var asmLibraryArg={"a":___cxa_allocate_exception,"k":___cxa_begin_catch,"j":___cxa_end_catch,"f":___cxa_find_matching_catch_2,"m":___cxa_find_matching_catch_3,"r":___cxa_free_exception,"b":___cxa_throw,"e":___resumeException,"h":_abort,"q":_emscripten_memcpy_big,"o":_emscripten_resize_heap,"p":_fd_close,"n":_fd_seek,"i":_fd_write,"c":_getTempRet0,"g":invoke_ii,"s":invoke_iii,"t":invoke_viiiiii,"d":invoke_viiiiiii,"l":_llvm_eh_typeid_for};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["v"]).apply(null,arguments)};var _create_j2c_data=Module["_create_j2c_data"]=function(){return(_create_j2c_data=Module["_create_j2c_data"]=Module["asm"]["w"]).apply(null,arguments)};var _init_j2c_data=Module["_init_j2c_data"]=function(){return(_init_j2c_data=Module["_init_j2c_data"]=Module["asm"]["x"]).apply(null,arguments)};var _get_j2c_width=Module["_get_j2c_width"]=function(){return(_get_j2c_width=Module["_get_j2c_width"]=Module["asm"]["y"]).apply(null,arguments)};var _get_j2c_height=Module["_get_j2c_height"]=function(){return(_get_j2c_height=Module["_get_j2c_height"]=Module["asm"]["z"]).apply(null,arguments)};var _get_j2c_bit_depth=Module["_get_j2c_bit_depth"]=function(){return(_get_j2c_bit_depth=Module["_get_j2c_bit_depth"]=Module["asm"]["A"]).apply(null,arguments)};var _get_j2c_is_signed=Module["_get_j2c_is_signed"]=function(){return(_get_j2c_is_signed=Module["_get_j2c_is_signed"]=Module["asm"]["B"]).apply(null,arguments)};var _get_j2c_num_components=Module["_get_j2c_num_components"]=function(){return(_get_j2c_num_components=Module["_get_j2c_num_components"]=Module["asm"]["C"]).apply(null,arguments)};var _get_j2c_downsampling_x=Module["_get_j2c_downsampling_x"]=function(){return(_get_j2c_downsampling_x=Module["_get_j2c_downsampling_x"]=Module["asm"]["D"]).apply(null,arguments)};var _get_j2c_downsampling_y=Module["_get_j2c_downsampling_y"]=function(){return(_get_j2c_downsampling_y=Module["_get_j2c_downsampling_y"]=Module["asm"]["E"]).apply(null,arguments)};var _parse_j2c_data=Module["_parse_j2c_data"]=function(){return(_parse_j2c_data=Module["_parse_j2c_data"]=Module["asm"]["F"]).apply(null,arguments)};var _restrict_input_resolution=Module["_restrict_input_resolution"]=function(){return(_restrict_input_resolution=Module["_restrict_input_resolution"]=Module["asm"]["G"]).apply(null,arguments)};var _enable_resilience=Module["_enable_resilience"]=function(){return(_enable_resilience=Module["_enable_resilience"]=Module["asm"]["H"]).apply(null,arguments)};var _pull_j2c_line=Module["_pull_j2c_line"]=function(){return(_pull_j2c_line=Module["_pull_j2c_line"]=Module["asm"]["I"]).apply(null,arguments)};var _release_j2c_data=Module["_release_j2c_data"]=function(){return(_release_j2c_data=Module["_release_j2c_data"]=Module["asm"]["J"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["L"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["M"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["N"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["O"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["P"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["Q"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["R"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["S"]).apply(null,arguments)};function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); return Module.ready diff --git a/subprojects/js/html/libopenjph.wasm b/subprojects/js/html/libopenjph.wasm index a1c0e57f8f92112242332012a1500152958ded50..1b9972639e3aa235c129179a58e67de848f27798 100755 GIT binary patch delta 36971 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 delta 32652 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 lW<8A@%Gd+H8MopBqSJ(6l=y{y&(-v0VTF diff --git a/subprojects/js/html/libopenjph_simd.js b/subprojects/js/html/libopenjph_simd.js index 8fb5779..f109133 100644 --- a/subprojects/js/html/libopenjph_simd.js +++ b/subprojects/js/html/libopenjph_simd.js @@ -6,7 +6,7 @@ var Module = (() => { 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=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);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 getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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 writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}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()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS 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)}var wasmBinaryFile;if(Module["locateFile"]){wasmBinaryFile="libopenjph_simd.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL("libopenjph_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"]["g"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["w"];addOnInit(Module["asm"]["h"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);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){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_max(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=_emscripten_get_heap_max();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _fd_close(fd){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}var asmLibraryArg={"a":_abort,"f":_emscripten_memcpy_big,"d":_emscripten_resize_heap,"e":_fd_close,"c":_fd_seek,"b":_fd_write};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["h"]).apply(null,arguments)};var _create_j2c_data=Module["_create_j2c_data"]=function(){return(_create_j2c_data=Module["_create_j2c_data"]=Module["asm"]["i"]).apply(null,arguments)};var _init_j2c_data=Module["_init_j2c_data"]=function(){return(_init_j2c_data=Module["_init_j2c_data"]=Module["asm"]["j"]).apply(null,arguments)};var _get_j2c_width=Module["_get_j2c_width"]=function(){return(_get_j2c_width=Module["_get_j2c_width"]=Module["asm"]["k"]).apply(null,arguments)};var _get_j2c_height=Module["_get_j2c_height"]=function(){return(_get_j2c_height=Module["_get_j2c_height"]=Module["asm"]["l"]).apply(null,arguments)};var _get_j2c_bit_depth=Module["_get_j2c_bit_depth"]=function(){return(_get_j2c_bit_depth=Module["_get_j2c_bit_depth"]=Module["asm"]["m"]).apply(null,arguments)};var _get_j2c_is_signed=Module["_get_j2c_is_signed"]=function(){return(_get_j2c_is_signed=Module["_get_j2c_is_signed"]=Module["asm"]["n"]).apply(null,arguments)};var _get_j2c_num_components=Module["_get_j2c_num_components"]=function(){return(_get_j2c_num_components=Module["_get_j2c_num_components"]=Module["asm"]["o"]).apply(null,arguments)};var _get_j2c_downsampling_x=Module["_get_j2c_downsampling_x"]=function(){return(_get_j2c_downsampling_x=Module["_get_j2c_downsampling_x"]=Module["asm"]["p"]).apply(null,arguments)};var _get_j2c_downsampling_y=Module["_get_j2c_downsampling_y"]=function(){return(_get_j2c_downsampling_y=Module["_get_j2c_downsampling_y"]=Module["asm"]["q"]).apply(null,arguments)};var _parse_j2c_data=Module["_parse_j2c_data"]=function(){return(_parse_j2c_data=Module["_parse_j2c_data"]=Module["asm"]["r"]).apply(null,arguments)};var _restrict_input_resolution=Module["_restrict_input_resolution"]=function(){return(_restrict_input_resolution=Module["_restrict_input_resolution"]=Module["asm"]["s"]).apply(null,arguments)};var _enable_resilience=Module["_enable_resilience"]=function(){return(_enable_resilience=Module["_enable_resilience"]=Module["asm"]["t"]).apply(null,arguments)};var _pull_j2c_line=Module["_pull_j2c_line"]=function(){return(_pull_j2c_line=Module["_pull_j2c_line"]=Module["asm"]["u"]).apply(null,arguments)};var _release_j2c_data=Module["_release_j2c_data"]=function(){return(_release_j2c_data=Module["_release_j2c_data"]=Module["asm"]["v"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["x"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["y"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["z"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["A"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["B"]).apply(null,arguments)};Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof Module!="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);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=value=>{tempRet0=value};var getTempRet0=()=>tempRet0;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 getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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 writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}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()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS 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)}var wasmBinaryFile;if(Module["locateFile"]){wasmBinaryFile="libopenjph_simd.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL("libopenjph_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"]["u"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["K"];addOnInit(Module["asm"]["v"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);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){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);exception_addRef(info);return info.get_exception_ptr()}var exceptionLast=0;function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){getWasmTableEntry(destructor)(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var info=exceptionCaught.pop();exception_decRef(info);exceptionLast=0}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=ptr}throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=_emscripten_get_heap_max();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _fd_close(fd){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function _getTempRet0(){return getTempRet0()}function _llvm_eh_typeid_for(type){return type}var asmLibraryArg={"a":___cxa_allocate_exception,"k":___cxa_begin_catch,"j":___cxa_end_catch,"f":___cxa_find_matching_catch_2,"m":___cxa_find_matching_catch_3,"r":___cxa_free_exception,"b":___cxa_throw,"e":___resumeException,"h":_abort,"q":_emscripten_memcpy_big,"o":_emscripten_resize_heap,"p":_fd_close,"n":_fd_seek,"i":_fd_write,"c":_getTempRet0,"g":invoke_ii,"s":invoke_iii,"t":invoke_viiiiii,"d":invoke_viiiiiii,"l":_llvm_eh_typeid_for};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["v"]).apply(null,arguments)};var _create_j2c_data=Module["_create_j2c_data"]=function(){return(_create_j2c_data=Module["_create_j2c_data"]=Module["asm"]["w"]).apply(null,arguments)};var _init_j2c_data=Module["_init_j2c_data"]=function(){return(_init_j2c_data=Module["_init_j2c_data"]=Module["asm"]["x"]).apply(null,arguments)};var _get_j2c_width=Module["_get_j2c_width"]=function(){return(_get_j2c_width=Module["_get_j2c_width"]=Module["asm"]["y"]).apply(null,arguments)};var _get_j2c_height=Module["_get_j2c_height"]=function(){return(_get_j2c_height=Module["_get_j2c_height"]=Module["asm"]["z"]).apply(null,arguments)};var _get_j2c_bit_depth=Module["_get_j2c_bit_depth"]=function(){return(_get_j2c_bit_depth=Module["_get_j2c_bit_depth"]=Module["asm"]["A"]).apply(null,arguments)};var _get_j2c_is_signed=Module["_get_j2c_is_signed"]=function(){return(_get_j2c_is_signed=Module["_get_j2c_is_signed"]=Module["asm"]["B"]).apply(null,arguments)};var _get_j2c_num_components=Module["_get_j2c_num_components"]=function(){return(_get_j2c_num_components=Module["_get_j2c_num_components"]=Module["asm"]["C"]).apply(null,arguments)};var _get_j2c_downsampling_x=Module["_get_j2c_downsampling_x"]=function(){return(_get_j2c_downsampling_x=Module["_get_j2c_downsampling_x"]=Module["asm"]["D"]).apply(null,arguments)};var _get_j2c_downsampling_y=Module["_get_j2c_downsampling_y"]=function(){return(_get_j2c_downsampling_y=Module["_get_j2c_downsampling_y"]=Module["asm"]["E"]).apply(null,arguments)};var _parse_j2c_data=Module["_parse_j2c_data"]=function(){return(_parse_j2c_data=Module["_parse_j2c_data"]=Module["asm"]["F"]).apply(null,arguments)};var _restrict_input_resolution=Module["_restrict_input_resolution"]=function(){return(_restrict_input_resolution=Module["_restrict_input_resolution"]=Module["asm"]["G"]).apply(null,arguments)};var _enable_resilience=Module["_enable_resilience"]=function(){return(_enable_resilience=Module["_enable_resilience"]=Module["asm"]["H"]).apply(null,arguments)};var _pull_j2c_line=Module["_pull_j2c_line"]=function(){return(_pull_j2c_line=Module["_pull_j2c_line"]=Module["asm"]["I"]).apply(null,arguments)};var _release_j2c_data=Module["_release_j2c_data"]=function(){return(_release_j2c_data=Module["_release_j2c_data"]=Module["asm"]["J"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["L"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["M"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["N"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["O"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["P"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["Q"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["R"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["S"]).apply(null,arguments)};function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["writeArrayToMemory"]=writeArrayToMemory;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); return Module.ready diff --git a/subprojects/js/html/libopenjph_simd.wasm b/subprojects/js/html/libopenjph_simd.wasm index 47866d666f8842f2c365057e9776d77c498269b7..ab4482277be4b318610ea5005bb38db062759d6e 100755 GIT binary patch delta 37804 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 z z0(2hKG;un$5Tg(HQEH8IV{(vjS--d|4~yOavMt;-OrONvTW-DB)MO`P@(S`$^LP~c zoZ4?w${TYL>*|ViG1sR#bBLA%Ko7DcBEhID0`naqgA5c`B#l-q$x0dw!X=u7F*X{P znuux-v(C|AN7AEYBVmxDE=k5?@dNw}v`+YcwDBi|uvCW@qteKa24Yw@iR7Hjvj^lb z&kggvFb_tu%$}#^Mg@a*kpQN_Jd;PZeBa{t<(?BZA|7g10RdbQEMyIq(^T{1K`Mm^ z<;Jj&p%C1U`2%cBvWaw4n?$1yRy?>h?7oMmPQ|(haR;e+Oz1vhk!~~q;04Jj7e7t- z@QxrFAP1629w8t?E)GRtz~n`tHFRswtZQ1QEPqaCA6m>R4E`n%&7wXy7%+crm09PW zrDhrtIf?jvw)u27OaXX(%u{GSnrl9bw?arhySC7D+4Bry8MoOi=NZ-}tAq_|ecKx2 zWyO}U`i6qk?64M$Q3kkj;$p2`JrYRouRgyp2ZJ4K48LLto{83L=7Ys1!+hxMHQj*q zoi#&Pj&9O=jM?A+$Pibyz#isn$6_0y#??HOitV0K~t!*0*=!Z*Nmu;GXb*IwS&!2QL{b;GR zY*T?1*}R)FeShT!lvH49gH>yW0!-mvowl%Dp0qVT0>r3VP$W> zy><7COmCg~@&?^{{iVCCV{N55yALsQakJZ8oNaFMn~!tQeD@)%-z(j&1SBEKA$zL_ zkZ)7SPy5aHqUadgK!>39pjESD_hH(j!7Gh`oc19%X5OyS?DCtB##908U&$%`+`&a4 ziQA%Z-}IaRwsC*+O6-EaDqPJ(Ac=d2!rkvT?=F$~+BL?cL5`fXyhr8VsqjAXn@f7B z^3Q*DDke5-UY+b^-1=k>Pakf6snzog%rqNKc!##WH3Wc(KOIM|qI-Wj2`~G9x`Oj4 zMyv?WZNNMu#It!0WG3G{yIv)0(Od8MSuqRByj0Y2JExD|nn~WEiF+xh<$EvIkKNt+ z>0U1jXY&xTy@sJ7y*4te^e#>fig!F4X1jGg+YlSG*f?=# zm<`ZZGqEp|@i?4g=xy_l#aIU}M|I#z3zEkSkz~(CdfP9NQqv#lFj{nj+_#4#nNev2 zlj_%#Iv<@S7Xi(+=!OEC;X;iwsBsjN0ksT0?v<lZfIl@QKDOHcWKOW?RLkENn$PSM14VgX7&% zFF6Qc0~HM)%y{oyS5chZtlx?Sl7rZX<--aIOg9u73k=uW$ps5i?ZK0#_UKKy~uROvAd)&hIx^_VWSXxQDSmNMjk;q(?DVS z&{T|S2<_FQaKDj+3^-Q9+X1uyACio!nefwZtd&`0|)+v9;I)E*OYPVIqdMGXX+ z%r78O>oFov+`viz@~wdzA*UQ9D#3(1+KULRMKeJI za8^wWM4ueXhk=YNzF!}MEl?W^nmTGw6H7N;_0eJ!OExtIdoxHA!F2N^xdrN@*=8JW zO&1Zd1vzEF;DnnWGuF&g8L^%i*@HEwG+jHjm7Ox672s(xBMq^<8cwjh(_s87U;`T{ z-_!DpqsRzt8cHVJ}$R)`fA~NTJ#PC6YW6~6vLk^k4)By=9qhxMC4K&uA3VvyQaegMOm^3f| zI?j4!La|SU{VCy~wc`Bl)|~O7T-*79O?}AD&IXHChs@kKHH-*?86y!S$nz9IGI%x! zg8Z`qBexP!1skiBb3qY=68O!CO5nrLsGp?iSg{nWEIIYSYlmpCC#6cGmZzhAanlN;Vsz@fI zzmZ7VjqNCNn1FQ?^&IM(PqW}B#g7ZS{9+$pxQdiBE*jdfpK9PC?luIB2lqxS?orX zmjfly_Z!QiwP2broZE#Uq7@zF&?Z}$N0b~w!F4q>QnJ&;@JjGm2DasN5JD%ivk0nY z##2W{sq0hQ*ipthi(sT9IMPW3zX}WyRN#1G%uOWkD1x?T?mQ~a`UVm>%Mrlo=tCuc z3Gs_3%~sw6o3U%6;r}ooejO3au8CnI5y(S^Ww`TrC?zmo31GZSDI?&SB#>bLlLVqZ z$>A_A?PnM|9frfNkic-taG3qo5}2QmK*vhWRMMA8!lwqp;i+co*BJ>x+HWj;xgB&- zN81!_=pcWIaWFG64jN>d8tBaw(=?kVMKr;&@udkGg#6{xOg(iFbRuo}Gsr5HDqJ$7 zBY!kMlE!LK${$)uR(FRXE+KvdVGXg&j^Ip3{A9wf21ESp)N#k;O(ai{14e0(+ty{M zlTn&|2JuUihBps6HYp8&m|d#zF9N%q>`(}poJ;2-Q+cpsDrT8QCXU8n%)v&uXjDx~ zQHWXuzZtI0hr5KEWA z0nGQM%K!lL05(8ijwD?fj?17JSpnk!vQ2RrkeOke!DE1op!uXvfU1xttAO>ccoV8r z54Q%*55QLRFviCWEYKRX79PM4_69(MhC)72jg%V1pbXm=GeDj+B2NuZYXZ&En(9En zw5A$tBP2abV?Gr{^bI0KwuEA$L#VJ&@+o~>(ic8Qqz2t$Hr*u6q5*Uwx)`H2`k{}#;pA_Lzyif32okqC0?QHoElvCamYL0TFfG`f>(BEh*`Gv^ULJge- zr)-8KO1KUiTx+R1<47~PaGaRFXY0CDAq`@FNl~a=}nTnX_qCND_u(to4CJb zYr7@bq@!mk#jynTRJo#U%7X|#>C{?q2r6v*jXVXiL#R8jVvI9us9w_9^&dN+bCu$b zw=1PiovM^tA-hQG>xA1&BWjSB6HhFfIXo^o+)bF+&?@&gEu%A!L2QMSyrR;_;cENZ z8T?je(5*uT-z5ERnLgj~Sw2`aT#swPy#G4CO)@{MbwQU=bK%1zs}2$eDNFR2RsgvT zKpQC*YquSiN?xRTg1eUL(3Pg4jV|b6Xqr?Oq7uKEZ&J3AI*Eos?0Lb_H*TP-;;i2G zQ9{3m=sT$}X4ql|1!0hWkZq|aPgG+AX(FVIg-DFxPJ%0wOgb0j&7`ff1t3Dm^w4Tk zl*ZCCHJn<7cEic$G~C}o#pZR{a8j|~tl>zZxYKTU2n|6=X-+ zn$>PN7Aev2AkctdP{ZL^M8lzOOm7W-dL$a|`??Lc+f4^E{(ot>-R}5*)o|MI(5uFX zg<))&F6w9SHjNXuS~}eeejoTq@Q1NKx;Y;xy4GotLWepnssKr*xt7 z(lFxI!>%Nq7X%V?o5TkP0WoBHC*;MY&h-g<@nN3 zIy4rC*5I7N+Ophb1zKaX6;AiyNA0S`h8mQKM2zc55~LH|(A(G+<*|ZS_JIo!+MAY3 zvFePy5!9jnsJuY|2~JN-$7!hhuxpi$H2V>z%;d=}Y2{(J5^(6m5z58#h|C^^V;zJx zm*PPe2ar98H)i@GKnP-&&8{nZ#nC<(19D|H8AG9(?A4O zpHORj*b9JTNjS@&vR$84l6qYZ$2MpJT zr7TOh^4VBfg*O!Zr6l~)eD*B~dQ*YglAv7?)!9R))so%QxAL1 zSG$WnJy}%dvKTu7p^Y~C%wJ*2p1StmJ?);jO@V%#1YKCpa>Yz+Q^qK`jcjBboHyC9J;$-K{_`!8EkH-t5J4BVHd=y~DA3zJbB$fYt9rAMFb5;CDATLN`rd3T%N7TFv+v+Bs+0}GW1)IH zt{w+US*^@#y~^u1K66=?A{5m2xf1lK0{t!tdbW%Wm7vEI=nqNIzsuNJ60|{qK1+f? z-isyZM+)>epZPQnCsL<8U(U{vpvM*HAIVfuB>g9mY(J$yr+nsLRckvA0h);;y%^mW z!&bnKYf={G6DrAAM~*)zDa@Z@h3y!Z|<`* zZ0Y-r`1M}!Yvgo(?c0x)$@X`tZ%*U-myioTJ(r(-vs^YHmw~6}GPmNZ>M~Xwu3*Jy zuIpHFasRJ^qb-Tka8iN~VU|`!aTvCx1h1A7e5C(Z*J9=XmQzK2{EkX>)N6hQdx^R| zVHv=LAy0=3dp0FIysJ=;dCf=j72oX~z(#oX`EX;Am{HAstH)fTYBtM-m|QlS^~dAR z+3YMlcF&fw^M!g0oP#ZY*`i?%s}eJ-Sx#_g8qP%0(VB3jE~ZywSp8%U>)StZ1R-D+ zMZD22c9hbh0*Bje0&H+=(7|lc?>d%2HyQ23)~*ic4X`Uc(sdqAdfX&PlMFVFZr{Pj zUkS4n@5A+7X^AbYkrB>`2U#1(nxqOOaK=R{yGFvy(An^cYQwZ$7=sR`x@&S0LB|s0 zCRi^1Jb?YWJH68N8!?(l0UcKqA)pf)E^QLOAINxiK5Sq*n9cQ=hG`uRX8}?;h!vK| z%<$upJ6*XC$#7Oey}0GW*et#~h<#U?Zrog`5N*fjPz}BiPpX9UkVkZzS~6xophTn&o+9bz7ix z=QDZQig*}R&?+>)nU5PROa^fyM+n=A;K z2j%S)bW{fz^ll#i2vbo>MC22sdeC9%_TR)&@$qOLoQZ@dkD_BHk6EqiYFP`}WO4xG z!Xue;R0EE#SGm9zB+Rs<-Nsi$An8EO)o~(Ji(Z0qjx8$%d`5I)^>Il+yGp2QN~tuP zj}ncD@6=f(r8i_gk+Y+yvu>!myPU&JpjooE=q+k3P-O#M=5EMF_akt*@zNLCt52tcID5L1S; z79EDrzTqstoQ5^~TE2gK&6j(CA+f;emFGYpRu#BL_B=VHiHu5C6e09SmC)YqGe7Pw z&Z=ZX;tw;ND1*S_o;?Vx+zgMp$lk&l2ZCsXd?tyg6@W`XEnMQ`P|KyL1*Rlwfj&en z9BNfA5hVnQ8*FM3;fPjod9jmJ0!bnna>SRHUus60Bo0*wiiz&zdzI16fw%(VAhHM0 zJ`AU>TZ-w}_aJ@NbR>tkT_>Lh#nQ0hg2IWp$O|Ql)M9bmN3sYG%*D60__6oA8P6NR z@X)QOeJud+qJmXvX$u4;c}7!_U)06javZ`L?^*--hiW1*yl`GV0yj-zFIfz+{^akUpUhQ?EM(VOvy%f!Kv?A*8ueRB}&!BA2N4a8M9 zP^(mnJ+ze@2gu0-=`YuDj~=HWj}lnL710%9#H@J5{S&AgP;6Ls0-p|ODtyE#e1@$6 zXgpHI=cgue3Mn~5A=$E!lGF@krAne-RY>-HI<{D%SOTX)^)0u;IB|cMcsCBFU7_r; ze=+lq;KUB58>J~xeaWL3`S4111nD#!TjY9O=Zk*AAR4Y!gSv3ZtDo|)_J>48u^=q~ z$}_PJH9$Si;~+w6YbA*gm))^NoCKI>;0^(K7`&t=1stS&V73rFOUMD~6aYYkBD14l zHz!h(n2wUMy)6;pJ zJE)&otmZ=~~mk2JVNkpmwR5P(&Ayaip83N%_RH9!rGnrnMhYP3(5X(u)AhoVU zsniT`E?)7Vyq^QoG=SA%3!0}9`}5RQQoec$met|9H#)#g>rIVNNVsIGM?Kw##-J*& z1(|;HxGRp6{HCuKi&KR)<``mLbPL8m%o1>i1>Io=U5FAF!VByIp(CWEaAuz)pkwbN zG)ERLpyHAFv22ntx}_nDUU@cL+WqhzBAf{J+VIf)7@XG}acLX_NoYRLs)ar;Lj+vA zXeNf2SQf^$3N0;)+hS?RikQEkLt~^i+;mS!7H%#Y&FQ#cj?5v#GwCUhD8pDSMBT%v zDpY7-0xkoi-EL-44bcMIvgEZAxQ36M^G1}+_=-60FvqZo&Q=69-y*d~w?2ai7~^Zq zm#F+;Vo8Yj6$^PtoI#~z5OGRWgz6Z%x+43`KY*3s_BbqdkhfpnWanxk``E02DL|!o z+=HMf=r%Xmty81YmT8R2+c6e`7hzEcp)oQwP|u;V@(q`)q`a}zH&Il@Mh*#JTV?5~LdMJR(-=!X zRmA9Br+4gt3ZE*{>D@)|xDG9Js>o&W-{*)QR z>!#xfD{k;Za$*(aK}FK~D^|wAQRw)#G;khq5PA_0?kqz|nPk)Cy-nOx$5|b2N`-dQ zB=4d+7(nt}7M3s_#avJ%vzY9L-+I~fEw;YD4US49#} z9D^_F=$tM(iT#~e2?aZVtAb+eIC$?|V%0d->bEIqh>OmFXHOTo*b)}Uq7a=6(}_q> z9uQaqG{QZ6*pk}>LB!>IxEWC%@(N??To_AfxMzi@pI3-dQ8w0;!u1>|X&g&yw496^ zs_}wTD?p)h`34;+!(w?2q(z=6gBU03KD2Y?>Chh3f~k&=p_}OHMQV+bl)fMV6Y+D| zpmg2*H~0o;^+@OGJ6=AQWwS8OgVJCtxdi*%#G&!*5j1u2gk)1CKOl{nZicx*b;SWT zr{c6!=TElnjBT2j(k96rE|Uf|C_lN{$Qp53KCu(Y?R*5VW{AD!)aB~3NGM-)JSh{m zIS{L7XhOO&w>>mJPO(?e8aWm7)zAti*>;*V3h4p%f!#jS zT-jW^%*H1})UJgzN0Vj2LU^s23iyf2LlsHCfOdu&PUs|eIRE6S%X9GSN)Okz-CWn5F<0d<7 z-NYOknWz^U?wt&Pq%u$-8YsYgG`cw$a#Tk4c1ELBb=2DhT~$Sa;O4<0R2mo2OT=st zRq^6v)_(x8x2nA~b%^waH1-gQ#c8^xN`Ykqbdf)WjTUS&%c<~VuPr9B$aF*}B)f95 zZr~1Tvgk2|<-qhqSp0YjE6l>`t0aXyFs+cpZ>Hc@NQo{9h>I|>N5f%D=N{NZ0(YYsrX#Vc ztOU-`WTvOVMgWH0duF_&&7?saVUJ#8O%2Zdk__0@f(Y5U`<)t$`3l&%NmzjJPeAEV zYXY4!nPhKg#g(Y1moSxR1+$HIGR}e@E`a8vYPB#PsOix2KDbj*p<0s>Tl*l%s)Qi; z1UeHj0W(jQ88q{1!P)q87l^WHcpYAPVsywJr42^VgX75qu5r3~n1L>!FG(-E3*|YLQX08&H!hY?bko zWPnX*LqByASSf}9S;G-)T*`q_lo|wtN#HQpvc4wT+>Q6CNTB@jL5Kpr7{tIhNDz~7 z+xi6$R%j10cq?%=B;A{XS7}Peu!ngN_(KEh!T2QA;RvxQjcdrQlw7>YrYFRg_KfyZ zKsRcO1NOER1tTg(f(C6xDKRu5AxMmBieF#Af+c>O@W)NKQqbvdj?ivLAW|-gbi%k0 z23-P^I`0ga9ZS%Q&>0YV>e57NPGY3fN=F%>=L4?}SeFIk~BClW82L@x|oiqz<4IU#I&8}mp;-Ea7LBs7vg9O_sz#t5igfR|KkOiaCKo5 z6AB}x1_=IM5dOr4Oof#ILIDrIv5^*kh(n!^YC(W~SdY{%1VZeyd_yE4Y~;#TXL(QKdmn?q=ZaZ$I>fKJKAW%1o~hx zgu01VSZN7&#bUYL;$6SFf_6V3N+!@UM&RO8tY@K;0~nS8>E;&v(9JFAG_yI|$>0H% z!LR)0F4_>%c1V<8%t|k%ye$R#t>0V?1(cF^O4fRZtjR}=3%==3L{J7RRR*8>&F8V= zMR`AtyeAOo2MTobw0bAHX$`|=T}mZQrlE)2`DO3YH{om z*7ITl+H|}#V73w+yU6;CRHWoK74HrxDq_uI&ZYJqAe)N!CMqpxb6wGYCL85zlWkct zvF|cFUz=>plOPkIxV+X73@SMv%uic#D_wgS*wQ-yf6|cnS2>^S=NF{HD*3JT0bdzUdT*92r@|jmGpU!f`g6S+EZ|uhc9bKJ_ z+Ho5+<#J4Lz2ch7*#!|PVzP>|1zs`zT2@#ZERco2qUx92b(Y%uUSwxp#RiSr?Jz|Y zC71`&VD_B0n*#ti?=&nO1>r*Nx=`c4FZ6Yzt1Tobbf8@*U2jOryHz@R+j^sUpmR{IZp>!3xq%UTJU6<adBbS zrTYH+QXfTI7j{+ZF{e~4Q*>Rb_ZyUYZbu3~h_*Ikr!RzWvEqNZmk-R;%xn_Vz1&@L zljrLfJ20CDqOP*(UP6NZb!2a#*m^bQ>d-G`O4Z0IIckb=QjMAj0{T=n@L9k4H#N*91)Ne)J#3VnHcF}jqCcXCvg0YbFFQl7N=w(eqvq6zLCQf@ zl6+MNlJ0^HB8S9JR6TH4VmmhC&?>WJWmuGn@>0{wtWZ||OMcz<|0TZ;>OxG~x-7QMDfWNo?`$$hx{{H?Qr9;SwK&bz z{tGD?Pk&z(GH_V&$tS)p#6-!!SBpU07OPYqUPp&eY$4cyKbDGOey580l}|~*I){#D z5`*O_S-{0l(rRb%k)6eIl|?!2c9C$qB}eR*bYf?CBgup)l}f{8WXa=y@?asVyN9d^ z(jsI{ygW-X{`<37d5jwHd)0tFesec27U&>P*o`8h*rOPKl`&7;%*NJWxAGj)-)n^< zm3%drkq4t_NE)EYeSjw1rV$8;eW|g$D_J@yU|_lIn=s|31~d})V8S^ix0zvsAMU|a zWoRe^;*W{Uw^5FY!)yn|(bU`CK(qv&7DCzs&k~;YBqKk=i?nKLud4@kv;F)H_O7m( zEq-HdvDh@1jqq(-plKy;O;pvh+_1K=p?c=r`7;}NW5f0HXYM#Ym(6p9dM(lx)GWM? zS2r{)XxK4*9&6Im7d6frHLCi?nbiv$=PsBp-dn(G3KuPySKWBs-1&3(+(rC`h6M=R zFt_nKe$fRNipqs-=0%IHTX22dEIxbg{8@bbg_HX6Yp-wQvlm>C*JRr2x<%EREQ&W& z&zMEo&2CsQ52@;$_(j##wK9HgomjPyZ8GM~sHuGgfA3S7}w!A!h~+J~L=gSD?7canL{;ICnl@IHO?^ z5pV`?q>5e#I#)N0=JVz*lF{=PUAu_SXsG6OGaBYpH}C}wyt@AS8FjpI0Y7ivj2rv& zi?6HZ^A;>>Dp@V(_terKDweUX1VgLy4gW4VzcJXwi&0)z{oGqhUVi zF`kkV-gOdB{HBQ&q|y6w_0Dc!mq%8X8H{0HUYSwu1-e_zdki}%n{U9<+rcui;s#c( zuPhh4ZeWx3Bjv((BdgHY^%28w#QX6+V)2bQ&9J<$5kjt-kIKWxhd-XvS3E^1&Hcnb zkfh(venv(yKvV>M0{EiT{r!v(e4&ZxG|fELPh4;lQtqx0tLeF_zxd=PR;@1?Af|qg zReMehFlO8=G9JeWC@FiNsqIjn07P!AiHIV5zu8pvaq#7 zjPi8R{~2oDW6WLD10bq0^%0cFet;zfC`zn+Zv_E&juO-2 ztlGPAwDAMx6N5H^U~k3Q?HT*WC^9KhnMcQnYnoB_4QGjE^gM8uc&QorY#S^5i}8MB ztf*Yfsw>*hHgJ!wssbgo+jRVFBXkX3iLw-pHZ5<{#2zGZHNT>X0k^S=t9QPl85s`E z2+QFI#D^R{p?G2l!gWZX;w0IZz6xB21{7~#tU}!Quz2S-^zq)?*Z|kbS2c0!Ha6L{ z?=?+Kx*c_B+pUQo-_9ocR=%!*5EI2an_1R_TbNrce-u9jE$rrkwl_2*Ky9Nh*t8w* zh55zXEzGAce^Y$W!uosnyoth##VcEY(ftlK#I<&hCjPvIb?@fX zp0dNP>-~E)V+N7SBh0Npe)tY{p1%91;!k(5Df+6PiOM_KBi^>RP-dE7KW2sE|L%k| zo_I_6?*hW!z2aheuKT%IcNe=&-~6^HS%UZGUx-LL3-oyIq?fXT+y?8EvPfWQN86193Jc#!JYu^XK4d7B0DUC;^+llzl zkd$~Yn)1FT!mTVP_ZR_trU23JOFt0Zmm=eXABdWztbhMi?Z_Awdm>}I*S8}+bOYjv zXQ)8*`o4DY#!@z0Z~K+#e;*s1d*WBX8J3bZh)u&Eil+P6l=LGXg7B9)>BZ-_f~NCc zL-+jQKGsv;^=py73^{E+Aexr39ht{}V|T9Itfe1`v+oBPc7G%m(DUR+;*tA-fAqJ) zw;b;q4vNaT@`wvw z05d=M0!t5@+dl*26i_S?LaZQ8Tl65CsBieQ*!3Xla^TP6=z}P8+h4>8foIDx(IQax z=Fdg1Re&Gzcit`LKF0d!NADItcnmDO;T~pWkkX+ZppUH~+7KUdh6{?v zAaLLw@j24yEAJK24JeO$QM@02m=1ALV^RI+7bc~kw zi_eipU$tDE^*Ec5b8I;?0z?$`HJ7YFV?@O>I7qb(!@ShGURW9w78C#AOUXnCheAWPRER_kxso5c)XbI&~*pmBw7Y61a|@ zqIeK`GvdlAtdy%H^sZZ2y7) zb`oq3;+zU&c-xP-jM5HqGM{6FOPuB4q9c|*2wbN_DR0sy)B%VOO-#YXQLo*EOKF|- zA+kb&e2|cDP642|PCh8uCYGDKN&t363M`DjkSIjOCN?2+=_()6c|@49}=HzLT4U%NDO)sow;tcnDHd&uxmAnaXOQ5(V6XtOLV4+ zlf@h-T&FWBo{Wz*z;!xP#Yx=Fh!5pS9A&7WGxs2_oCJfugbS(p$CHqn=C#PgQC9@8 zrDiSS6CFtL=)j$8h4~bl?cMl8W>l1tEs`bLo??Z$P+dmIp)w((mrnjreEt;69k=RX zz(ymE-~>ajY)4!|yQw%?^L>Pi{z>4XQ;t3?CU0g_ylsy#<0eDeG-C5+Hm6|UI`jl3 zwiVS8yqBlp-8N;aFovY9TaQRWa*N-#u)IXqP#Sbi`+9N57AWyOkBZN>plg~R6UAHE zl)?KSLj@gc&5>#J_A$gKY(R=9TVMk-W>koG$llq!m0h5p+#s+Iw15BYKSCys8Ar%A zY4;&MG2l}?NPF~0;yXVEkF-55e)MB@+u*%VAZ z-pX<(Y}*Rh0K^e{5DXOEi?|Gj*;Sm(=Lq3CN`>OV*eyRsb(omH6vpHott|ZAU5LoI zAtghb>g|XRIgCz;LG|N=>vXe&~1tTqJ(UO&7|6l`a+ z`|k&}GaRKt`PoCmF~lcifa1Z|OP>*2x1+}oJ|n)^&aTbe-)gh7O|+w}V*azNziY#G zCKle$x(odEWPgBw;M)V+#oN!KGAFhpV;ZxF9SDXFTKTN_0txlK&x$_JVZ2)R94h6g zOTr;s^vW*8CpwqnLHYLQ#G^=~Z{8vP{2cN)yhC)~fnI9f30$WK376D4;u6GDaWdbX zgj->kL-C~E5jQ?0Ry+U}y>ACtbmQ~l)g374C;oyQO+g=kF>_R)%?G`(B(G=!&G5RIEuYE&2_7cp`jc+oTpBdsWtHG}m zUuJRNzC8@)Cq@o3KM%eP^RuAkEo4k=LSHp-nd=Z&K15u(mKEkWovAdc*-oIIVktlw zaXSTpz$eT1it08{>F{3hbQ@9a=i(6F`ycyxO5YJKH32-a^lg;v2oJ@BCpNw3zQtU%bNlU%O-<(vruA(h!agu0Dz)P%9^_~v++GMfxYR=^=K$e4>Wy&0BPS4d zi<|<8`H#RTUjHha*}vu86xtJ_tq0d3K0$kmhaTMZt{D6pyUn}jm&j<4NZ*Z2-g%A9 z@wM+~#tGdeK3@+Ke|tBZ&GZ8wh!oX0G{AY<+|E?C~z%)2T591@wy# z80q$311VcG@Bg(phD7Nv(R;3D{uIx@dqn=5tW;FJ$$A>nwRLQsrtMrP=Do>!$H}$D z=fl~C@A-oUUUSXN8*iL(?cAn8gDS7NX5qCn7FA!^(X={bISJv(_)fw1qQ;R4$33Bt zgY-(^&}S{41$dr^?^Jv*Y8*5KD*=sj=T%=L-Pni&P2$=TAX3K2EWsjx$;>w5ua;w3 z#mERkrR3vVLaGHH8q5*T24RfEGi@;9hTyyLF6fAl0f1L=EuMZHYmgrp)D(?$N9j2f o1M}}70fWhOC*Q`-yYPd-X)R*ODZ3d@52b{XIEJvR?Y;~DAK*Y+x&QzG delta 33170 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