Switch to Emscripten upstream

Looks like we've been stuck on Emscripten fastcomp backend, misssing out on all new optimisations between LLVM 6 and LLVM 11 and going via slow asm.js pipeline when building.

This changes Docker images for Emscripten projects to point to emscripten-upstream instead and commits the updated artifacts.
This commit is contained in:
Ingvar Stepanyan
2020-05-01 14:33:33 +01:00
committed by Ingvar Stepanyan
parent ed666dd381
commit 7da3f07333
17 changed files with 241 additions and 239 deletions

View File

@@ -6,55 +6,55 @@ var mozjpeg_enc = (function() {
function(mozjpeg_enc) {
mozjpeg_enc = mozjpeg_enc || {};
var d;d||(d=typeof mozjpeg_enc !== 'undefined' ? mozjpeg_enc : {});var p={},q;for(q in d)d.hasOwnProperty(q)&&(p[q]=d[q]);var aa="./this.program";function t(a,b){throw b;}var u=!1,v=!1,ba=!1,ca=!1,da=!1;u="object"===typeof window;v="function"===typeof importScripts;ba=(ca="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node)&&!u&&!v;da=!u&&!ba&&!v;var w="",x,z,ha,ia;
if(ba)w=__dirname+"/",x=function(a,b){ha||(ha=require("fs"));ia||(ia=require("path"));a=ia.normalize(a);return ha.readFileSync(a,b?null:"utf8")},z=function(a){a=x(a,!0);a.buffer||(a=new Uint8Array(a));a.buffer||A("Assertion failed: undefined");return a},1<process.argv.length&&(aa=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(a){if(!(a instanceof ja))throw a;}),process.on("unhandledRejection",A),t=function(a){process.exit(a)},d.inspect=function(){return"[Emscripten Module object]"};
else if(da)"undefined"!=typeof read&&(x=function(a){return read(a)}),z=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");"object"===typeof a||A("Assertion failed: undefined");return a},"function"===typeof quit&&(t=function(a){quit(a)}),"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(u||v)v?w=self.location.href:document.currentScript&&
(w=document.currentScript.src),_scriptDir&&(w=_scriptDir),0!==w.indexOf("blob:")?w=w.substr(0,w.lastIndexOf("/")+1):w="",x=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},v&&(z=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var ka=d.print||console.log.bind(console),B=d.printErr||console.warn.bind(console);for(q in p)p.hasOwnProperty(q)&&(d[q]=p[q]);p=null;
d.thisProgram&&(aa=d.thisProgram);d.quit&&(t=d.quit);function la(a){var b=C[ma>>2];a=b+a+15&-16;a>na()&&A();C[ma>>2]=a;return b}var oa={"f64-rem":function(a,b){return a%b},"debugger":function(){}},D;d.wasmBinary&&(D=d.wasmBinary);var pa;d.noExitRuntime&&(pa=d.noExitRuntime);"object"!==typeof WebAssembly&&B("no native wasm support detected");var E,qa=new WebAssembly.Table({initial:208,maximum:208,element:"anyfunc"}),ra=!1,sa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function ta(a,b,c){var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.subarray&&sa)return sa.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|g);else{var h=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|h:(f&7)<<18|g<<12|h<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}
function ua(a,b,c,e){if(0<e){e=c+e-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}if(127>=g){if(c>=e)break;b[c++]=g}else{if(2047>=g){if(c+1>=e)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=e)break;b[c++]=224|g>>12}else{if(c+3>=e)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0}}
function va(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:b+4}return b}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");function wa(a){0<a%65536&&(a+=65536-a%65536);return a}var buffer,F,G,xa,ya,C,H,za,Aa;
function Ca(a){buffer=a;d.HEAP8=F=new Int8Array(a);d.HEAP16=xa=new Int16Array(a);d.HEAP32=C=new Int32Array(a);d.HEAPU8=G=new Uint8Array(a);d.HEAPU16=ya=new Uint16Array(a);d.HEAPU32=H=new Uint32Array(a);d.HEAPF32=za=new Float32Array(a);d.HEAPF64=Aa=new Float64Array(a)}var ma=89296,Da=d.TOTAL_MEMORY||16777216;d.wasmMemory?E=d.wasmMemory:E=new WebAssembly.Memory({initial:Da/65536});E&&(buffer=E.buffer);Da=buffer.byteLength;Ca(buffer);C[ma>>2]=5332368;
function I(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.ha;"number"===typeof c?void 0===b.ba?d.dynCall_v(c):d.dynCall_vi(c,b.ba):c(void 0===b.ba?null:b.ba)}}}var Ea=[],Fa=[],Ga=[],Ha=[],Ia=!1;function Ja(){var a=d.preRun.shift();Ea.unshift(a)}var J=0,Ka=null,K=null;d.preloadedImages={};d.preloadedAudios={};function A(a){if(d.onAbort)d.onAbort(a);ka(a);B(a);ra=!0;throw new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");}
function La(){var a=M;return String.prototype.startsWith?a.startsWith("data:application/octet-stream;base64,"):0===a.indexOf("data:application/octet-stream;base64,")}var M="mozjpeg_enc.wasm";if(!La()){var Ma=M;M=d.locateFile?d.locateFile(Ma,w):w+Ma}function Na(){try{if(D)return new Uint8Array(D);if(z)return z(M);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}}
function Oa(){return D||!u&&!v||"function"!==typeof fetch?new Promise(function(a){a(Na())}):fetch(M,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+M+"'";return a.arrayBuffer()}).catch(function(){return Na()})}
d.asm=function(){function a(a){d.asm=a.exports;J--;d.monitorRunDependencies&&d.monitorRunDependencies(J);0==J&&(null!==Ka&&(clearInterval(Ka),Ka=null),K&&(a=K,K=null,a()))}function b(b){a(b.instance)}function c(a){return Oa().then(function(a){return WebAssembly.instantiate(a,e)}).then(a,function(a){B("failed to asynchronously prepare wasm: "+a);A(a)})}var e={env:Pa,wasi_unstable:Pa,global:{NaN:NaN,Infinity:Infinity},"global.Math":Math,asm2wasm:oa};J++;d.monitorRunDependencies&&d.monitorRunDependencies(J);
if(d.instantiateWasm)try{return d.instantiateWasm(e,a)}catch(f){return B("Module.instantiateWasm callback failed with error: "+f),!1}(function(){if(D||"function"!==typeof WebAssembly.instantiateStreaming||La()||"function"!==typeof fetch)return c(b);fetch(M,{credentials:"same-origin"}).then(function(a){return WebAssembly.instantiateStreaming(a,e).then(b,function(a){B("wasm streaming compile failed: "+a);B("falling back to ArrayBuffer instantiation");c(b)})})})();return{}};Fa.push({ha:function(){Qa()}});
var O={};
function Ra(a){if(Ra.aa){var b=C[a>>2];var c=C[b>>2]}else Ra.aa=!0,O.USER="web_user",O.LOGNAME="web_user",O.PATH="/",O.PWD="/",O.HOME="/home/web_user",O.LANG=("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",O._=aa,c=Ia?P(1024):la(1024),b=Ia?P(256):la(256),C[b>>2]=c,C[a>>2]=b;a=[];var e=0,f;for(f in O)if("string"===typeof O[f]){var g=f+"="+O[f];a.push(g);e+=g.length}if(1024<e)throw Error("Environment size exceeded TOTAL_ENV_SIZE!");for(f=0;f<
a.length;f++){e=g=a[f];for(var h=c,k=0;k<e.length;++k)F[h++>>0]=e.charCodeAt(k);F[h>>0]=0;C[b+4*f>>2]=c;c+=g.length+1}C[b+4*a.length>>2]=0}var Sa=[null,[],[]];function Ta(){return 0}function Ua(){return 0}function Va(a,b,c,e){try{for(var f=0,g=0;g<c;g++){for(var h=C[b+8*g>>2],k=C[b+(8*g+4)>>2],r=0;r<k;r++){var m=G[h+r],y=Sa[a];0===m||10===m?((1===a?ka:B)(ta(y,0)),y.length=0):y.push(m)}f+=k}C[e>>2]=f;return 0}catch(n){return"undefined"!==typeof FS&&n instanceof FS.ra||A(n),n.sa}}var Wa={};
function Xa(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Ya(a){return this.fromWireType(H[a>>2])}var Q={},R={},Za={};function $a(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function ab(a,b){a=$a(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function bb(a){var b=Error,c=ab(a,function(b){this.name=a;this.message=b;b=Error(b).stack;void 0!==b&&(this.stack=this.toString()+"\n"+b.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var cb=void 0;
function db(a,b,c){function e(b){b=c(b);if(b.length!==a.length)throw new cb("Mismatched type converter count");for(var e=0;e<a.length;++e)S(a[e],b[e])}a.forEach(function(a){Za[a]=b});var f=Array(b.length),g=[],h=0;b.forEach(function(a,b){R.hasOwnProperty(a)?f[b]=R[a]:(g.push(a),Q.hasOwnProperty(a)||(Q[a]=[]),Q[a].push(function(){f[b]=R[a];++h;h===g.length&&e(f)}))});0===g.length&&e(f)}
function eb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var gb=void 0;function T(a){for(var b="";G[a];)b+=gb[G[a++]];return b}var hb=void 0;function U(a){throw new hb(a);}
function S(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=b.name;a||U('type "'+e+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.la)return;U("Cannot register type '"+e+"' twice")}R[a]=b;delete Za[a];Q.hasOwnProperty(a)&&(b=Q[a],delete Q[a],b.forEach(function(a){a()}))}var ib=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function jb(a){4<a&&0===--V[a].da&&(V[a]=void 0,ib.push(a))}function kb(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=ib.length?ib.pop():V.length;V[b]={da:1,value:a};return b}}function lb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function mb(a,b){switch(b){case 2:return function(a){return this.fromWireType(za[a>>2])};case 3:return function(a){return this.fromWireType(Aa[a>>3])};default:throw new TypeError("Unknown float type: "+a);}}function nb(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=ab(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function ob(a,b){var c=d;if(void 0===c[a].Z){var e=c[a];c[a]=function(){c[a].Z.hasOwnProperty(arguments.length)||U("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Z+")!");return c[a].Z[arguments.length].apply(this,arguments)};c[a].Z=[];c[a].Z[e.fa]=e}}
function pb(a,b,c){d.hasOwnProperty(a)?((void 0===c||void 0!==d[a].Z&&void 0!==d[a].Z[c])&&U("Cannot register public name '"+a+"' twice"),ob(a,a),d.hasOwnProperty(c)&&U("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),d[a].Z[c]=b):(d[a]=b,void 0!==c&&(d[a].ua=c))}function qb(a,b){for(var c=[],e=0;e<a;e++)c.push(C[(b>>2)+e]);return c}
function W(a,b){a=T(a);if(void 0!==d["FUNCTION_TABLE_"+a])var c=d["FUNCTION_TABLE_"+a][b];else if("undefined"!==typeof FUNCTION_TABLE)c=FUNCTION_TABLE[b];else{c=d["dynCall_"+a];void 0===c&&(c=d["dynCall_"+a.replace(/f/g,"d")],void 0===c&&U("No dynCall invoker for signature: "+a));for(var e=[],f=1;f<a.length;++f)e.push("a"+f);f="return function "+("dynCall_"+a+"_"+b)+"("+e.join(", ")+") {\n";f+=" return dynCall(rawFunction"+(e.length?", ":"")+e.join(", ")+");\n";c=(new Function("dynCall","rawFunction",
f+"};\n"))(c,b)}"function"!==typeof c&&U("unknown function pointer with signature "+a+": "+b);return c}var rb=void 0;function sb(a){a=tb(a);var b=T(a);X(a);return b}function ub(a,b){function c(a){f[a]||R[a]||(Za[a]?Za[a].forEach(c):(e.push(a),f[a]=!0))}var e=[],f={};b.forEach(c);throw new rb(a+": "+e.map(sb).join([", "]));}
function vb(a,b,c){switch(b){case 0:return c?function(a){return F[a]}:function(a){return G[a]};case 1:return c?function(a){return xa[a>>1]}:function(a){return ya[a>>1]};case 2:return c?function(a){return C[a>>2]}:function(a){return H[a>>2]};default:throw new TypeError("Unknown integer type: "+a);}}function na(){return F.length}function Y(a){if(0===a)return 0;a=a?ta(G,a,void 0):"";if(!O.hasOwnProperty(a))return 0;Y.aa&&X(Y.aa);a=O[a];var b=va(a)+1,c=P(b);c&&ua(a,F,c,b);Y.aa=c;return Y.aa}
cb=d.InternalError=bb("InternalError");for(var wb=Array(256),xb=0;256>xb;++xb)wb[xb]=String.fromCharCode(xb);gb=wb;hb=d.BindingError=bb("BindingError");d.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};d.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};rb=d.UnboundTypeError=bb("UnboundTypeError");
var Pa={B:Ra,u:function(){return Ta.apply(null,arguments)},n:function(){return Ua.apply(null,arguments)},m:function(){return Va.apply(null,arguments)},l:function(a){var b=Wa[a];delete Wa[a];var c=b.ma,e=b.na,f=b.ea,g=f.map(function(a){return a.ka}).concat(f.map(function(a){return a.pa}));db([a],g,function(a){var g={};f.forEach(function(b,c){var e=a[c],k=b.ia,r=b.ja,h=a[c+f.length],m=b.oa,fa=b.qa;g[b.ga]={read:function(a){return e.fromWireType(k(r,a))},write:function(a,b){var c=[];m(fa,a,h.toWireType(c,
b));Xa(c)}}});return[{name:b.name,fromWireType:function(a){var b={},c;for(c in g)b[c]=g[c].read(a);e(a);return b},toWireType:function(a,b){for(var f in g)if(!(f in b))throw new TypeError("Missing field");var k=c();for(f in g)g[f].write(k,b[f]);null!==a&&a.push(e,k);return k},argPackAdvance:8,readValueFromPointer:Ya,$:e}]})},k:function(a,b,c,e,f){var g=eb(c);b=T(b);S(a,{name:b,fromWireType:function(a){return!!a},toWireType:function(a,b){return b?e:f},argPackAdvance:8,readValueFromPointer:function(a){if(1===
c)var e=F;else if(2===c)e=xa;else if(4===c)e=C;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(e[a>>g])},$:null})},j:function(a,b){b=T(b);S(a,{name:b,fromWireType:function(a){var b=V[a].value;jb(a);return b},toWireType:function(a,b){return kb(b)},argPackAdvance:8,readValueFromPointer:Ya,$:null})},g:function(a,b,c){c=eb(c);b=T(b);S(a,{name:b,fromWireType:function(a){return a},toWireType:function(a,b){if("number"!==typeof b&&"boolean"!==typeof b)throw new TypeError('Cannot convert "'+
lb(b)+'" to '+this.name);return b},argPackAdvance:8,readValueFromPointer:mb(b,c),$:null})},f:function(a,b,c,e,f,g){var h=qb(b,c);a=T(a);f=W(e,f);pb(a,function(){ub("Cannot call "+a+" due to unbound types",h)},b-1);db([],h,function(c){var e=[c[0],null].concat(c.slice(1)),h=c=a,k=f,n=e.length;2>n&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var Ba=null!==e[1]&&!1,ea=!1,l=1;l<e.length;++l)if(null!==e[l]&&void 0===e[l].$){ea=!0;break}var fa="void"!==e[0].name,
L="",N="";for(l=0;l<n-2;++l)L+=(0!==l?", ":"")+"arg"+l,N+=(0!==l?", ":"")+"arg"+l+"Wired";h="return function "+$a(h)+"("+L+") {\nif (arguments.length !== "+(n-2)+") {\nthrowBindingError('function "+h+" called with ' + arguments.length + ' arguments, expected "+(n-2)+" args!');\n}\n";ea&&(h+="var destructors = [];\n");var fb=ea?"destructors":"null";L="throwBindingError invoker fn runDestructors retType classParam".split(" ");k=[U,k,g,Xa,e[0],e[1]];Ba&&(h+="var thisWired = classParam.toWireType("+fb+
", this);\n");for(l=0;l<n-2;++l)h+="var arg"+l+"Wired = argType"+l+".toWireType("+fb+", arg"+l+"); // "+e[l+2].name+"\n",L.push("argType"+l),k.push(e[l+2]);Ba&&(N="thisWired"+(0<N.length?", ":"")+N);h+=(fa?"var rv = ":"")+"invoker(fn"+(0<N.length?", ":"")+N+");\n";if(ea)h+="runDestructors(destructors);\n";else for(l=Ba?1:2;l<e.length;++l)n=1===l?"thisWired":"arg"+(l-2)+"Wired",null!==e[l].$&&(h+=n+"_dtor("+n+"); // "+e[l].name+"\n",L.push(n+"_dtor"),k.push(e[l].$));fa&&(h+="var ret = retType.fromWireType(rv);\nreturn ret;\n");
L.push(h+"}\n");e=nb(L).apply(null,k);l=b-1;if(!d.hasOwnProperty(c))throw new cb("Replacing nonexistant public symbol");void 0!==d[c].Z&&void 0!==l?d[c].Z[l]=e:(d[c]=e,d[c].fa=l);return[]})},c:function(a,b,c,e,f){function g(a){return a}b=T(b);-1===f&&(f=4294967295);var h=eb(c);if(0===e){var k=32-8*c;g=function(a){return a<<k>>>k}}var r=-1!=b.indexOf("unsigned");S(a,{name:b,fromWireType:g,toWireType:function(a,c){if("number"!==typeof c&&"boolean"!==typeof c)throw new TypeError('Cannot convert "'+lb(c)+
'" to '+this.name);if(c<e||c>f)throw new TypeError('Passing a number "'+lb(c)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+e+", "+f+"]!");return r?c>>>0:c|0},argPackAdvance:8,readValueFromPointer:vb(b,h,0!==e),$:null})},b:function(a,b,c){function e(a){a>>=2;var b=H;return new f(b.buffer,b[a+1],b[a])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=T(c);S(a,{name:c,fromWireType:e,argPackAdvance:8,
readValueFromPointer:e},{la:!0})},i:function(a,b){b=T(b);var c="std::string"===b;S(a,{name:b,fromWireType:function(a){var b=H[a>>2];if(c){var e=G[a+4+b],h=0;0!=e&&(h=e,G[a+4+b]=0);var k=a+4;for(e=0;e<=b;++e){var r=a+4+e;if(0==G[r]){k=k?ta(G,k,void 0):"";if(void 0===m)var m=k;else m+=String.fromCharCode(0),m+=k;k=r+1}}0!=h&&(G[a+4+b]=h)}else{m=Array(b);for(e=0;e<b;++e)m[e]=String.fromCharCode(G[a+4+e]);m=m.join("")}X(a);return m},toWireType:function(a,b){b instanceof ArrayBuffer&&(b=new Uint8Array(b));
var e="string"===typeof b;e||b instanceof Uint8Array||b instanceof Uint8ClampedArray||b instanceof Int8Array||U("Cannot pass non-string to std::string");var f=(c&&e?function(){return va(b)}:function(){return b.length})(),k=P(4+f+1);H[k>>2]=f;if(c&&e)ua(b,G,k+4,f+1);else if(e)for(e=0;e<f;++e){var r=b.charCodeAt(e);255<r&&(X(k),U("String has UTF-16 code units that do not fit in 8 bits"));G[k+4+e]=r}else for(e=0;e<f;++e)G[k+4+e]=b[e];null!==a&&a.push(X,k);return k},argPackAdvance:8,readValueFromPointer:Ya,
$:function(a){X(a)}})},A:function(a,b,c){c=T(c);if(2===b){var e=function(){return ya};var f=1}else 4===b&&(e=function(){return H},f=2);S(a,{name:c,fromWireType:function(a){for(var b=e(),c=H[a>>2],g=Array(c),m=a+4>>f,y=0;y<c;++y)g[y]=String.fromCharCode(b[m+y]);X(a);return g.join("")},toWireType:function(a,c){var g=c.length,h=P(4+g*b),m=e();H[h>>2]=g;for(var y=h+4>>f,n=0;n<g;++n)m[y+n]=c.charCodeAt(n);null!==a&&a.push(X,h);return h},argPackAdvance:8,readValueFromPointer:Ya,$:function(a){X(a)}})},z:function(a,
b,c,e,f,g){Wa[a]={name:T(b),ma:W(c,e),na:W(f,g),ea:[]}},h:function(a,b,c,e,f,g,h,k,r,m){Wa[a].ea.push({ga:T(b),ka:c,ia:W(e,f),ja:g,pa:h,oa:W(k,r),qa:m})},y:function(a,b){b=T(b);S(a,{ta:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},x:jb,w:function(a){4<a&&(V[a].da+=1)},v:function(a,b){var c=R[a];void 0===c&&U("_emval_take_value has unknown type "+sb(a));a=c.readValueFromPointer(b);return kb(a)},__memory_base:1024,__table_base:0,e:function(){A()},t:na,s:function(a,
b,c){G.set(G.subarray(b,b+c),a)},r:function(a){if(2147418112<a)return!1;for(var b=Math.max(na(),16777216);b<a;)536870912>=b?b=wa(2*b):b=Math.min(wa((3*b+2147483648)/4),2147418112);a:{try{E.grow(b-buffer.byteLength+65535>>16);Ca(E.buffer);var c=1;break a}catch(e){}c=void 0}return c?!0:!1},q:function(a){if(!pa&&(ra=!0,d.onExit))d.onExit(a);t(a,new ja(a))},p:Y,d:function(a){return Math.pow(2,a)},a:A,memory:E,o:function(){},table:qa},yb=d.asm({},Pa,buffer);d.asm=yb;
d.___embind_register_native_and_builtin_types=function(){return d.asm.C.apply(null,arguments)};var tb=d.___getTypeName=function(){return d.asm.D.apply(null,arguments)},X=d._free=function(){return d.asm.E.apply(null,arguments)},P=d._malloc=function(){return d.asm.F.apply(null,arguments)},Qa=d.globalCtors=function(){return d.asm.Y.apply(null,arguments)};d.dynCall_i=function(){return d.asm.G.apply(null,arguments)};d.dynCall_ii=function(){return d.asm.H.apply(null,arguments)};
d.dynCall_iidiiii=function(){return d.asm.I.apply(null,arguments)};d.dynCall_iii=function(){return d.asm.J.apply(null,arguments)};d.dynCall_iiii=function(){return d.asm.K.apply(null,arguments)};d.dynCall_iiiii=function(){return d.asm.L.apply(null,arguments)};d.dynCall_iiiiii=function(){return d.asm.M.apply(null,arguments)};d.dynCall_iiiiiii=function(){return d.asm.N.apply(null,arguments)};d.dynCall_jiji=function(){return d.asm.O.apply(null,arguments)};
d.dynCall_v=function(){return d.asm.P.apply(null,arguments)};d.dynCall_vi=function(){return d.asm.Q.apply(null,arguments)};d.dynCall_vii=function(){return d.asm.R.apply(null,arguments)};d.dynCall_viii=function(){return d.asm.S.apply(null,arguments)};d.dynCall_viiii=function(){return d.asm.T.apply(null,arguments)};d.dynCall_viiiii=function(){return d.asm.U.apply(null,arguments)};d.dynCall_viiiiii=function(){return d.asm.V.apply(null,arguments)};
d.dynCall_viiiiiii=function(){return d.asm.W.apply(null,arguments)};d.dynCall_viiiiiiii=function(){return d.asm.X.apply(null,arguments)};d.asm=yb;var Z;d.then=function(a){if(Z)a(d);else{var b=d.onRuntimeInitialized;d.onRuntimeInitialized=function(){b&&b();a(d)}}return d};function ja(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}K=function zb(){Z||Ab();Z||(K=zb)};
function Ab(){function a(){if(!Z&&(Z=!0,!ra)){Ia=!0;I(Fa);I(Ga);if(d.onRuntimeInitialized)d.onRuntimeInitialized();if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;){var a=d.postRun.shift();Ha.unshift(a)}I(Ha)}}if(!(0<J)){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)Ja();I(Ea);0<J||(d.setStatus?(d.setStatus("Running..."),setTimeout(function(){setTimeout(function(){d.setStatus("")},1);a()},1)):a())}}d.run=Ab;
if(d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);0<d.preInit.length;)d.preInit.pop()();pa=!0;Ab();
var c;c||(c=typeof mozjpeg_enc !== 'undefined' ? mozjpeg_enc : {});var r={},t;for(t in c)c.hasOwnProperty(t)&&(r[t]=c[t]);var aa="./this.program";function u(a,b){throw b;}var ba=!1,v=!1,ca=!1,da=!1;ba="object"===typeof window;v="function"===typeof importScripts;ca="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;da=!ba&&!ca&&!v;var w="",ea,x,fa,ha;
if(ca)w=v?require("path").dirname(w)+"/":__dirname+"/",ea=function(a,b){fa||(fa=require("fs"));ha||(ha=require("path"));a=ha.normalize(a);return fa.readFileSync(a,b?null:"utf8")},x=function(a){a=ea(a,!0);a.buffer||(a=new Uint8Array(a));a.buffer||A("Assertion failed: undefined");return a},1<process.argv.length&&(aa=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(a){if(!(a instanceof ia))throw a;}),process.on("unhandledRejection",A),u=function(a){process.exit(a)},
c.inspect=function(){return"[Emscripten Module object]"};else if(da)"undefined"!=typeof read&&(ea=function(a){return read(a)}),x=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");"object"===typeof a||A("Assertion failed: undefined");return a},"function"===typeof quit&&(u=function(a){quit(a)}),"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:
print);else if(ba||v)v?w=self.location.href:document.currentScript&&(w=document.currentScript.src),_scriptDir&&(w=_scriptDir),0!==w.indexOf("blob:")?w=w.substr(0,w.lastIndexOf("/")+1):w="",ea=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},v&&(x=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var ja=c.print||console.log.bind(console),B=c.printErr||console.warn.bind(console);
for(t in r)r.hasOwnProperty(t)&&(c[t]=r[t]);r=null;c.thisProgram&&(aa=c.thisProgram);c.quit&&(u=c.quit);var C;c.wasmBinary&&(C=c.wasmBinary);var noExitRuntime;c.noExitRuntime&&(noExitRuntime=c.noExitRuntime);"object"!==typeof WebAssembly&&B("no native wasm support detected");var F,ka=new WebAssembly.Table({initial:134,maximum:134,element:"anyfunc"}),la=!1,ma="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function na(a,b,d){var e=b+d;for(d=b;a[d]&&!(d>=e);)++d;if(16<d-b&&a.subarray&&ma)return ma.decode(a.subarray(b,d));for(e="";b<d;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|g);else{var m=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|m:(f&7)<<18|g<<12|m<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}
function oa(a,b,d){var e=H;if(0<d){d=b+d-1;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var m=a.charCodeAt(++f);g=65536+((g&1023)<<10)|m&1023}if(127>=g){if(b>=d)break;e[b++]=g}else{if(2047>=g){if(b+1>=d)break;e[b++]=192|g>>6}else{if(65535>=g){if(b+2>=d)break;e[b++]=224|g>>12}else{if(b+3>=d)break;e[b++]=240|g>>18;e[b++]=128|g>>12&63}e[b++]=128|g>>6&63}e[b++]=128|g&63}}e[b]=0}}var pa="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;
function qa(a){var b;for(b=a>>1;I[b];)++b;b<<=1;if(32<b-a&&pa)return pa.decode(H.subarray(a,b));b=0;for(var d="";;){var e=I[a+2*b>>1];if(0==e)return d;++b;d+=String.fromCharCode(e)}}function ra(a,b,d){void 0===d&&(d=2147483647);if(2>d)return 0;d-=2;var e=b;d=d<2*a.length?d/2:a.length;for(var f=0;f<d;++f)I[b>>1]=a.charCodeAt(f),b+=2;I[b>>1]=0;return b-e}function sa(a){return 2*a.length}
function ta(a){for(var b=0,d="";;){var e=J[a+4*b>>2];if(0==e)return d;++b;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}}function ua(a,b,d){void 0===d&&(d=2147483647);if(4>d)return 0;var e=b;d=e+d-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var m=a.charCodeAt(++f);g=65536+((g&1023)<<10)|m&1023}J[b>>2]=g;b+=4;if(b+4>d)break}J[b>>2]=0;return b-e}
function va(a){for(var b=0,d=0;d<a.length;++d){var e=a.charCodeAt(d);55296<=e&&57343>=e&&++d;b+=4}return b}var K,L,H,I,wa,J,M,xa,ya;function za(a){K=a;c.HEAP8=L=new Int8Array(a);c.HEAP16=I=new Int16Array(a);c.HEAP32=J=new Int32Array(a);c.HEAPU8=H=new Uint8Array(a);c.HEAPU16=wa=new Uint16Array(a);c.HEAPU32=M=new Uint32Array(a);c.HEAPF32=xa=new Float32Array(a);c.HEAPF64=ya=new Float64Array(a)}var Aa=c.INITIAL_MEMORY||16777216;c.wasmMemory?F=c.wasmMemory:F=new WebAssembly.Memory({initial:Aa/65536});
F&&(K=F.buffer);Aa=K.byteLength;za(K);J[39524]=5401136;function Ba(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var d=b.ba;"number"===typeof d?void 0===b.X?c.dynCall_v(d):c.dynCall_vi(d,b.X):d(void 0===b.X?null:b.X)}}}var Ca=[],Da=[],Ea=[],Fa=[];function Ga(){var a=c.preRun.shift();Ca.unshift(a)}var N=0,Ha=null,O=null;c.preloadedImages={};c.preloadedAudios={};
function A(a){if(c.onAbort)c.onAbort(a);ja(a);B(a);la=!0;throw new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");}function Ia(){var a=P;return String.prototype.startsWith?a.startsWith("data:application/octet-stream;base64,"):0===a.indexOf("data:application/octet-stream;base64,")}var P="mozjpeg_enc.wasm";if(!Ia()){var Ja=P;P=c.locateFile?c.locateFile(Ja,w):w+Ja}
function Ka(){try{if(C)return new Uint8Array(C);if(x)return x(P);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}}function La(){return C||!ba&&!v||"function"!==typeof fetch?new Promise(function(a){a(Ka())}):fetch(P,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+P+"'";return a.arrayBuffer()}).catch(function(){return Ka()})}Da.push({ba:function(){Ma()}});var Na={};function Oa(a){for(;a.length;){var b=a.pop();a.pop()(b)}}
function Pa(a){return this.fromWireType(M[a>>2])}var Q={},R={},Qa={};function Ra(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Sa(a,b){a=Ra(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function Ta(a){var b=Error,d=Sa(a,function(e){this.name=a;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});d.prototype=Object.create(b.prototype);d.prototype.constructor=d;d.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return d}var Ua=void 0;
function Va(a,b,d){function e(h){h=d(h);if(h.length!==a.length)throw new Ua("Mismatched type converter count");for(var k=0;k<a.length;++k)S(a[k],h[k])}a.forEach(function(h){Qa[h]=b});var f=Array(b.length),g=[],m=0;b.forEach(function(h,k){R.hasOwnProperty(h)?f[k]=R[h]:(g.push(h),Q.hasOwnProperty(h)||(Q[h]=[]),Q[h].push(function(){f[k]=R[h];++m;m===g.length&&e(f)}))});0===g.length&&e(f)}
function Wa(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Xa=void 0;function T(a){for(var b="";H[a];)b+=Xa[H[a++]];return b}var Ya=void 0;function U(a){throw new Ya(a);}
function S(a,b,d){d=d||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=b.name;a||U('type "'+e+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(d.ga)return;U("Cannot register type '"+e+"' twice")}R[a]=b;delete Qa[a];Q.hasOwnProperty(a)&&(b=Q[a],delete Q[a],b.forEach(function(f){f()}))}var Za=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function $a(a){4<a&&0===--V[a].Y&&(V[a]=void 0,Za.push(a))}function ab(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Za.length?Za.pop():V.length;V[b]={Y:1,value:a};return b}}function bb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function cb(a,b){switch(b){case 2:return function(d){return this.fromWireType(xa[d>>2])};case 3:return function(d){return this.fromWireType(ya[d>>3])};default:throw new TypeError("Unknown float type: "+a);}}function db(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var d=Sa(b.name||"unknownFunctionName",function(){});d.prototype=b.prototype;d=new d;a=b.apply(d,a);return a instanceof Object?a:d}
function eb(a,b){var d=c;if(void 0===d[a].V){var e=d[a];d[a]=function(){d[a].V.hasOwnProperty(arguments.length)||U("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+d[a].V+")!");return d[a].V[arguments.length].apply(this,arguments)};d[a].V=[];d[a].V[e.$]=e}}
function fb(a,b,d){c.hasOwnProperty(a)?((void 0===d||void 0!==c[a].V&&void 0!==c[a].V[d])&&U("Cannot register public name '"+a+"' twice"),eb(a,a),c.hasOwnProperty(d)&&U("Cannot register multiple overloads of a function with the same number of arguments ("+d+")!"),c[a].V[d]=b):(c[a]=b,void 0!==d&&(c[a].na=d))}function gb(a,b){for(var d=[],e=0;e<a;e++)d.push(J[(b>>2)+e]);return d}
function W(a,b){a=T(a);var d=c["dynCall_"+a];for(var e=[],f=1;f<a.length;++f)e.push("a"+f);f="return function dynCall_"+(a+"_"+b)+"("+e.join(", ")+") {\n";f+=" return dynCall(rawFunction"+(e.length?", ":"")+e.join(", ")+");\n";d=(new Function("dynCall","rawFunction",f+"};\n"))(d,b);"function"!==typeof d&&U("unknown function pointer with signature "+a+": "+b);return d}var hb=void 0;function ib(a){a=jb(a);var b=T(a);Y(a);return b}
function kb(a,b){function d(g){f[g]||R[g]||(Qa[g]?Qa[g].forEach(d):(e.push(g),f[g]=!0))}var e=[],f={};b.forEach(d);throw new hb(a+": "+e.map(ib).join([", "]));}function lb(a,b,d){switch(b){case 0:return d?function(e){return L[e]}:function(e){return H[e]};case 1:return d?function(e){return I[e>>1]}:function(e){return wa[e>>1]};case 2:return d?function(e){return J[e>>2]}:function(e){return M[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var mb={};
function nb(){if(!ob){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:aa||"./this.program"},b;for(b in mb)a[b]=mb[b];var d=[];for(b in a)d.push(b+"="+a[b]);ob=d}return ob}var ob,pb=[null,[],[]];Ua=c.InternalError=Ta("InternalError");for(var qb=Array(256),rb=0;256>rb;++rb)qb[rb]=String.fromCharCode(rb);Xa=qb;Ya=c.BindingError=Ta("BindingError");
c.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};c.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};hb=c.UnboundTypeError=Ta("UnboundTypeError");
var tb={m:function(a){var b=Na[a];delete Na[a];var d=b.ha,e=b.ia,f=b.Z,g=f.map(function(m){return m.fa}).concat(f.map(function(m){return m.ka}));Va([a],g,function(m){var h={};f.forEach(function(k,l){var n=m[l],q=k.da,D=k.ea,y=m[l+f.length],p=k.ja,E=k.la;h[k.aa]={read:function(z){return n.fromWireType(q(D,z))},write:function(z,G){var X=[];p(E,z,y.toWireType(X,G));Oa(X)}}});return[{name:b.name,fromWireType:function(k){var l={},n;for(n in h)l[n]=h[n].read(k);e(k);return l},toWireType:function(k,l){for(var n in h)if(!(n in
l))throw new TypeError("Missing field");var q=d();for(n in h)h[n].write(q,l[n]);null!==k&&k.push(e,q);return q},argPackAdvance:8,readValueFromPointer:Pa,W:e}]})},s:function(a,b,d,e,f){var g=Wa(d);b=T(b);S(a,{name:b,fromWireType:function(m){return!!m},toWireType:function(m,h){return h?e:f},argPackAdvance:8,readValueFromPointer:function(m){if(1===d)var h=L;else if(2===d)h=I;else if(4===d)h=J;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[m>>g])},W:null})},r:function(a,
b){b=T(b);S(a,{name:b,fromWireType:function(d){var e=V[d].value;$a(d);return e},toWireType:function(d,e){return ab(e)},argPackAdvance:8,readValueFromPointer:Pa,W:null})},g:function(a,b,d){d=Wa(d);b=T(b);S(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+bb(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:cb(b,d),W:null})},c:function(a,b,d,e,f,g){var m=gb(b,d);a=T(a);f=W(e,
f);fb(a,function(){kb("Cannot call "+a+" due to unbound types",m)},b-1);Va([],m,function(h){var k=[h[0],null].concat(h.slice(1)),l=h=a,n=f,q=k.length;2>q&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var D=null!==k[1]&&!1,y=!1,p=1;p<k.length;++p)if(null!==k[p]&&void 0===k[p].W){y=!0;break}var E="void"!==k[0].name,z="",G="";for(p=0;p<q-2;++p)z+=(0!==p?", ":"")+"arg"+p,G+=(0!==p?", ":"")+"arg"+p+"Wired";l="return function "+Ra(l)+"("+z+") {\nif (arguments.length !== "+
(q-2)+") {\nthrowBindingError('function "+l+" called with ' + arguments.length + ' arguments, expected "+(q-2)+" args!');\n}\n";y&&(l+="var destructors = [];\n");var X=y?"destructors":"null";z="throwBindingError invoker fn runDestructors retType classParam".split(" ");n=[U,n,g,Oa,k[0],k[1]];D&&(l+="var thisWired = classParam.toWireType("+X+", this);\n");for(p=0;p<q-2;++p)l+="var arg"+p+"Wired = argType"+p+".toWireType("+X+", arg"+p+"); // "+k[p+2].name+"\n",z.push("argType"+p),n.push(k[p+2]);D&&(G=
"thisWired"+(0<G.length?", ":"")+G);l+=(E?"var rv = ":"")+"invoker(fn"+(0<G.length?", ":"")+G+");\n";if(y)l+="runDestructors(destructors);\n";else for(p=D?1:2;p<k.length;++p)q=1===p?"thisWired":"arg"+(p-2)+"Wired",null!==k[p].W&&(l+=q+"_dtor("+q+"); // "+k[p].name+"\n",z.push(q+"_dtor"),n.push(k[p].W));E&&(l+="var ret = retType.fromWireType(rv);\nreturn ret;\n");z.push(l+"}\n");k=db(z).apply(null,n);p=b-1;if(!c.hasOwnProperty(h))throw new Ua("Replacing nonexistant public symbol");void 0!==c[h].V&&
void 0!==p?c[h].V[p]=k:(c[h]=k,c[h].$=p);return[]})},b:function(a,b,d,e,f){function g(l){return l}b=T(b);-1===f&&(f=4294967295);var m=Wa(d);if(0===e){var h=32-8*d;g=function(l){return l<<h>>>h}}var k=-1!=b.indexOf("unsigned");S(a,{name:b,fromWireType:g,toWireType:function(l,n){if("number"!==typeof n&&"boolean"!==typeof n)throw new TypeError('Cannot convert "'+bb(n)+'" to '+this.name);if(n<e||n>f)throw new TypeError('Passing a number "'+bb(n)+'" from JS side to C/C++ side to an argument of type "'+
b+'", which is outside the valid range ['+e+", "+f+"]!");return k?n>>>0:n|0},argPackAdvance:8,readValueFromPointer:lb(b,m,0!==e),W:null})},a:function(a,b,d){function e(g){g>>=2;var m=M;return new f(K,m[g+1],m[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];d=T(d);S(a,{name:d,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{ga:!0})},h:function(a,b){b=T(b);var d="std::string"===b;S(a,{name:b,fromWireType:function(e){var f=M[e>>2];if(d){var g=
H[e+4+f],m=0;0!=g&&(m=g,H[e+4+f]=0);var h=e+4;for(g=0;g<=f;++g){var k=e+4+g;if(0==H[k]){h=h?na(H,h,void 0):"";if(void 0===l)var l=h;else l+=String.fromCharCode(0),l+=h;h=k+1}}0!=m&&(H[e+4+f]=m)}else{l=Array(f);for(g=0;g<f;++g)l[g]=String.fromCharCode(H[e+4+g]);l=l.join("")}Y(e);return l},toWireType:function(e,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"===typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||U("Cannot pass non-string to std::string");
var m=(d&&g?function(){for(var l=0,n=0;n<f.length;++n){var q=f.charCodeAt(n);55296<=q&&57343>=q&&(q=65536+((q&1023)<<10)|f.charCodeAt(++n)&1023);127>=q?++l:l=2047>=q?l+2:65535>=q?l+3:l+4}return l}:function(){return f.length})(),h=sb(4+m+1);M[h>>2]=m;if(d&&g)oa(f,h+4,m+1);else if(g)for(g=0;g<m;++g){var k=f.charCodeAt(g);255<k&&(Y(h),U("String has UTF-16 code units that do not fit in 8 bits"));H[h+4+g]=k}else for(g=0;g<m;++g)H[h+4+g]=f[g];null!==e&&e.push(Y,h);return h},argPackAdvance:8,readValueFromPointer:Pa,
W:function(e){Y(e)}})},d:function(a,b,d){d=T(d);if(2===b){var e=qa;var f=ra;var g=sa;var m=function(){return wa};var h=1}else 4===b&&(e=ta,f=ua,g=va,m=function(){return M},h=2);S(a,{name:d,fromWireType:function(k){var l=M[k>>2],n=m(),q=n[k+4+l*b>>h],D=0;0!=q&&(D=q,n[k+4+l*b>>h]=0);var y=k+4;for(q=0;q<=l;++q){var p=k+4+q*b;if(0==n[p>>h]){y=e(y);if(void 0===E)var E=y;else E+=String.fromCharCode(0),E+=y;y=p+b}}0!=D&&(n[k+4+l*b>>h]=D);Y(k);return E},toWireType:function(k,l){"string"!==typeof l&&U("Cannot pass non-string to C++ string type "+
d);var n=g(l),q=sb(4+n+b);M[q>>2]=n>>h;f(l,q+4,n+b);null!==k&&k.push(Y,q);return q},argPackAdvance:8,readValueFromPointer:Pa,W:function(k){Y(k)}})},x:function(a,b,d,e,f,g){Na[a]={name:T(b),ha:W(d,e),ia:W(f,g),Z:[]}},f:function(a,b,d,e,f,g,m,h,k,l){Na[a].Z.push({aa:T(b),fa:d,da:W(e,f),ea:g,ka:m,ja:W(h,k),la:l})},t:function(a,b){b=T(b);S(a,{ma:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},k:$a,l:function(a){4<a&&(V[a].Y+=1)},y:function(a,b){var d=R[a];void 0===d&&U("_emval_take_value has unknown type "+
ib(a));a=d.readValueFromPointer(b);return ab(a)},u:function(){A()},p:function(a,b,d){H.copyWithin(a,b,b+d)},q:function(a){var b=H.length;if(2147418112<a)return!1;for(var d=1;4>=d;d*=2){var e=b*(1+.2/d);e=Math.min(e,a+100663296);e=Math.max(16777216,a,e);0<e%65536&&(e+=65536-e%65536);a:{try{F.grow(Math.min(2147418112,e)-K.byteLength+65535>>16);za(F.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},v:function(a,b){var d=0;nb().forEach(function(e,f){var g=b+d;f=J[a+4*f>>2]=g;for(g=0;g<
e.length;++g)L[f++>>0]=e.charCodeAt(g);L[f>>0]=0;d+=e.length+1});return 0},w:function(a,b){var d=nb();J[a>>2]=d.length;var e=0;d.forEach(function(f){e+=f.length+1});J[b>>2]=e;return 0},j:function(a){if(!noExitRuntime&&(la=!0,c.onExit))c.onExit(a);u(a,new ia(a))},i:function(){return 0},n:function(){},e:function(a,b,d,e){for(var f=0,g=0;g<d;g++){for(var m=J[b+8*g>>2],h=J[b+(8*g+4)>>2],k=0;k<h;k++){var l=H[m+k],n=pb[a];0===l||10===l?((1===a?ja:B)(na(n,0)),n.length=0):n.push(l)}f+=h}J[e>>2]=f;return 0},
memory:F,o:function(){},table:ka},ub=function(){function a(f){c.asm=f.exports;N--;c.monitorRunDependencies&&c.monitorRunDependencies(N);0==N&&(null!==Ha&&(clearInterval(Ha),Ha=null),O&&(f=O,O=null,f()))}function b(f){a(f.instance)}function d(f){return La().then(function(g){return WebAssembly.instantiate(g,e)}).then(f,function(g){B("failed to asynchronously prepare wasm: "+g);A(g)})}var e={a:tb};N++;c.monitorRunDependencies&&c.monitorRunDependencies(N);if(c.instantiateWasm)try{return c.instantiateWasm(e,
a)}catch(f){return B("Module.instantiateWasm callback failed with error: "+f),!1}(function(){if(C||"function"!==typeof WebAssembly.instantiateStreaming||Ia()||"function"!==typeof fetch)return d(b);fetch(P,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(g){B("wasm streaming compile failed: "+g);B("falling back to ArrayBuffer instantiation");d(b)})})})();return{}}();c.asm=ub;
var Ma=c.___wasm_call_ctors=function(){return(Ma=c.___wasm_call_ctors=c.asm.z).apply(null,arguments)},sb=c._malloc=function(){return(sb=c._malloc=c.asm.A).apply(null,arguments)},Y=c._free=function(){return(Y=c._free=c.asm.B).apply(null,arguments)},jb=c.___getTypeName=function(){return(jb=c.___getTypeName=c.asm.C).apply(null,arguments)};c.___embind_register_native_and_builtin_types=function(){return(c.___embind_register_native_and_builtin_types=c.asm.D).apply(null,arguments)};
c.dynCall_i=function(){return(c.dynCall_i=c.asm.E).apply(null,arguments)};c.dynCall_viiiii=function(){return(c.dynCall_viiiii=c.asm.F).apply(null,arguments)};c.dynCall_v=function(){return(c.dynCall_v=c.asm.G).apply(null,arguments)};c.dynCall_vi=function(){return(c.dynCall_vi=c.asm.H).apply(null,arguments)};c.dynCall_iii=function(){return(c.dynCall_iii=c.asm.I).apply(null,arguments)};c.dynCall_viii=function(){return(c.dynCall_viii=c.asm.J).apply(null,arguments)};
c.dynCall_ii=function(){return(c.dynCall_ii=c.asm.K).apply(null,arguments)};c.dynCall_iiiiii=function(){return(c.dynCall_iiiiii=c.asm.L).apply(null,arguments)};c.dynCall_viiiiiiii=function(){return(c.dynCall_viiiiiiii=c.asm.M).apply(null,arguments)};c.dynCall_vii=function(){return(c.dynCall_vii=c.asm.N).apply(null,arguments)};c.dynCall_viiii=function(){return(c.dynCall_viiii=c.asm.O).apply(null,arguments)};c.dynCall_viiiiiii=function(){return(c.dynCall_viiiiiii=c.asm.P).apply(null,arguments)};
c.dynCall_iiiiiii=function(){return(c.dynCall_iiiiiii=c.asm.Q).apply(null,arguments)};c.dynCall_iiiii=function(){return(c.dynCall_iiiii=c.asm.R).apply(null,arguments)};c.dynCall_iiii=function(){return(c.dynCall_iiii=c.asm.S).apply(null,arguments)};c.dynCall_jiji=function(){return(c.dynCall_jiji=c.asm.T).apply(null,arguments)};c.dynCall_viiiiii=function(){return(c.dynCall_viiiiii=c.asm.U).apply(null,arguments)};c.asm=ub;var Z;
c.then=function(a){if(Z)a(c);else{var b=c.onRuntimeInitialized;c.onRuntimeInitialized=function(){b&&b();a(c)}}return c};function ia(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}O=function vb(){Z||wb();Z||(O=vb)};
function wb(){function a(){if(!Z&&(Z=!0,c.calledRun=!0,!la)){Ba(Da);Ba(Ea);if(c.onRuntimeInitialized)c.onRuntimeInitialized();if(c.postRun)for("function"==typeof c.postRun&&(c.postRun=[c.postRun]);c.postRun.length;){var b=c.postRun.shift();Fa.unshift(b)}Ba(Fa)}}if(!(0<N)){if(c.preRun)for("function"==typeof c.preRun&&(c.preRun=[c.preRun]);c.preRun.length;)Ga();Ba(Ca);0<N||(c.setStatus?(c.setStatus("Running..."),setTimeout(function(){setTimeout(function(){c.setStatus("")},1);a()},1)):a())}}c.run=wb;
if(c.preInit)for("function"==typeof c.preInit&&(c.preInit=[c.preInit]);0<c.preInit.length;)c.preInit.pop()();noExitRuntime=!0;wb();
return mozjpeg_enc