@microblink/blinkid-imagecapture-in-browser-sdk
Version:
A smart image capturing library for WebAssembly-enabled browsers.
126 lines (122 loc) • 65.6 kB
JavaScript
var BlinkIDImageCaptureWasmSDK = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
return (
function(BlinkIDImageCaptureWasmSDK) {
BlinkIDImageCaptureWasmSDK = BlinkIDImageCaptureWasmSDK || {};
var g;g||(g=typeof BlinkIDImageCaptureWasmSDK !== 'undefined' ? BlinkIDImageCaptureWasmSDK : {});var aa,ba;g.ready=new Promise(function(a,b){aa=a;ba=b});g.Lb||(g.Lb=0);g.Lb++;
g.ENVIRONMENT_IS_PTHREAD||function(a){function b(m,r,n){var p=new XMLHttpRequest;p.open("GET",m,!0);p.responseType="arraybuffer";p.onprogress=function(v){var k=r;v.total&&(k=v.total);if(v.loaded){p.pc?g.mb[m].loaded=v.loaded:(p.pc=!0,g.mb||(g.mb={}),g.mb[m]={loaded:v.loaded,total:k});var t=k=v=0,w;for(w in g.mb){var y=g.mb[w];v+=y.total;k+=y.loaded;t++}v=Math.ceil(v*g.Lb/t);g.setStatus&&g.setStatus("Downloading data... ("+k+"/"+v+")")}else!g.mb&&g.setStatus&&g.setStatus("Downloading data...")};p.onerror=
function(){throw Error("NetworkError for: "+m);};p.onload=function(){if(200==p.status||304==p.status||206==p.status||0==p.status&&p.response)n(p.response);else throw Error(p.statusText+" : "+p.responseURL);};p.send(null)}function c(m){console.error("package error:",m)}function d(){function m(v,k,t){this.start=v;this.end=k;this.audio=t}function r(v){if(!v)throw"Loading data file failed."+Error().stack;if(!(v instanceof ArrayBuffer))throw"bad input to processPackageData"+Error().stack;v=new Uint8Array(v);
m.prototype.uc=v;v=a.files;for(var k=0;k<v.length;++k)m.prototype.Ub[v[k].filename].onload();g.removeRunDependency("datafile_/opt/jenkins/root/E0/core-webassembly-sdks/SDKs/BlinkIDImageCapture/resources/basic/BlinkIDImageCaptureWasmSDK.data")}g.FS_createPath("/","microblink",!0,!0);m.prototype={Ub:{},open:function(v,k){this.name=k;this.Ub[k]=this;g.addRunDependency("fp "+this.name)},send:function(){},onload:function(){this.finish(this.uc.subarray(this.start,this.end))},finish:function(v){g.FS_createDataFile(this.name,
null,v,!0,!0,!0);g.removeRunDependency("fp "+this.name);this.Ub[this.name]=null}};for(var n=a.files,p=0;p<n.length;++p)(new m(n[p].start,n[p].end,n[p].audio||0)).open("GET",n[p].filename);g.addRunDependency("datafile_/opt/jenkins/root/E0/core-webassembly-sdks/SDKs/BlinkIDImageCapture/resources/basic/BlinkIDImageCaptureWasmSDK.data");g.hc||(g.hc={});g.hc["/opt/jenkins/root/E0/core-webassembly-sdks/SDKs/BlinkIDImageCapture/resources/basic/BlinkIDImageCaptureWasmSDK.data"]={dd:!1};l?(r(l),l=null):h=
r}"object"===typeof window?window.encodeURIComponent(window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/"):"undefined"===typeof process&&"undefined"!==typeof location&&encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/");"function"!==typeof g.locateFilePackage||g.locateFile||(g.locateFile=g.locateFilePackage,q("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)"));
var e=g.locateFile?g.locateFile("BlinkIDImageCaptureWasmSDK.data",""):"BlinkIDImageCaptureWasmSDK.data",f=a.remote_package_size,h=null,l=g.getPreloadedPackage?g.getPreloadedPackage(e,f):null;l||b(e,f,function(m){h?(h(m),h=null):l=m},c);g.calledRun?d():(g.preRun||(g.preRun=[]),g.preRun.push(d))}({files:[{filename:"/microblink/Model_82ae7b860c6b4cb8249534e0004901bc46dee18fd3adbe535809abeefbf4fd88.strop",start:0,end:4718316},{filename:"/microblink/Model_36d8e94f4cb46097bd6b7385f2aa91fcdee1a5fefeec59e56d1b9e82c94b00a7.strop",
start:4718316,end:5088144},{filename:"/microblink/Model_faf688599c7e261a2a7404730f69ed029115bb0d3e7a3657731d88e701720efe.strop",start:5088144,end:5104882},{filename:"/microblink/Model_b452fd3cd4037080cfcb4c423dba5bc58c8ceafc28427fdf9c5778fb353f088e.strop",start:5104882,end:5111732},{filename:"/microblink/Model_8326c5065a6d8451d6d004db73babf4a4a9f502c68643a14934cc098d04bf44f.strop",start:5111732,end:5528836},{filename:"/microblink/Model_e4f1f62f68ec44b71ecad3fb3f3b48fe3790beb5ab325611e17d63af06e9f644.strop",
start:5528836,end:5585350},{filename:"/microblink/Model_473ac5f5e256623c0a6b282698c1f1b033b9fb5359e6aa142e9fb4a4022afe4e.strop",start:5585350,end:5592232},{filename:"/microblink/Model_250e3cb8bb8603d4798b31c1fb8be2ca1f79b1c969eded62e916932dad3ff3f1.strop",start:5592232,end:6308266},{filename:"/microblink/Model_2880751121560047e6dc571bc8ff4683aeb863886f7c0789234594ceb1e23577.strop",start:6308266,end:6312204},{filename:"/microblink/Model_ed586fd6ca47c8eebb513c4ffaaacc2c54e92162b145062d7022519fba0911de.strop",
start:6312204,end:7025436}],remote_package_size:7025436,package_uuid:"970b772a-ff9b-4e29-93b8-d4b4f98ebdaf"});g.onAbort=function(a){q("Aborted with message: "+a);q("Stacktrace: "+ca())};var crypto={getRandomValues:function(a){for(var b=0;b<a.length;b++)a[b]=256*Math.random()|0}},da=Object.assign({},g),ea="./this.program",fa=(a,b)=>{throw b;},ha="object"==typeof window,ia="function"==typeof importScripts,ja="",ka,la,ma;
if(ha||ia)ia?ja=self.location.href:"undefined"!=typeof document&&document.currentScript&&(ja=document.currentScript.src),_scriptDir&&(ja=_scriptDir),ja=0!==ja.indexOf("blob:")?ja.substr(0,ja.replace(/[?#].*/,"").lastIndexOf("/")+1):"",ka=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},ia&&(ma=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),la=(a,b,c)=>{var d=new XMLHttpRequest;d.open("GET",
a,!0);d.responseType="arraybuffer";d.onload=()=>{200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)};var na=g.print||console.log.bind(console),q=g.printErr||console.warn.bind(console);Object.assign(g,da);da=null;g.thisProgram&&(ea=g.thisProgram);g.quit&&(fa=g.quit);var oa=0,pa;g.wasmBinary&&(pa=g.wasmBinary);var noExitRuntime=g.noExitRuntime||!0;"object"!=typeof WebAssembly&&qa("no native wasm support detected");
var ra,sa=!1,ta="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
function ua(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&ta)return ta.decode(a.subarray(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var h=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|h:(e&7)<<18|f<<12|h<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}function u(a,b){return a?ua(z,a,b):""}
function A(a,b,c,d){if(!(0<d))return 0;var e=c;d=c+d-1;for(var f=0;f<a.length;++f){var h=a.charCodeAt(f);if(55296<=h&&57343>=h){var l=a.charCodeAt(++f);h=65536+((h&1023)<<10)|l&1023}if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(c+3>=d)break;b[c++]=240|h>>18;b[c++]=128|h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-e}
function va(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}var wa="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function xa(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&C[c];)++c;c<<=1;if(32<c-a&&wa)return wa.decode(z.subarray(a,c));c="";for(d=0;!(d>=b/2);++d){var e=ya[a+2*d>>1];if(0==e)break;c+=String.fromCharCode(e)}return c}
function za(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e)ya[b>>1]=a.charCodeAt(e),b+=2;ya[b>>1]=0;return b-d}function Aa(a){return 2*a.length}function Ba(a,b){for(var c=0,d="";!(c>=b/4);){var e=D[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}
function Ca(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.charCodeAt(e);if(55296<=f&&57343>=f){var h=a.charCodeAt(++e);f=65536+((f&1023)<<10)|h&1023}D[b>>2]=f;b+=4;if(b+4>c)break}D[b>>2]=0;return b-d}function Da(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}function Ea(a){var b=va(a)+1,c=Fa(b);c&&A(a,E,c,b);return c}var Ga,E,z,ya,C,D,H,Ha,Ia;
function Ja(){var a=ra.buffer;Ga=a;g.HEAP8=E=new Int8Array(a);g.HEAP16=ya=new Int16Array(a);g.HEAP32=D=new Int32Array(a);g.HEAPU8=z=new Uint8Array(a);g.HEAPU16=C=new Uint16Array(a);g.HEAPU32=H=new Uint32Array(a);g.HEAPF32=Ha=new Float32Array(a);g.HEAPF64=Ia=new Float64Array(a)}var Ka,La=[],Ma=[],Na=[];function Pa(){var a=g.preRun.shift();La.unshift(a)}var Qa=0,Ra=null,Sa=null;function Ta(){Qa++;g.monitorRunDependencies&&g.monitorRunDependencies(Qa)}
function Ua(){Qa--;g.monitorRunDependencies&&g.monitorRunDependencies(Qa);if(0==Qa&&(null!==Ra&&(clearInterval(Ra),Ra=null),Sa)){var a=Sa;Sa=null;a()}}g.preloadedImages={};g.preloadedAudios={};function qa(a){if(g.onAbort)g.onAbort(a);a="Aborted("+a+")";q(a);sa=!0;a=new WebAssembly.RuntimeError(a+". Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function Va(){return Wa.startsWith("data:application/octet-stream;base64,")}var Wa;Wa="BlinkIDImageCaptureWasmSDK.wasm";
if(!Va()){var Xa=Wa;Wa=g.locateFile?g.locateFile(Xa,ja):ja+Xa}function Ya(){var a=Wa;try{if(a==Wa&&pa)return new Uint8Array(pa);if(ma)return ma(a);throw"both async and sync fetching of the wasm failed";}catch(b){qa(b)}}function Za(){return pa||!ha&&!ia||"function"!=typeof fetch?Promise.resolve().then(function(){return Ya()}):fetch(Wa,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+Wa+"'";return a.arrayBuffer()}).catch(function(){return Ya()})}
var J,$a,ab={380948:function(a){a=u(a);throw Error("Failed to reconfigure RecognizerRunner due to following error: "+a);},381084:function(a,b,c,d){a=u(a);b=u(b);c=u(c);d=u(d);throw Error(a+b+c+d);},381300:function(a,b){a=u(a);b=u(b);throw Error(a+b);},381410:function(a,b){a=u(a);b=u(b);console.log(a+b)},381508:function(a){throw Error(u(a));},381551:function(){throw Error("Unable to perform that operation while recognizer is in use!");}};
function bb(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(g);else{var c=b.ed;"number"==typeof c?void 0===b.Kb?K(c)():K(c)(b.Kb):c(void 0===b.Kb?null:b.Kb)}}}function cb(a){return a.replace(/\b_Z[\w\d_]+/g,function(b){return b===b?b:b+" ["+b+"]"})}var db=[];function K(a){var b=db[a];b||(a>=db.length&&(db.length=a+1),db[a]=b=Ka.get(a));return b}
function ca(){a:{var a=Error();if(!a.stack){try{throw Error();}catch(b){a=b}if(!a.stack){a="(no stack trace available)";break a}}a=a.stack.toString()}g.extraStackTrace&&(a+="\n"+g.extraStackTrace());return cb(a)}function eb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a}
function L(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=eb(a.split("/").filter(function(d){return!!d}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}function fb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function gb(a){if("/"===a)return"/";a=L(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}
function hb(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}return function(){qa("randomDevice")}}
function ib(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=eb(a.split("/").filter(function(d){return!!d}),!b).join("/");return(b?"/":"")+a||"."}var jb=[];function kb(a,b){jb[a]={input:[],Ua:[],qb:b};lb(a,mb)}
var mb={open:function(a){var b=jb[a.node.ub];if(!b)throw new M(43);a.Ta=b;a.seekable=!1},close:function(a){a.Ta.qb.flush(a.Ta)},flush:function(a){a.Ta.qb.flush(a.Ta)},read:function(a,b,c,d){if(!a.Ta||!a.Ta.qb.dc)throw new M(60);for(var e=0,f=0;f<d;f++){try{var h=a.Ta.qb.dc(a.Ta)}catch(l){throw new M(29);}if(void 0===h&&0===e)throw new M(6);if(null===h||void 0===h)break;e++;b[c+f]=h}e&&(a.node.timestamp=Date.now());return e},write:function(a,b,c,d){if(!a.Ta||!a.Ta.qb.Qb)throw new M(60);try{for(var e=
0;e<d;e++)a.Ta.qb.Qb(a.Ta,b[c+e])}catch(f){throw new M(29);}d&&(a.node.timestamp=Date.now());return e}},ob={dc:function(a){if(!a.input.length){var b=null;"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;a.input=nb(b,!0)}return a.input.shift()},Qb:function(a,b){null===b||10===b?(na(ua(a.Ua,0)),a.Ua=[]):0!=b&&a.Ua.push(b)},flush:function(a){a.Ua&&0<a.Ua.length&&
(na(ua(a.Ua,0)),a.Ua=[])}},pb={Qb:function(a,b){null===b||10===b?(q(ua(a.Ua,0)),a.Ua=[]):0!=b&&a.Ua.push(b)},flush:function(a){a.Ua&&0<a.Ua.length&&(q(ua(a.Ua,0)),a.Ua=[])}},N={cb:null,fb:function(){return N.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new M(63);N.cb||(N.cb={dir:{node:{bb:N.Na.bb,Ya:N.Na.Ya,rb:N.Na.rb,Db:N.Na.Db,lc:N.Na.lc,Jb:N.Na.Jb,mc:N.Na.mc,kc:N.Na.kc,Gb:N.Na.Gb},stream:{jb:N.Oa.jb}},file:{node:{bb:N.Na.bb,Ya:N.Na.Ya},
stream:{jb:N.Oa.jb,read:N.Oa.read,write:N.Oa.write,Wb:N.Oa.Wb,Eb:N.Oa.Eb,Fb:N.Oa.Fb}},link:{node:{bb:N.Na.bb,Ya:N.Na.Ya,vb:N.Na.vb},stream:{}},Yb:{node:{bb:N.Na.bb,Ya:N.Na.Ya},stream:qb}});c=rb(a,b,c,d);16384===(c.mode&61440)?(c.Na=N.cb.dir.node,c.Oa=N.cb.dir.stream,c.Ma={}):32768===(c.mode&61440)?(c.Na=N.cb.file.node,c.Oa=N.cb.file.stream,c.Ra=0,c.Ma=null):40960===(c.mode&61440)?(c.Na=N.cb.link.node,c.Oa=N.cb.link.stream):8192===(c.mode&61440)&&(c.Na=N.cb.Yb.node,c.Oa=N.cb.Yb.stream);c.timestamp=
Date.now();a&&(a.Ma[b]=c,a.timestamp=c.timestamp);return c},fd:function(a){return a.Ma?a.Ma.subarray?a.Ma.subarray(0,a.Ra):new Uint8Array(a.Ma):new Uint8Array(0)},ac:function(a,b){var c=a.Ma?a.Ma.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Ma,a.Ma=new Uint8Array(b),0<a.Ra&&a.Ma.set(c.subarray(0,a.Ra),0))},Sc:function(a,b){if(a.Ra!=b)if(0==b)a.Ma=null,a.Ra=0;else{var c=a.Ma;a.Ma=new Uint8Array(b);c&&a.Ma.set(c.subarray(0,Math.min(b,a.Ra)));a.Ra=b}},Na:{bb:function(a){var b=
{};b.zc=8192===(a.mode&61440)?a.id:1;b.Nb=a.id;b.mode=a.mode;b.Oc=1;b.uid=0;b.Gc=0;b.ub=a.ub;b.size=16384===(a.mode&61440)?4096:32768===(a.mode&61440)?a.Ra:40960===(a.mode&61440)?a.link.length:0;b.rc=new Date(a.timestamp);b.Nc=new Date(a.timestamp);b.xc=new Date(a.timestamp);b.sc=4096;b.tc=Math.ceil(b.size/b.sc);return b},Ya:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&N.Sc(a,b.size)},rb:function(){throw sb[44];},Db:function(a,b,c,
d){return N.createNode(a,b,c,d)},lc:function(a,b,c){if(16384===(a.mode&61440)){try{var d=tb(b,c)}catch(f){}if(d)for(var e in d.Ma)throw new M(55);}delete a.parent.Ma[a.name];a.parent.timestamp=Date.now();a.name=c;b.Ma[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},Jb:function(a,b){delete a.Ma[b];a.timestamp=Date.now()},mc:function(a,b){var c=tb(a,b),d;for(d in c.Ma)throw new M(55);delete a.Ma[b];a.timestamp=Date.now()},kc:function(a){var b=[".",".."],c;for(c in a.Ma)a.Ma.hasOwnProperty(c)&&b.push(c);
return b},Gb:function(a,b,c){a=N.createNode(a,b,41471,0);a.link=c;return a},vb:function(a){if(40960!==(a.mode&61440))throw new M(28);return a.link}},Oa:{read:function(a,b,c,d,e){var f=a.node.Ma;if(e>=a.node.Ra)return 0;a=Math.min(a.node.Ra-e,d);if(8<a&&f.subarray)b.set(f.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=f[e+d];return a},write:function(a,b,c,d,e,f){b.buffer===E.buffer&&(f=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.Ma||a.Ma.subarray)){if(f)return a.Ma=b.subarray(c,
c+d),a.Ra=d;if(0===a.Ra&&0===e)return a.Ma=b.slice(c,c+d),a.Ra=d;if(e+d<=a.Ra)return a.Ma.set(b.subarray(c,c+d),e),d}N.ac(a,e+d);if(a.Ma.subarray&&b.subarray)a.Ma.set(b.subarray(c,c+d),e);else for(f=0;f<d;f++)a.Ma[e+f]=b[c+f];a.Ra=Math.max(a.Ra,e+d);return d},jb:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Ra);if(0>b)throw new M(28);return b},Wb:function(a,b,c){N.ac(a.node,b+c);a.node.Ra=Math.max(a.node.Ra,b+c)},Eb:function(a,b,c,d,e,f){if(0!==b)throw new M(28);
if(32768!==(a.node.mode&61440))throw new M(43);a=a.node.Ma;if(f&2||a.buffer!==Ga){if(0<d||d+c<a.length)a=a.subarray?a.subarray(d,d+c):Array.prototype.slice.call(a,d,d+c);d=!0;c=65536*Math.ceil(c/65536);(f=ub(65536,c))?(z.fill(0,f,f+c),c=f):c=0;if(!c)throw new M(48);E.set(a,c)}else d=!1,c=a.byteOffset;return{Qa:c,qc:d}},Fb:function(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new M(43);if(e&2)return 0;N.Oa.write(a,b,0,d,c,!1);return 0}}};
function vb(a,b,c){var d="al "+a;la(a,function(e){e||qa('Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(e));d&&Ua(d)},function(){if(c)c();else throw'Loading data file "'+a+'" failed.';});d&&Ta(d)}
var wb=null,xb={},yb=[],zb=1,Ab=null,Bb=!0,M=null,sb={},O=(a,b={})=>{a=ib("/",a);if(!a)return{path:"",node:null};b=Object.assign({cc:!0,Sb:0},b);if(8<b.Sb)throw new M(32);a=eb(a.split("/").filter(h=>!!h),!1);for(var c=wb,d="/",e=0;e<a.length;e++){var f=e===a.length-1;if(f&&b.parent)break;c=tb(c,a[e]);d=L(d+"/"+a[e]);c.sb&&(!f||f&&b.cc)&&(c=c.sb.root);if(!f||b.zb)for(f=0;40960===(c.mode&61440);)if(c=Cb(d),d=ib(fb(d),c),c=O(d,{Sb:b.Sb+1}).node,40<f++)throw new M(32);}return{path:d,node:c}},Db=a=>{for(var b;;){if(a===
a.parent)return a=a.fb.fc,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Eb=(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%Ab.length},tb=(a,b)=>{var c;if(c=(c=Fb(a,"x"))?c:a.Na.rb?0:2)throw new M(c,a);for(c=Ab[Eb(a.id,b)];c;c=c.pb){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Na.rb(a,b)},rb=(a,b,c,d)=>{a=new Gb(a,b,c,d);b=Eb(a.parent.id,a.name);a.pb=Ab[b];return Ab[b]=a},Hb={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Ib=
a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},Fb=(a,b)=>{if(Bb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},Jb=(a,b)=>{try{return tb(a,b),20}catch(c){}return Fb(a,"wx")},Kb=(a=0,b=4096)=>{for(;a<=b;a++)if(!yb[a])return a;throw new M(33);},Mb=(a,b)=>{Lb||(Lb=function(){},Lb.prototype={object:{get:function(){return this.node},set:function(c){this.node=c}}});a=Object.assign(new Lb,a);b=Kb(b,void 0);
a.hb=b;return yb[b]=a},qb={open:a=>{a.Oa=xb[a.node.ub].Oa;a.Oa.open&&a.Oa.open(a)},jb:()=>{throw new M(70);}},lb=(a,b)=>{xb[a]={Oa:b}},Nb=(a,b)=>{var c="/"===b,d=!b;if(c&&wb)throw new M(10);if(!c&&!d){var e=O(b,{cc:!1});b=e.path;e=e.node;if(e.sb)throw new M(10);if(16384!==(e.mode&61440))throw new M(54);}b={type:a,jd:{},fc:b,Mc:[]};a=a.fb(b);a.fb=b;b.root=a;c?wb=a:e&&(e.sb=b,e.fb&&e.fb.Mc.push(b))},P=(a,b,c)=>{var d=O(a,{parent:!0}).node;a=gb(a);if(!a||"."===a||".."===a)throw new M(28);var e=Jb(d,
a);if(e)throw new M(e);if(!d.Na.Db)throw new M(63);return d.Na.Db(d,a,b,c)},Ob=(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);return P(a,b|8192,c)},Pb=(a,b)=>{if(!ib(a))throw new M(44);var c=O(b,{parent:!0}).node;if(!c)throw new M(44);b=gb(b);var d=Jb(c,b);if(d)throw new M(d);if(!c.Na.Gb)throw new M(63);c.Na.Gb(c,b,a)},Qb=a=>{var b=O(a,{parent:!0}).node;if(!b)throw new M(44);var c=gb(a);a=tb(b,c);a:{try{var d=tb(b,c)}catch(f){d=f.Wa;break a}var e=Fb(b,"wx");d=e?e:16384===(d.mode&61440)?31:0}if(d)throw new M(d);
if(!b.Na.Jb)throw new M(63);if(a.sb)throw new M(10);b.Na.Jb(b,c);b=Eb(a.parent.id,a.name);if(Ab[b]===a)Ab[b]=a.pb;else for(b=Ab[b];b;){if(b.pb===a){b.pb=a.pb;break}b=b.pb}},Cb=a=>{a=O(a).node;if(!a)throw new M(44);if(!a.Na.vb)throw new M(28);return ib(Db(a.parent),a.Na.vb(a))},Rb=(a,b)=>{a=O(a,{zb:!b}).node;if(!a)throw new M(44);if(!a.Na.bb)throw new M(63);return a.Na.bb(a)},Sb=a=>Rb(a,!0),Tb=(a,b)=>{a="string"==typeof a?O(a,{zb:!0}).node:a;if(!a.Na.Ya)throw new M(63);a.Na.Ya(a,{mode:b&4095|a.mode&
-4096,timestamp:Date.now()})},Vb=(a,b,c,d)=>{if(""===a)throw new M(44);if("string"==typeof b){var e=Hb[b];if("undefined"==typeof e)throw Error("Unknown file open mode: "+b);b=e}c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var f=a;else{a=L(a);try{f=O(a,{zb:!(b&131072)}).node}catch(h){}}e=!1;if(b&64)if(f){if(b&128)throw new M(20);}else f=P(a,c,0),e=!0;if(!f)throw new M(44);8192===(f.mode&61440)&&(b&=-513);if(b&65536&&16384!==(f.mode&61440))throw new M(54);if(!e&&(c=f?40960===
(f.mode&61440)?32:16384===(f.mode&61440)&&("r"!==Ib(b)||b&512)?31:Fb(f,Ib(b)):44))throw new M(c);if(b&512){c=f;c="string"==typeof c?O(c,{zb:!0}).node:c;if(!c.Na.Ya)throw new M(63);if(16384===(c.mode&61440))throw new M(31);if(32768!==(c.mode&61440))throw new M(28);if(e=Fb(c,"w"))throw new M(e);c.Na.Ya(c,{size:0,timestamp:Date.now()})}b&=-131713;d=Mb({node:f,path:Db(f),flags:b,seekable:!0,position:0,Oa:f.Oa,cd:[],error:!1},d);d.Oa.open&&d.Oa.open(d);!g.logReadFiles||b&1||(Ub||(Ub={}),a in Ub||(Ub[a]=
1));return d},Wb=a=>{if(null===a.hb)throw new M(8);a.Mb&&(a.Mb=null);try{a.Oa.close&&a.Oa.close(a)}catch(b){throw b;}finally{yb[a.hb]=null}a.hb=null},Xb=(a,b,c)=>{if(null===a.hb)throw new M(8);if(!a.seekable||!a.Oa.jb)throw new M(70);if(0!=c&&1!=c&&2!=c)throw new M(28);a.position=a.Oa.jb(a,b,c);a.cd=[]},Yb=(a,b,c,d,e,f)=>{if(0>d||0>e)throw new M(28);if(null===a.hb)throw new M(8);if(0===(a.flags&2097155))throw new M(8);if(16384===(a.node.mode&61440))throw new M(31);if(!a.Oa.write)throw new M(28);a.seekable&&
a.flags&1024&&Xb(a,0,2);var h="undefined"!=typeof e;if(!h)e=a.position;else if(!a.seekable)throw new M(70);b=a.Oa.write(a,b,c,d,e,f);h||(a.position+=b);return b},Zb=()=>{M||(M=function(a,b){this.node=b;this.Uc=function(c){this.Wa=c};this.Uc(a);this.message="FS error"},M.prototype=Error(),M.prototype.constructor=M,[44].forEach(a=>{sb[a]=new M(a);sb[a].stack="<generic error, no stack>"}))},$b,ac=(a,b)=>{var c=0;a&&(c|=365);b&&(c|=146);return c},bc=(a,b)=>{a="string"==typeof a?a:Db(a);for(b=b.split("/").reverse();b.length;){var c=
b.pop();if(c){var d=L(a+"/"+c);try{P(d,16895,0)}catch(e){}a=d}}return d},cc=(a,b,c,d)=>{a=L(("string"==typeof a?a:Db(a))+"/"+b);c=ac(c,d);return P(a,(void 0!==c?c:438)&4095|32768,0)},dc=(a,b,c,d,e,f)=>{var h=b;a&&(a="string"==typeof a?a:Db(a),h=b?L(a+"/"+b):a);a=ac(d,e);h=P(h,(void 0!==a?a:438)&4095|32768,0);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(e=c.length;d<e;++d)b[d]=c.charCodeAt(d);c=b}Tb(h,a|146);b=Vb(h,577);Yb(b,c,0,c.length,0,f);Wb(b);Tb(h,a)}return h},R=(a,b,c,d)=>{a=L(("string"==
typeof a?a:Db(a))+"/"+b);b=ac(!!c,!!d);R.ec||(R.ec=64);var e=R.ec++<<8|0;lb(e,{open:f=>{f.seekable=!1},close:()=>{d&&d.buffer&&d.buffer.length&&d(10)},read:(f,h,l,m)=>{for(var r=0,n=0;n<m;n++){try{var p=c()}catch(v){throw new M(29);}if(void 0===p&&0===r)throw new M(6);if(null===p||void 0===p)break;r++;h[l+n]=p}r&&(f.node.timestamp=Date.now());return r},write:(f,h,l,m)=>{for(var r=0;r<m;r++)try{d(h[l+r])}catch(n){throw new M(29);}m&&(f.node.timestamp=Date.now());return r}});return Ob(a,b,e)},ec=a=>
{if(!(a.Jc||a.Kc||a.link||a.Ma)){if("undefined"!=typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(ka)try{a.Ma=nb(ka(a.url),!0),a.Ra=a.Ma.length}catch(b){throw new M(29);}else throw Error("Cannot load without read() or XMLHttpRequest.");}},fc=(a,b,c,d,e)=>{function f(){this.Pb=!1;this.yb=[]}f.prototype.get=function(n){if(!(n>
this.length-1||0>n)){var p=n%this.Zb;return this.Ab(n/this.Zb|0)[p]}};f.prototype.Tc=function(n){this.Ab=n};f.prototype.Xb=function(){var n=new XMLHttpRequest;n.open("HEAD",c,!1);n.send(null);if(!(200<=n.status&&300>n.status||304===n.status))throw Error("Couldn't load "+c+". Status: "+n.status);var p=Number(n.getResponseHeader("Content-length")),v,k=(v=n.getResponseHeader("Accept-Ranges"))&&"bytes"===v;n=(v=n.getResponseHeader("Content-Encoding"))&&"gzip"===v;var t=1048576;k||(t=p);var w=this;w.Tc(y=>
{var I=y*t,F=(y+1)*t-1;F=Math.min(F,p-1);if("undefined"==typeof w.yb[y]){var x=w.yb;if(I>F)throw Error("invalid range ("+I+", "+F+") or no bytes requested!");if(F>p-1)throw Error("only "+p+" bytes available! programmer error!");var B=new XMLHttpRequest;B.open("GET",c,!1);p!==t&&B.setRequestHeader("Range","bytes="+I+"-"+F);B.responseType="arraybuffer";B.overrideMimeType&&B.overrideMimeType("text/plain; charset=x-user-defined");B.send(null);if(!(200<=B.status&&300>B.status||304===B.status))throw Error("Couldn't load "+
c+". Status: "+B.status);I=void 0!==B.response?new Uint8Array(B.response||[]):nb(B.responseText||"",!0);x[y]=I}if("undefined"==typeof w.yb[y])throw Error("doXHR failed!");return w.yb[y]});if(n||!p)t=p=1,t=p=this.Ab(0).length,na("LazyFiles on gzip forces download of the whole file when length is accessed");this.oc=p;this.nc=t;this.Pb=!0};if("undefined"!=typeof XMLHttpRequest){if(!ia)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
var h=new f;Object.defineProperties(h,{length:{get:function(){this.Pb||this.Xb();return this.oc}},Zb:{get:function(){this.Pb||this.Xb();return this.nc}}});var l=void 0}else l=c,h=void 0;var m=cc(a,b,d,e);h?m.Ma=h:l&&(m.Ma=null,m.url=l);Object.defineProperties(m,{Ra:{get:function(){return this.Ma.length}}});var r={};Object.keys(m.Oa).forEach(n=>{var p=m.Oa[n];r[n]=function(){ec(m);return p.apply(null,arguments)}});r.read=(n,p,v,k,t)=>{ec(m);n=n.node.Ma;if(t>=n.length)return 0;k=Math.min(n.length-t,
k);if(n.slice)for(var w=0;w<k;w++)p[v+w]=n[t+w];else for(w=0;w<k;w++)p[v+w]=n.get(t+w);return k};m.Oa=r;return m},hc=(a,b,c,d,e,f,h,l,m,r)=>{function n(k){function t(w){r&&r();l||dc(a,b,w,d,e,m);f&&f();Ua(v)}gc.gd(k,p,t,()=>{h&&h();Ua(v)})||t(k)}var p=b?ib(L(a+"/"+b)):a,v="cp "+p;Ta(v);"string"==typeof c?vb(c,k=>n(k),h):n(c)},S={},Lb,Ub;
function ic(a,b,c){if("/"===b[0])return b;if(-100===a)a="/";else{a=yb[a];if(!a)throw new M(8);a=a.path}if(0==b.length){if(!c)throw new M(44);return a}return L(a+"/"+b)}
function jc(a,b,c){try{var d=a(b)}catch(e){if(e&&e.node&&L(b)!==L(Db(e.node)))return-54;throw e;}D[c>>2]=d.zc;D[c+4>>2]=0;D[c+8>>2]=d.Nb;D[c+12>>2]=d.mode;D[c+16>>2]=d.Oc;D[c+20>>2]=d.uid;D[c+24>>2]=d.Gc;D[c+28>>2]=d.ub;D[c+32>>2]=0;$a=[d.size>>>0,(J=d.size,1<=+Math.abs(J)?0<J?(Math.min(+Math.floor(J/4294967296),4294967295)|0)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];D[c+40>>2]=$a[0];D[c+44>>2]=$a[1];D[c+48>>2]=4096;D[c+52>>2]=d.tc;D[c+56>>2]=d.rc.getTime()/1E3|0;D[c+60>>2]=0;D[c+64>>2]=
d.Nc.getTime()/1E3|0;D[c+68>>2]=0;D[c+72>>2]=d.xc.getTime()/1E3|0;D[c+76>>2]=0;$a=[d.Nb>>>0,(J=d.Nb,1<=+Math.abs(J)?0<J?(Math.min(+Math.floor(J/4294967296),4294967295)|0)>>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];D[c+80>>2]=$a[0];D[c+84>>2]=$a[1];return 0}var kc=void 0;function lc(){kc+=4;return D[kc-4>>2]}function mc(a){a=yb[a];if(!a)throw new M(8);return a}var nc={};function oc(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function pc(a){return this.fromWireType(H[a>>2])}
var qc={},rc={},sc={};function tc(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 uc(a,b){a=tc(a);return function(){null;return b.apply(this,arguments)}}
function vc(a){var b=Error,c=uc(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.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 wc=void 0;function xc(a){throw new wc(a);}
function yc(a,b,c){function d(l){l=c(l);l.length!==a.length&&xc("Mismatched type converter count");for(var m=0;m<a.length;++m)zc(a[m],l[m])}a.forEach(function(l){sc[l]=b});var e=Array(b.length),f=[],h=0;b.forEach((l,m)=>{rc.hasOwnProperty(l)?e[m]=rc[l]:(f.push(l),qc.hasOwnProperty(l)||(qc[l]=[]),qc[l].push(()=>{e[m]=rc[l];++h;h===f.length&&d(e)}))});0===f.length&&d(e)}
function Ac(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 Bc=void 0;function T(a){for(var b="";z[a];)b+=Bc[z[a++]];return b}var Cc=void 0;function U(a){throw new Cc(a);}
function zc(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||U('type "'+d+'" must have a positive integer typeid pointer');if(rc.hasOwnProperty(a)){if(c.Hc)return;U("Cannot register type '"+d+"' twice")}rc[a]=b;delete sc[a];qc.hasOwnProperty(a)&&(b=qc[a],delete qc[a],b.forEach(e=>e()))}function Dc(a){U(a.La.Sa.Pa.name+" instance already deleted")}var Ec=!1;function Fc(){}
function Gc(a){--a.count.value;0===a.count.value&&(a.Xa?a.Za.gb(a.Xa):a.Sa.Pa.gb(a.Qa))}function Hc(a,b,c){if(b===c)return a;if(void 0===c.$a)return null;a=Hc(a,b,c.$a);return null===a?null:c.Ac(a)}var Ic={},Jc=[];function Kc(){for(;Jc.length;){var a=Jc.pop();a.La.nb=!1;a["delete"]()}}var Lc=void 0,Mc={};function Nc(a,b){for(void 0===b&&U("ptr should not be undefined");a.$a;)b=a.wb(b),a=a.$a;return Mc[b]}
function Oc(a,b){b.Sa&&b.Qa||xc("makeClassHandle requires ptr and ptrType");!!b.Za!==!!b.Xa&&xc("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Pc(Object.create(a,{La:{value:b}}))}function Pc(a){if("undefined"===typeof FinalizationRegistry)return Pc=b=>b,a;Ec=new FinalizationRegistry(b=>{Gc(b.La)});Pc=b=>{var c=b.La;c.Xa&&Ec.register(b,{La:c},b);return b};Fc=b=>{Ec.unregister(b)};return Pc(a)}function Qc(){}
function Rc(a,b,c){if(void 0===a[b].Va){var d=a[b];a[b]=function(){a[b].Va.hasOwnProperty(arguments.length)||U("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].Va+")!");return a[b].Va[arguments.length].apply(this,arguments)};a[b].Va=[];a[b].Va[d.xb]=d}}
function Sc(a,b,c){g.hasOwnProperty(a)?((void 0===c||void 0!==g[a].Va&&void 0!==g[a].Va[c])&&U("Cannot register public name '"+a+"' twice"),Rc(g,a,a),g.hasOwnProperty(c)&&U("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),g[a].Va[c]=b):(g[a]=b,void 0!==c&&(g[a].hd=c))}function Tc(a,b,c,d,e,f,h,l){this.name=a;this.constructor=b;this.ob=c;this.gb=d;this.$a=e;this.Cc=f;this.wb=h;this.Ac=l;this.Qc=[]}
function Uc(a,b,c){for(;b!==c;)b.wb||U("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.wb(a),b=b.$a;return a}function Vc(a,b){if(null===b)return this.Ob&&U("null is not a valid "+this.name),0;b.La||U('Cannot pass "'+Wc(b)+'" as a '+this.name);b.La.Qa||U("Cannot pass deleted object as a pointer of type "+this.name);return Uc(b.La.Qa,b.La.Sa.Pa,this.Pa)}
function Xc(a,b){if(null===b){this.Ob&&U("null is not a valid "+this.name);if(this.Cb){var c=this.Rb();null!==a&&a.push(this.gb,c);return c}return 0}b.La||U('Cannot pass "'+Wc(b)+'" as a '+this.name);b.La.Qa||U("Cannot pass deleted object as a pointer of type "+this.name);!this.Bb&&b.La.Sa.Bb&&U("Cannot convert argument of type "+(b.La.Za?b.La.Za.name:b.La.Sa.name)+" to parameter type "+this.name);c=Uc(b.La.Qa,b.La.Sa.Pa,this.Pa);if(this.Cb)switch(void 0===b.La.Xa&&U("Passing raw pointer to smart pointer is illegal"),
this.Yc){case 0:b.La.Za===this?c=b.La.Xa:U("Cannot convert argument of type "+(b.La.Za?b.La.Za.name:b.La.Sa.name)+" to parameter type "+this.name);break;case 1:c=b.La.Xa;break;case 2:if(b.La.Za===this)c=b.La.Xa;else{var d=b.clone();c=this.Rc(c,V(function(){d["delete"]()}));null!==a&&a.push(this.gb,c)}break;default:U("Unsupporting sharing policy")}return c}
function Yc(a,b){if(null===b)return this.Ob&&U("null is not a valid "+this.name),0;b.La||U('Cannot pass "'+Wc(b)+'" as a '+this.name);b.La.Qa||U("Cannot pass deleted object as a pointer of type "+this.name);b.La.Sa.Bb&&U("Cannot convert argument of type "+b.La.Sa.name+" to parameter type "+this.name);return Uc(b.La.Qa,b.La.Sa.Pa,this.Pa)}
function Zc(a,b,c,d){this.name=a;this.Pa=b;this.Ob=c;this.Bb=d;this.Cb=!1;this.gb=this.Rc=this.Rb=this.jc=this.Yc=this.Pc=void 0;void 0!==b.$a?this.toWireType=Xc:(this.toWireType=d?Vc:Yc,this.ab=null)}function $c(a,b,c){g.hasOwnProperty(a)||xc("Replacing nonexistant public symbol");void 0!==g[a].Va&&void 0!==c?g[a].Va[c]=b:(g[a]=b,g[a].xb=c)}
function ad(a,b){var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var d=g["dynCall_"+a];d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)}else d=K(b).apply(null,c);return d}}function W(a,b){a=T(a);var c=a.includes("j")?ad(a,b):K(b);"function"!=typeof c&&U("unknown function pointer with signature "+a+": "+b);return c}var bd=void 0;function cd(a){a=dd(a);var b=T(a);ed(a);return b}
function fd(a,b){function c(f){e[f]||rc[f]||(sc[f]?sc[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new bd(a+": "+d.map(cd).join([", "]));}function gd(a,b){for(var c=[],d=0;d<a;d++)c.push(D[(b>>2)+d]);return c}
function hd(a,b,c,d,e){var f=b.length;2>f&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==b[1]&&null!==c,l=!1;for(c=1;c<b.length;++c)if(null!==b[c]&&void 0===b[c].ab){l=!0;break}var m="void"!==b[0].name,r=f-2,n=Array(r),p=[],v=[];return function(){arguments.length!==r&&U("function "+a+" called with "+arguments.length+" arguments, expected "+r+" args!");v.length=0;p.length=h?2:1;p[0]=e;if(h){var k=b[1].toWireType(v,this);p[1]=k}for(var t=0;t<r;++t)n[t]=
b[t+2].toWireType(v,arguments[t]),p.push(n[t]);t=d.apply(null,p);if(l)oc(v);else for(var w=h?1:2;w<b.length;w++){var y=1===w?k:n[w-2];null!==b[w].ab&&b[w].ab(y)}k=m?b[0].fromWireType(t):void 0;return k}}var jd=[],X=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function kd(a){4<a&&0===--X[a].Tb&&(X[a]=void 0,jd.push(a))}
var Y=a=>{a||U("Cannot use deleted val. handle = "+a);return X[a].value},V=a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=jd.length?jd.pop():X.length;X[b]={Tb:1,value:a};return b}};function Wc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function ld(a,b){switch(b){case 2:return function(c){return this.fromWireType(Ha[c>>2])};case 3:return function(c){return this.fromWireType(Ia[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}
function md(a,b,c){switch(b){case 0:return c?function(d){return E[d]}:function(d){return z[d]};case 1:return c?function(d){return ya[d>>1]}:function(d){return C[d>>1]};case 2:return c?function(d){return D[d>>2]}:function(d){return H[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}function nd(a,b){var c=rc[a];void 0===c&&U(b+" has unknown type "+cd(a));return c}function od(a,b){for(var c=Array(a),d=0;d<a;++d)c[d]=nd(D[(b>>2)+d],"parameter "+d);return c}var pd={};
function qd(a){var b=pd[a];return void 0===b?T(a):b}var rd=[];
function sd(){function a(b){b.$$$embind_global$$$=b;var c="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;c||delete b.$$$embind_global$$$;return c}if("object"==typeof globalThis)return globalThis;if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;"object"==typeof global&&a(global)?$$$embind_global$$$=global:"object"==typeof self&&a(self)&&($$$embind_global$$$=self);if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object.");
}function td(a){var b=rd.length;rd.push(a);return b}var ud=[];function vd(a){var b=Array(a+1);return function(c,d,e){b[0]=c;for(var f=0;f<a;++f){var h=nd(D[(d>>2)+f],"parameter "+f);b[f+1]=h.readValueFromPointer(e);e+=h.argPackAdvance}c=new (c.bind.apply(c,b));return V(c)}}var wd={};
function xd(a,b,c){function d(m){return(m=m.toTimeString().match(/\(([A-Za-z ]+)\)$/))?m[1]:"GMT"}var e=(new Date).getFullYear(),f=new Date(e,0,1),h=new Date(e,6,1);e=f.getTimezoneOffset();var l=h.getTimezoneOffset();D[a>>2]=60*Math.max(e,l);D[b>>2]=Number(e!=l);a=d(f);b=d(h);a=Ea(a);b=Ea(b);l<e?(D[c>>2]=a,D[c+4>>2]=b):(D[c>>2]=b,D[c+4>>2]=a)}function yd(a,b,c){yd.vc||(yd.vc=!0,xd(a,b,c))}var zd=[],Ad=[];function Z(a,b){H[a>>2]=b;H[a+4>>2]=b/4294967296|0}var Bd;
function Cd(a,b,c,d,e){function f(B){var Q=0,G=0;B&&(G=x.response?x.response.byteLength:0,Q=Fa(G),z.set(new Uint8Array(x.response),Q));H[a+12>>2]=Q;Z(a+16,G)}var h=H[a+8>>2];if(h){var l=u(h),m=a+112,r=u(m);r||(r="GET");var n=H[m+52>>2],p=H[m+56>>2],v=!!H[m+60>>2],k=H[m+68>>2],t=H[m+72>>2];h=H[m+76>>2];var w=H[m+80>>2],y=H[m+84>>2];m=H[m+88>>2];var I=!!(n&1),F=!!(n&2);n=!!(n&64);k=k?u(k):void 0;t=t?u(t):void 0;var x=new XMLHttpRequest;x.withCredentials=v;x.open(r,l,!n,k,t);n||(x.timeout=p);x.ld=l;
x.responseType="arraybuffer";w&&(l=u(w),x.overrideMimeType(l));if(h)for(;;){r=H[h>>2];if(!r)break;l=H[h+4>>2];if(!l)break;h+=8;r=u(r);l=u(l);x.setRequestHeader(r,l)}Ad.push(x);H[a+0>>2]=Ad.length;h=y&&m?z.slice(y,y+m):null;x.onload=B=>{f(I&&!F);var Q=x.response?x.response.byteLength:0;Z(a+24,0);Q&&Z(a+32,Q);C[a+40>>1]=x.readyState;C[a+42>>1]=x.status;x.statusText&&A(x.statusText,z,a+44,64);200<=x.status&&300>x.status?b&&b(a,x,B):c&&c(a,x,B)};x.onerror=B=>{f(I);var Q=x.status;Z(a+24,0);Z(a+32,x.response?
x.response.byteLength:0);C[a+40>>1]=x.readyState;C[a+42>>1]=Q;c&&c(a,x,B)};x.ontimeout=B=>{c&&c(a,x,B)};x.onprogress=B=>{var Q=I&&F&&x.response?x.response.byteLength:0,G=0;I&&F&&(G=Fa(Q),z.set(new Uint8Array(x.response),G));H[a+12>>2]=G;Z(a+16,Q);Z(a+24,B.loaded-Q);Z(a+32,B.total);C[a+40>>1]=x.readyState;3<=x.readyState&&0===x.status&&0<B.loaded&&(x.status=200);C[a+42>>1]=x.status;x.statusText&&A(x.statusText,z,a+44,64);d&&d(a,x,B);G&&ed(G)};x.onreadystatechange=B=>{C[a+40>>1]=x.readyState;2<=x.readyState&&
(C[a+42>>1]=x.status);e&&e(a,x,B)};try{x.send(h)}catch(B){c&&c(a,x,B)}}else c(a,0,"no url specified!")}function Dd(a,b){if(!sa)if(b)a();else try{a()}catch(c){c instanceof Ed||"unwind"==c||fa(1,c)}}
function Fd(a,b,c,d){var e=Bd;if(e){var f=H[a+112+64>>2];f||(f=H[a+8>>2]);var h=u(f);try{var l=e.transaction(["FILES"],"readwrite").objectStore("FILES").put(b,h);l.onsuccess=()=>{C[a+40>>1]=4;C[a+42>>1]=200;A("OK",z,a+44,64);c(a,0,h)};l.onerror=m=>{C[a+40>>1]=4;C[a+42>>1]=413;A("Payload Too Large",z,a+44,64);d(a,0,m)}}catch(m){d(a,0,m)}}else d(a,0,"IndexedDB not available!")}
function Gd(a,b,c){var d=Bd;if(d){var e=H[a+112+64>>2];e||(e=H[a+8>>2]);e=u(e);try{var f=d.transaction(["FILES"],"readonly").objectStore("FILES").get(e);f.onsuccess=h=>{if(h.target.result){h=h.target.result;var l=h.byteLength||h.length,m=Fa(l);z.set(new Uint8Array(h),m);H[a+12>>2]=m;Z(a+16,l);Z(a+24,0);Z(a+32,l);C[a+40>>1]=4;C[a+42>>1]=200;A("OK",z,a+44,64);b(a,0,h)}else C[a+40>>1]=4,C[a+42>>1]=404,A("Not Found",z,a+44,64),c(a,0,"no data")};f.onerror=h=>{C[a+40>>1]=4;C[a+42>>1]=404;A("Not Found",
z,a+44,64);c(a,0,h)}}catch(h){c(a,0,h)}}else c(a,0,"IndexedDB not available!")}
function Hd(a,b,c){var d=Bd;if(d){var e=H[a+112+64>>2];e||(e=H[a+8>>2]);e=u(e);try{var f=d.transaction(["FILES"],"readwrite").objectStore("FILES").delete(e);f.onsuccess=h=>{h=h.target.result;H[a+12>>2]=0;Z(a+16,0);Z(a+24,0);Z(a+32,0);C[a+40>>1]=4;C[a+42>>1]=200;A("OK",z,a+44,64);b(a,0,h)};f.onerror=h=>{C[a+40>>1]=4;C[a+42>>1]=404;A("Not Found",z,a+44,64);c(a,0,h)}}catch(h){c(a,0,h)}}else c(a,0,"IndexedDB not available!")}var Id={};
function Jd(){if(!Kd){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",_:ea||"./this.program"},b;for(b in Id)void 0===Id[b]?delete a[b]:a[b]=Id[b];var c=[];for(b in a)c.push(b+"="+a[b]);Kd=c}return Kd}var Kd;function Ld(a,b){Ld.ic||(Ld.ic=hb());for(var c=0;c<b;c++)E[a+c>>0]=Ld.ic();return 0}function Md(a){return 0===a%4&&(0!==a%100||0===a%400)}
var Nd=[31,29,31,30,31,30,31,31,30,31,30,31],Od=[31,28,31,30,31,30,31,31,30,31,30,31];
function Pd(a,b,c,d){function e(k,t,w){for(k="number"==typeof k?k.toString():k||"";k.length<t;)k=w[0]+k;return k}function f(k,t){return e(k,t,"0")}function h(k,t){function w(I){return 0>I?-1:0<I?1:0}var y;0===(y=w(k.getFullYear()-t.getFullYear()))&&0===(y=w(k.getMonth()-t.getMonth()))&&(y=w(k.getDate()-t.getDate()));return y}function l(k){switch(k.getDay()){case 0:return new Date(k.getFullYear()-1,11,29);case 1:return k;case 2:return new Date(k.getFullYear(),0,3);case 3:return new Date(k.getFullYear(),
0,2);case 4:return new Date(k.getFullYear(),0,1);case 5:return new Date(k.getFullYear()-1,11,31);case 6:return new Date(k.getFullYear()-1,11,30)}}function m(k){var t=k.kb;for(k=new Date((new Date(k.lb+1900,0,1)).getTime());0<t;){var w=k.getMonth(),y=(Md(k.getFullYear())?Nd:Od)[w];if(t>y-k.getDate())t-=y-k.getDate()+1,k.setDate(1),11>w?k.setMonth(w+1):(k.setMonth(0),k.setFullYear(k.getFullYear()+1));else{k.setDate(k.getDate()+t);break}}w=new Date(k.getFullYear()+1,0,4);t=l(new Date(k.getFullYear(),
0,4));w=l(w);return 0>=h(t,k)?0>=h(w,k)?k.getFullYear()+1:k.getFullYear():k.getFullYear()-1}var r=D[d+40>>2];d={ad:D[d>>2],$c:D[d+4>>2],Hb:D[d+8>>2],Vb:D[d+12>>2],Ib:D[d+16>>2],lb:D[d+20>>2],eb:D[d+24>>2],kb:D[d+28>>2],kd:D[d+32>>2],Zc:D[d+36>>2],bd:r?u(r):""};c=u(c);r={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d",
"%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var n in r)c=c.replace(new RegExp(n,"g"),r[n]);var p="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),v="January February March April May June July August September October November December".split(" ");r={"%a":function(k){return p[k.eb].substring(0,3)},"%A":function(k){return p[k.eb]},"%b":function(k){return v[k.Ib].substring(0,3)},"%B":function(k){return v[k.Ib]},
"%C":function(k){return f((k.lb+1900)/100|0,2)},"%d":function(k){return f(k.Vb,2)},"%e":function(k){return e(k.Vb,2," ")},"%g":function(k){return m(k).toString().substring(2)},"%G":function(k){return m(k)},"%H":function(k){return f(k.Hb,2)},"%I":function(k){k=k.Hb;0==k?k=12:12<k&&(k-=12);return f(k,2)},"%j":function(k){for(var t=0,w=0;w<=k.Ib-1;t+=(Md(k.lb+1900)?Nd:Od)[w++]);return f(k.Vb+t,3)},"%m":function(k){return f(k.Ib+1,2)},"%M":function(k){return f(k.$c,2)},"%n":function(){return"\n"},"%p":function(k){return 0<=
k.Hb&&12>k.Hb?"AM":"PM"},"%S":function(k){return f(k.ad,2)},"%t":function(){return"\t"},"%u":function(k){return k.eb||7},"%U":function(k){return f(Math.floor((k.kb+7-k.eb)/7),2)},"%V":function(k){var t=Math.floor((k.kb+7-(k.eb+6)%7)/7);2>=(k.eb+371-k.kb-2)%7&&t++;if(t)53==t&&(w=(k.eb+371-k.kb)%7,4==w||3==w&&Md(k.lb)||(t=1));else{t=52;var w=(k.eb+7-k.kb-1)%7;(4==w||5==w&&Md(k.lb%400-1))&&t++}return f(t,2)},"%w":function(k){return k.eb},"%W":function(k){return f(Math.floor((k.kb+7-(k.eb+6)%7)/7),2)},
"%y":function(k){return(k.lb+1900).toString().substring(2)},"%Y":function(k){return k.lb+1900},"%z":function(k){k=k.Zc;var t=0<=k;k=Math.abs(k)/60;return(t?"+":"-")+String("0000"+(k/60*100+k%60)).slice(-4)},"%Z":function(k){return k.bd},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(n in r)c.includes(n)&&(c=c.replace(new RegExp(n,"g"),r[n](d)));c=c.replace(/\0\0/g,"%");n=nb(c,!1);if(n.length>b)return 0;E.set(n,a);return n.length-1}
function Gb(a,b,c,d){a||(a=this);this.parent=a;this.fb=a.fb;this.sb=null;this.id=zb++;this.name=b;this.mode=c;this.Na={};this.Oa={};this.ub=d}Object.defineProperties(Gb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},Kc:{get:function(){return 16384===(this.mode&61440)}},Jc:{get:function(){return 8192===(this.mode&61440)}}});Zb();
Ab=Array(4096);Nb(N,"/");P("/tmp",16895,0);P("/home",16895,0);P("/home/web_user",16895,0);(()=>{P("/dev",16895,0);lb(259,{read:()=>0,write:(b,c,d,e)=>e});Ob("/dev/null",259);kb(1280,ob);kb(1536,pb);Ob("/dev/tty",1280);Ob("/dev/tty1",1536);var a=hb();R("/dev","random",a);R("/dev","urandom",a);P("/dev/shm",16895,0);P("/dev/shm/tmp",16895,0)})();
(()=>{P("/proc",16895,0);var a=P("/proc/self",16895,0);P("/proc/self/fd",16895,0);Nb({fb:()=>{var b=rb(a,"fd",16895,73);b.Na={rb:(c,d)=>{var e=yb[+d];if(!e)throw new M(8);c={parent:null,fb:{fc:"fake"},Na:{vb:()=>e.path}};return c.parent=c}};return b}},"/proc/self/fd")})();var gc;g.FS_createPath=bc;g.FS_createDataFile=dc;g.FS_createPreloadedFile=hc;g.FS_createLazyFile=fc;g.FS_createDevice=R;g.FS_unlink=Qb;wc=g.InternalError=vc("InternalError");for(var Qd=Array(256),Rd=0;256>Rd;++Rd)Qd[Rd]=String.fromCharCode(Rd);
Bc=Qd;Cc=g.BindingError=vc("BindingError");Qc.prototype.isAliasOf=function(a){if(!(this instanceof Qc&&a instanceof Qc))return!1;var b=this.La.Sa.Pa,c=this.La.Qa,d=a.La.Sa.Pa;for(a=a.La.Qa;b.$a;)c=b.wb(c),b=b.$a;for(;d.$a;)a=d.wb(a),d=d.$a;return b===d&&c===a};
Qc.prototype.clone=function(){this.La.Qa||Dc(this);if(this.La.tb)return this.La.count.value+=1,this;var a=Pc,b=Object,c=b.create,d=Object.getPrototypeOf(this),e=this.La;a=a(c.call(b,d,{La:{value:{count:e.count,nb:e.nb,tb:e.tb,Qa:e.Qa,Sa:e.Sa,Xa:e.Xa,Za:e.Za}}}));a.La.count.value+=1;a.La.nb=!1;return a};Qc.prototype["delete"]=function(){this.La.Qa||Dc(this);this.La.nb&&!this.La.tb&&U("Object already scheduled for deletion");Fc(this);Gc(this.La);this.La.tb||(this.La.Xa=void 0,this.La.Qa=void 0)};
Qc.prototype.isDeleted=function(){return!this.La.Qa};Qc.prototype.deleteLater=function(){this.La.Qa||Dc(this);this.La.nb&&!this.La.tb&&U("Object already scheduled for deletion");Jc.push(this);1===Jc.length&&Lc&&Lc(Kc);this.La.nb=!0;return this};g.getInheritedInstanceCount=function(){return Object.keys(Mc).length};g.getLiveInheritedInstances=function(){var a=[],b;for(b in Mc)Mc.hasOwnProperty(b)&&a.push(Mc[b]);return a};g.flushPendingDeletes=Kc;g.setDelayFunction=function(a){Lc=a;Jc.length&&Lc&&Lc(Kc)};
Zc.prototype.Dc=function(a){this.jc&&(a=this.jc(a));return a};Zc.prototype.$b=function(a){this.gb&&this.gb(a)};Zc.prototype.argPackAdvance=8;Zc.prototype.readValueFromPointer=pc;Zc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()};
Zc.prototype.fromWireType=function(a){function b(){return this.Cb?Oc(this.Pa.ob,{Sa:this.Pc,Qa:c,Za:this,Xa:a}):Oc(this.Pa.ob,{Sa:this,Qa:a})}var c=this.Dc(a);if(!c)return this.$b(a),null;var d=Nc(this.Pa,c);if(void 0!==d){if(0===d.La.count.value)return d.La.Qa=c,d.La.Xa=a,d.clone();d=d.clone();this.$b(a);return d}d=this.Pa.Cc(c);d=Ic[d];if(!d)return b.call(this);d=this.Bb?d.wc:d.pointerType;var e=Hc(c,this.Pa,d.Pa);return null===e?b.call(this):this.Cb?Oc(d.Pa.ob,{Sa:d,Qa:e,Za:this,Xa:a}):Oc(d.Pa.ob,
{Sa:d,Qa:e})};bd=g.UnboundTypeError=vc("UnboundTypeError");g.count_emval_handles=function(){for(var a=0,b=5;b<X.length;++b)void 0!==X[b]&&++a;return a};g.get_first_emval=function(){for(var a=5;a<X.length;++a)if(void 0!==X[a])return X[a];return null};
(function(a,b){try{var c=indexedDB.open("emscripten_filesystem",1)}catch(d){b(d);return}c.onupgradeneeded=d=>{d=d.target.result;d.objectStoreNames.contains("FILES")&&d.deleteObjectStore("FILES");d.createObjectStore("FILES")};c.onsuccess=d=>a(d.target.result);c.onerror=d=>b(d)})(a=>{Bd=a;Ua("library_fetch_init")},()=>{Bd=!1;Ua("library_fetch_init")});"undefined"!=typeof ENVIRONMENT_IS_FETCH_WORKER&&ENVIRONMENT_IS_FETCH_WORKER||Ta("library_fetch_init");
function nb(a,b){var c=Array(va(a)+1);a=A(a,c,0,c.length);b&&(c.length=a);return c}
var Wd={A:function(a,b,c){kc=c;try{var d=mc(a);switch(b){case 0:var e=lc();return 0>e?-28:Vb(d.path,d.flags,0,e).hb;case 1:case 2:return 0;case 3:return d.flags;case 4:return e=lc(),d.flags|=e,0;case 5:return e=lc(),ya[e+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return-1;default:return-28}}catch(f){if("undefined"==typeof S||!(f instanceof M))throw f;return-f.Wa}},Z:function(a,b){try{var c=mc(a);return jc(Rb,c.path,b)}catch(d){if("undefined"==typeof S||!(d instanceof M))throw d;
return-d.Wa}},_:function(a,b,c){kc=c;try{var d=mc(a);switch(b){case 21509:case 21505:return d.Ta?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.Ta?0:-59;case 21519:if(!d.Ta)return-59;var e=lc();return D[e>>2]=0;case 21520:return d.Ta?-28:-59;case 21531:a=e=lc();if(!d.Oa.Ic)throw new M(59);return d.Oa.Ic(d,b,a);case 21523:return d.Ta?0:-59;case 21524:return d.Ta?0:-59;default:qa("bad ioctl syscall "+b)}}catch(f){if("undefined"==typeof S||!(f instanceof M))throw f;
return-f.Wa}},X:function(a,b,c,d){try{b=u(b);var e=d&256;b=ic(a,b,d&4096);return jc(e?Sb:Rb,b,c)}catch(f){if("undefined"==typeof S||!(f instanceof M))throw f;return-f.Wa}},B:function(a,b,c,d){kc=d;try{b=u(b);b=ic(a,b);var e=d?lc():0;return Vb(b,c,e).hb}catch(f){if("undefined"==typeof S||!(f instanceof M))throw f;return-f.Wa}},Y:function(a,b){try{return a=u(a),jc(Rb,a,b)}catch(c){if("undefined"==typeof S||!(c instanceof M))throw c;return-c.Wa}},d:function(a){var b=nc[a];delete nc[a];var c=b.Rb,d=b.gb,
e=b.bc,f=e.map(h=>h.Fc).concat(e.map(h=>h.Wc));yc([a],f,h=>{var l={};e.forEach((m,r)=>{var n=h[r],p=m.Ab,v=m.Ec,k=h[r+e.length],t=m.Vc,w=m.Xc;l[m.Bc]={read:y=>n.fromWireType(p(v,y)),write:(y,I)=>{var F=[];t(w,y,k.toWireType(F,I));oc(F)}}});return[{name:b.name,fromWireType:function(m){var r={},n;for(n in l)r[n]=l[n].read(m);d(m);return r},toWireType:function(m,r){for(var n in l)if(!(n in r))throw new TypeError('Missing field: "'+n+'"');var p=c();for(n in l)l[n].write(p,r[n]);null!==m&&m.push(d,p);
return p},argPackAdvance:8,readValueFromPointer:pc