var Module = (function() { var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; return ( function(Module) { Module = Module || {}; var a;a||(a=typeof Module !== 'undefined' ? Module : {});var f={},g;for(g in a)a.hasOwnProperty(g)&&(f[g]=a[g]);a.arguments=[];a.thisProgram="./this.program";a.quit=function(b,c){throw c;};a.preRun=[];a.postRun=[];var h=!1,k=!1,l=!1,m=!1;h="object"===typeof window;k="function"===typeof importScripts;l="object"===typeof process&&"function"===typeof require&&!h&&!k;m=!h&&!l&&!k;var n=""; if(l){n=__dirname+"/";var p,q;a.read=function(b,c){p||(p=require("fs"));q||(q=require("path"));b=q.normalize(b);b=p.readFileSync(b);return c?b:b.toString()};a.readBinary=function(b){b=a.read(b,!0);b.buffer||(b=new Uint8Array(b));b.buffer||r("Assertion failed: undefined");return b};1E&&v("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+E+"! (TOTAL_STACK=5242880)"); a.buffer?buffer=a.buffer:"object"===typeof WebAssembly&&"function"===typeof WebAssembly.Memory?(x=new WebAssembly.Memory({initial:E/65536}),buffer=x.buffer):buffer=new ArrayBuffer(E);C();B[684]=5245648;function F(b){for(;0>2]=b);return b},e:V,d:function(b){if(2147418112=c?c=z(2*c):c=Math.min(z((3*c+2147483648)/4),2147418112);if(!W(c))return!1;C();return!0},c:function(){r("OOM")},a:2736},buffer);a.asm=X;a.___errno_location=function(){return a.asm.f.apply(null,arguments)};a._free=function(){return a.asm.g.apply(null,arguments)};a._malloc=function(){return a.asm.h.apply(null,arguments)}; a._simplify=function(){return a.asm.i.apply(null,arguments)};a.asm=X;a.then=function(b){if(a.calledRun)b(a);else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();b(a)}}return a};function t(b){this.name="ExitStatus";this.message="Program terminated with exit("+b+")";this.status=b}t.prototype=Error();t.prototype.constructor=t;O=function aa(){a.calledRun||Z();a.calledRun||(O=aa)}; function Z(){function b(){if(!a.calledRun&&(a.calledRun=!0,!y)){K||(K=!0,F(H));F(I);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var b=a.postRun.shift();J.unshift(b)}F(J)}}if(!(0