diff --git a/new_test/2de34c4e54918508de9f.js b/new_test/2de34c4e54918508de9f.js deleted file mode 100644 index a81e2fd..0000000 --- a/new_test/2de34c4e54918508de9f.js +++ /dev/null @@ -1,253 +0,0 @@ - -var createFFmpegCore = (function() { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; - if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; - return ( -function(createFFmpegCore) { - createFFmpegCore = createFFmpegCore || {}; - - -var f;f||(f=typeof createFFmpegCore !== 'undefined' ? createFFmpegCore : {});var aa,ba;f.ready=new Promise(function(a,b){aa=a;ba=b});f.quit=function(a){if(f.onExit)f.onExit(a);throw new ca(a);};f.exit=da;ea=h=function(){};var fa={},ia;for(ia in f)f.hasOwnProperty(ia)&&(fa[ia]=f[ia]);var ja=[],ka="./this.program";function la(a,b){throw b;}var ma=!1,oa=!1,l=!1,pa=!1;ma="object"===typeof window;oa="function"===typeof importScripts; -l="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;pa=!ma&&!l&&!oa;var n=f.ENVIRONMENT_IS_PTHREAD||!1;n&&(qa=f.buffer);var ra="";function sa(a){return f.locateFile?f.locateFile(a,ra):ra+a}var ta,va,wa,xa; -if(l){ra=oa?require("path").dirname(ra)+"/":__dirname+"/";ta=function(a,b){wa||(wa=require("fs"));xa||(xa=require("path"));a=xa.normalize(a);return wa.readFileSync(a,b?null:"utf8")};va=function(a){a=ta(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};1=c);){var e=a[b++];if(!e)break;if(e&128){var g=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|g);else{var k=a[b++]&63;e=224==(e&240)?(e&15)<<12|g<<6|k:(e&7)<<18|g<<12|k<<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 A(a,b){return a?Ja(Ka,a,b):""} -function La(a,b,c,d){if(!(0=k){var m=a.charCodeAt(++g);k=65536+((k&1023)<<10)|m&1023}if(127>=k){if(c>=d)break;b[c++]=k}else{if(2047>=k){if(c+1>=d)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=d)break;b[c++]=224|k>>12}else{if(c+3>=d)break;b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-e}function Ia(a,b,c){return La(a,Ka,b,c)} -function Ma(a){for(var b=0,c=0;c=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}function Na(a){var b=Ma(a)+1,c=Oa(b);c&&La(a,v,c,b);return c}function Pa(a){var b=Ma(a)+1,c=Ha(b);La(a,v,c,b);return c}function Ra(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(v[b>>0]=0)}var qa,v,Ka,Sa,Ta,D,E,F,Ua,Va=f.INITIAL_MEMORY||1073741824; -if(n)Ca=f.wasmMemory,qa=f.buffer;else if(f.wasmMemory)Ca=f.wasmMemory;else if(Ca=new WebAssembly.Memory({initial:Va/65536,maximum:Va/65536,shared:!0}),!(Ca.buffer instanceof SharedArrayBuffer))throw h("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),l&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"), -Error("bad memory");Ca&&(qa=Ca.buffer);Va=qa.byteLength;var Wa=qa;qa=Wa;f.HEAP8=v=new Int8Array(Wa);f.HEAP16=Sa=new Int16Array(Wa);f.HEAP32=D=new Int32Array(Wa);f.HEAPU8=Ka=new Uint8Array(Wa);f.HEAPU16=Ta=new Uint16Array(Wa);f.HEAPU32=E=new Uint32Array(Wa);f.HEAPF32=F=new Float32Array(Wa);f.HEAPF64=Ua=new Float64Array(Wa);var G,Xa=[],Ya=[],Za=[],$a=[],ab=[];function bb(){var a=f.preRun.shift();Xa.unshift(a)}var cb=0,db=null,eb=null; -function gb(){assert(!n,"addRunDependency cannot be used in a pthread worker");cb++;f.monitorRunDependencies&&f.monitorRunDependencies(cb)}function hb(){cb--;f.monitorRunDependencies&&f.monitorRunDependencies(cb);if(0==cb&&(null!==db&&(clearInterval(db),db=null),eb)){var a=eb;eb=null;a()}}f.preloadedImages={};f.preloadedAudios={}; -function u(a){if(f.onAbort)f.onAbort(a);n&&console.error("Pthread aborting at "+Error().stack);h(a);Ea=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function ib(a){var b=jb;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function kb(){return ib("data:application/octet-stream;base64,")}var jb="ffmpeg-core.wasm";kb()||(jb=sa(jb)); -function lb(){try{if(Ba)return new Uint8Array(Ba);if(va)return va(jb);throw"both async and sync fetching of the wasm failed";}catch(a){u(a)}}function mb(){return Ba||!ma&&!oa||"function"!==typeof fetch||ib("file://")?Promise.resolve().then(lb):fetch(jb,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+jb+"'";return a.arrayBuffer()}).catch(function(){return lb()})} -var H,J,ob={5449136:function(){throw"Canceled!";},5449356:function(a,b){setTimeout(function(){nb(a,b)},0)},5449458:function(){return 5242880}};function pb(a){for(;0=a||a>v.length||a&1||0>b)return-28;if(0==b)return 0;2147483647<=b&&(b=Infinity);var c=Atomics.load(D,L.Vf>>2),d=0;if(c==a&&Atomics.compareExchange(D,L.Vf>>2,c,0)==c&&(--b,d=1,0>=b))return 1;a=Atomics.notify(D,a>>2,b);if(0<=a)return a+d;throw"Atomics.notify returned an unexpected value "+a;}f._emscripten_futex_wake=vb; -function wb(a){if(n)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!a)throw"Internal Error! Null pthread_ptr in cancelThread!";L.Ef[a].worker.postMessage({cmd:"cancel"})}function xb(a){if(n)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!a)throw"Internal Error! Null pthread_ptr in cleanupThread!";D[a+12>>2]=0;(a=L.Ef[a])&&L.Ag(a.worker)} -var L={Ph:1,nj:{Ih:0,Jh:0},Gf:[],Kf:[],lj:function(){},pi:function(){L.xf=Oa(232);for(var a=0;58>a;++a)E[L.xf/4+a]=0;D[L.xf+12>>2]=L.xf;a=L.xf+156;D[a>>2]=a;var b=Oa(512);for(a=0;128>a;++a)E[b/4+a]=0;Atomics.store(E,L.xf+104>>2,b);Atomics.store(E,L.xf+40>>2,L.xf);Atomics.store(E,L.xf+44>>2,42);L.Ch();ub(L.xf,!oa,1);yb(L.xf)},ri:function(){L.Ch();aa(f);L.receiveObjectTransfer=L.Ii;L.setThreadStatus=L.Li;L.threadCancel=L.Pi;L.threadExit=L.Qi},Ch:function(){L.Vf=zb},Ef:{},Dg:[],Li:function(){},eh:function(){for(;0< -L.Dg.length;)L.Dg.pop()();n&&threadInfoStruct&&Ab()},Qi:function(a){var b=rb|0;b&&(Atomics.store(E,b+4>>2,a),Atomics.store(E,b+0>>2,1),Atomics.store(E,b+60>>2,1),Atomics.store(E,b+64>>2,0),L.eh(),vb(b+0,2147483647),ub(0,0,0),threadInfoStruct=0,n&&postMessage({cmd:"exit"}))},Pi:function(){L.eh();Atomics.store(E,threadInfoStruct+4>>2,-1);Atomics.store(E,threadInfoStruct+0>>2,1);vb(threadInfoStruct+0,2147483647);threadInfoStruct=selfThreadId=0;ub(0,0,0);postMessage({cmd:"cancelDone"})},Oi:function(){for(var a in L.Ef){var b= -L.Ef[a];b&&b.worker&&L.Ag(b.worker)}L.Ef={};for(a=0;a>2];D[a.threadInfoStruct+104>>2]=0;Bb(b);Bb(a.threadInfoStruct)}a.threadInfoStruct=0;a.Kg&&a.Rf&&Bb(a.Rf);a.Rf=0;a.worker&&(a.worker.yf=null)}},Ag:function(a){delete L.Ef[a.yf.Lh];L.Gf.push(a);L.Kf.splice(L.Kf.indexOf(a),1);L.Pg(a.yf);a.yf=void 0}, -Ii:function(){},vi:function(a,b){a.onmessage=function(c){var d=c.data,e=d.cmd;a.yf&&(L.Mg=a.yf.threadInfoStruct);if(d.targetThread&&d.targetThread!=(rb|0)){var g=L.Ef[d.xj];g?g.worker.postMessage(c.data,d.transferList):console.error('Internal error! Worker sent a message "'+e+'" to target pthread '+d.targetThread+", but that thread no longer exists!")}else if("processQueuedMainThreadWork"===e)Cb();else if("spawnThread"===e)Db(c.data);else if("cleanupThread"===e)xb(d.thread);else if("killThread"=== -e){c=d.thread;if(n)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in killThread!";D[c+12>>2]=0;c=L.Ef[c];c.worker.terminate();L.Pg(c);L.Kf.splice(L.Kf.indexOf(c.worker),1);c.worker.yf=void 0}else if("cancelThread"===e)wb(d.thread);else if("loaded"===e)a.loaded=!0,b&&b(a),a.og&&(a.og(),delete a.og);else if("print"===e)ea("Thread "+d.threadId+": "+d.text);else if("printErr"===e)h("Thread "+d.threadId+": "+d.text); -else if("alert"===e)alert("Thread "+d.threadId+": "+d.text);else if("exit"===e)a.yf&&Atomics.load(E,a.yf.Lh+68>>2)&&L.Ag(a);else if("exitProcess"===e){noExitRuntime=!1;try{da(d.returnCode)}catch(k){if(k instanceof ca)return;throw k;}}else"cancelDone"===e?L.Ag(a):"objectTransfer"!==e&&("setimmediate"===c.data.target?a.postMessage(c.data):h("worker sent an unknown command "+e));L.Mg=void 0};a.onerror=function(c){h("pthread sent an error! "+c.filename+":"+c.lineno+": "+c.message)};l&&(a.on("message", -function(c){a.onmessage({data:c})}),a.on("error",function(c){a.onerror(c)}),a.on("exit",function(){}));a.postMessage({cmd:"load",urlOrBlob:f.mainScriptUrlOrBlob||_scriptDir,wasmMemory:Ca,wasmModule:Da})},Vh:function(){var a=sa("ffmpeg-core.worker.js");L.Gf.push(new Worker(a))},li:function(){0==L.Gf.length&&(L.Vh(),L.vi(L.Gf[0]));return 0>2]=a}function Hb(a,b){if(0===a)a=Date.now();else if(1===a||4===a)a=Eb();else return Fb(28),-1;D[b>>2]=a/1E3|0;D[b+4>>2]=a%1E3*1E6|0;return 0}function Ib(a,b){if(n)return M(1,1,a,b);$a.unshift({vh:a,Tf:b})} -function Jb(a,b){a=new Date(1E3*D[a>>2]);D[b>>2]=a.getUTCSeconds();D[b+4>>2]=a.getUTCMinutes();D[b+8>>2]=a.getUTCHours();D[b+12>>2]=a.getUTCDate();D[b+16>>2]=a.getUTCMonth();D[b+20>>2]=a.getUTCFullYear()-1900;D[b+24>>2]=a.getUTCDay();D[b+36>>2]=0;D[b+32>>2]=0;D[b+28>>2]=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;Jb.ih||(Jb.ih=Na("GMT"));D[b+40>>2]=Jb.ih;return b} -function Kb(){function a(k){return(k=k.toTimeString().match(/\(([A-Za-z ]+)\)$/))?k[1]:"GMT"}if(n)return M(2,1);if(!Kb.Yh){Kb.Yh=!0;var b=(new Date).getFullYear(),c=new Date(b,0,1),d=new Date(b,6,1);b=c.getTimezoneOffset();var e=d.getTimezoneOffset(),g=Math.max(b,e);D[Lb()>>2]=60*g;D[Mb()>>2]=Number(b!=e);c=a(c);d=a(d);c=Na(c);d=Na(d);e>2]=c,D[Nb()+4>>2]=d):(D[Nb()>>2]=d,D[Nb()+4>>2]=c)}} -function Ob(a,b){Kb();a=new Date(1E3*D[a>>2]);D[b>>2]=a.getSeconds();D[b+4>>2]=a.getMinutes();D[b+8>>2]=a.getHours();D[b+12>>2]=a.getDate();D[b+16>>2]=a.getMonth();D[b+20>>2]=a.getFullYear()-1900;D[b+24>>2]=a.getDay();var c=new Date(a.getFullYear(),0,1);D[b+28>>2]=(a.getTime()-c.getTime())/864E5|0;D[b+36>>2]=-(60*a.getTimezoneOffset());var d=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;D[b+32>>2]=a;a=D[Nb()+(a?4:0)>>2]; -D[b+40>>2]=a;return b}function Pb(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 Qb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Pb(a.split("/").filter(function(d){return!!d}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} -function Rb(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 Sb(a){if("/"===a)return"/";a=Qb(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function Tb(a,b){return Qb(a+"/"+b)} -function Ub(){if("object"===typeof crypto&&"function"===typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}if(l)try{var b=require("crypto");return function(){return b.randomBytes(1)[0]}}catch(c){}return function(){u("randomDevice")}} -function Vb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:N.cwd();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=Pb(a.split("/").filter(function(d){return!!d}),!b).join("/");return(b?"/":"")+a||"."} -function Wb(a,b){function c(k){for(var m=0;mr?[]:k.slice(m,r-m+1)}a=Vb(a).substr(1);b=Vb(b).substr(1);a=c(a.split("/"));b=c(b.split("/"));for(var d=Math.min(a.length,b.length),e=d,g=0;g=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.bf,a.bf=new Uint8Array(b),0b)a.bf.length=b;else for(;a.bf.length=a.node.gf)return 0;a=Math.min(a.node.gf-e,d);if(8b)throw new N.af(28);return b},fg:function(a,b,c){O.sh(a.node,b+c);a.node.gf=Math.max(a.node.gf,b+c)},Wf:function(a,b,c,d,e,g){assert(0===b);if(!N.isFile(a.node.mode))throw new N.af(43);a=a.node.bf;if(g&2||a.buffer!==qa){if(0>>0)%N.Cf.length},zh:function(a){var b=N.Sg(a.parent.id,a.name);a.Pf=N.Cf[b];N.Cf[b]=a},Ah:function(a){var b=N.Sg(a.parent.id,a.name);if(N.Cf[b]===a)N.Cf[b]=a.Pf; -else for(b=N.Cf[b];b;){if(b.Pf===a){b.Pf=a.Pf;break}b=b.Pf}},Bf:function(a,b){var c=N.yi(a);if(c)throw new N.af(c,a);for(c=N.Cf[N.Sg(a.id,b)];c;c=c.Pf){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return N.lookup(a,b)},createNode:function(a,b,c,d){a=new N.Oh(a,b,c,d);N.zh(a);return a},Ng:function(a){N.Ah(a)},wg:function(a){return a===a.parent},Nf:function(a){return!!a.lg},isFile:function(a){return 32768===(a&61440)},kf:function(a){return 16384===(a&61440)},Mf:function(a){return 40960===(a&61440)}, -hg:function(a){return 8192===(a&61440)},si:function(a){return 24576===(a&61440)},isFIFO:function(a){return 4096===(a&61440)},isSocket:function(a){return 49152===(a&49152)},ji:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},Dh:function(a){var b=N.ji[a];if("undefined"===typeof b)throw Error("Unknown file open mode: "+a);return b},th:function(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},Jf:function(a,b){if(N.Bh)return 0; -if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return 2}else return 2;return 0},yi:function(a){var b=N.Jf(a,"x");return b?b:a.cf.lookup?0:2},Yg:function(a,b){try{return N.Bf(a,b),20}catch(c){}return N.Jf(a,"wx")},xg:function(a,b,c){try{var d=N.Bf(a,b)}catch(e){return e.ef}if(a=N.Jf(a,"wx"))return a;if(c){if(!N.kf(d.mode))return 54;if(N.wg(d)||N.If(d)===N.cwd())return 10}else if(N.kf(d.mode))return 31;return 0},zi:function(a,b){return a? -N.Mf(a.mode)?32:N.kf(a.mode)&&("r"!==N.th(b)||b&512)?31:N.Jf(a,N.th(b)):44},Qh:4096,Bi:function(a,b){b=b||N.Qh;for(a=a||0;a<=b;a++)if(!N.streams[a])return a;throw new N.af(33);},zf:function(a){return N.streams[a]},nh:function(a,b,c){N.Hg||(N.Hg=function(){},N.Hg.prototype={object:{get:function(){return this.node},set:function(g){this.node=g}}});var d=new N.Hg,e;for(e in a)d[e]=a[e];a=d;b=N.Bi(b,c);a.fd=b;return N.streams[b]=a},ai:function(a){N.streams[a]=null},$h:{open:function(a){a.df=N.ki(a.node.rdev).df; -a.df.open&&a.df.open(a)},tf:function(){throw new N.af(70);}},Wg:function(a){return a>>8},oj:function(a){return a&255},Of:function(a,b){return a<<8|b},dh:function(a,b){N.ph[a]={df:b}},ki:function(a){return N.ph[a]},wh:function(a){var b=[];for(a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.mg)}return b},Kh:function(a,b){function c(k){N.Cg--;return b(k)}function d(k){if(k){if(!d.gi)return d.gi=!0,c(k)}else++g>=e.length&&c(null)}"function"===typeof a&&(b=a,a=!1);N.Cg++;1b)throw new N.af(28);var c;"string"===typeof a?c=N.ff(a,{wf:!0}).node:c=a;if(!c.cf.nf)throw new N.af(63);if(N.kf(c.mode))throw new N.af(31);if(!N.isFile(c.mode))throw new N.af(28);if(a=N.Jf(c,"w"))throw new N.af(a); -c.cf.nf(c,{size:b,timestamp:Date.now()})},fj:function(a,b){a=N.zf(a);if(!a)throw new N.af(8);if(0===(a.flags&2097155))throw new N.af(28);N.truncate(a.node,b)},Aj:function(a,b,c){a=N.ff(a,{wf:!0}).node;a.cf.nf(a,{timestamp:Math.max(b,c)})},open:function(a,b,c,d,e){if(""===a)throw new N.af(44);b="string"===typeof b?N.Dh(b):b;c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;if("object"===typeof a)var g=a;else{a=Qb(a);try{g=N.ff(a,{wf:!(b&131072)}).node}catch(m){}}var k=!1;if(b&64)if(g){if(b&128)throw new N.af(20); -}else g=N.Ff(a,c,0),k=!0;if(!g)throw new N.af(44);N.hg(g.mode)&&(b&=-513);if(b&65536&&!N.kf(g.mode))throw new N.af(54);if(!k&&(c=N.zi(g,b)))throw new N.af(c);b&512&&N.truncate(g,0);b&=-131713;d=N.nh({node:g,path:N.If(g),flags:b,seekable:!0,position:0,df:g.df,Wi:[],error:!1},d,e);d.df.open&&d.df.open(d);!f.logReadFiles||b&1||(N.$g||(N.$g={}),a in N.$g||(N.$g[a]=1,h("FS.trackingDelegate error on read file: "+a)));try{N.mf.onOpenFile&&(e=0,1!==(b&2097155)&&(e|=N.Mh.Gh.Rh),0!==(b&2097155)&&(e|=N.Mh.Gh.Sh), -N.mf.onOpenFile(a,e))}catch(m){h("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+m.message)}return d},close:function(a){if(N.ig(a))throw new N.af(8);a.Lf&&(a.Lf=null);try{a.df.close&&a.df.close(a)}catch(b){throw b;}finally{N.ai(a.fd)}a.fd=null},ig:function(a){return null===a.fd},tf:function(a,b,c){if(N.ig(a))throw new N.af(8);if(!a.seekable||!a.df.tf)throw new N.af(70);if(0!=c&&1!=c&&2!=c)throw new N.af(28);a.position=a.df.tf(a,b,c);a.Wi=[];return a.position},read:function(a, -b,c,d,e){if(0>d||0>e)throw new N.af(28);if(N.ig(a))throw new N.af(8);if(1===(a.flags&2097155))throw new N.af(8);if(N.kf(a.node.mode))throw new N.af(31);if(!a.df.read)throw new N.af(28);var g="undefined"!==typeof e;if(!g)e=a.position;else if(!a.seekable)throw new N.af(70);b=a.df.read(a,b,c,d,e);g||(a.position+=b);return b},write:function(a,b,c,d,e,g){if(0>d||0>e)throw new N.af(28);if(N.ig(a))throw new N.af(8);if(0===(a.flags&2097155))throw new N.af(8);if(N.kf(a.node.mode))throw new N.af(31);if(!a.df.write)throw new N.af(28); -a.seekable&&a.flags&1024&&N.tf(a,0,2);var k="undefined"!==typeof e;if(!k)e=a.position;else if(!a.seekable)throw new N.af(70);b=a.df.write(a,b,c,d,e,g);k||(a.position+=b);try{if(a.path&&N.mf.onWriteToFile)N.mf.onWriteToFile(a.path)}catch(m){h("FS.trackingDelegate['onWriteToFile']('"+a.path+"') threw an exception: "+m.message)}return b},fg:function(a,b,c){if(N.ig(a))throw new N.af(8);if(0>b||0>=c)throw new N.af(28);if(0===(a.flags&2097155))throw new N.af(8);if(!N.isFile(a.node.mode)&&!N.kf(a.node.mode))throw new N.af(43); -if(!a.df.fg)throw new N.af(138);a.df.fg(a,b,c)},Wf:function(a,b,c,d,e,g){if(0!==(e&2)&&0===(g&2)&&2!==(a.flags&2097155))throw new N.af(2);if(1===(a.flags&2097155))throw new N.af(2);if(!a.df.Wf)throw new N.af(43);return a.df.Wf(a,b,c,d,e,g)},Xf:function(a,b,c,d,e){return a&&a.df.Xf?a.df.Xf(a,b,c,d,e):0},sj:function(){return 0},Uf:function(a,b,c){if(!a.df.Uf)throw new N.af(59);return a.df.Uf(a,b,c)},readFile:function(a,b){b=b||{};b.flags=b.flags||"r";b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&& -"binary"!==b.encoding)throw Error('Invalid encoding type "'+b.encoding+'"');var c,d=N.open(a,b.flags);a=N.stat(a).size;var e=new Uint8Array(a);N.read(d,e,0,a,0);"utf8"===b.encoding?c=Ja(e,0):"binary"===b.encoding&&(c=e);N.close(d);return c},writeFile:function(a,b,c){c=c||{};c.flags=c.flags||"w";a=N.open(a,c.flags,c.mode);if("string"===typeof b){var d=new Uint8Array(Ma(b)+1);b=La(b,d,0,d.length);N.write(a,d,0,b,void 0,c.Zh)}else if(ArrayBuffer.isView(b))N.write(a,b,0,b.byteLength,void 0,c.Zh);else throw Error("Unsupported data type"); -N.close(a)},cwd:function(){return N.oh},chdir:function(a){a=N.ff(a,{wf:!0});if(null===a.node)throw new N.af(44);if(!N.kf(a.node.mode))throw new N.af(54);var b=N.Jf(a.node,"x");if(b)throw new N.af(b);N.oh=a.path},ci:function(){N.mkdir("/tmp");N.mkdir("/home");N.mkdir("/home/web_user")},bi:function(){N.mkdir("/dev");N.dh(N.Of(1,3),{read:function(){return 0},write:function(b,c,d,e){return e}});N.yg("/dev/null",N.Of(1,3));Yb(N.Of(5,0),ac);Yb(N.Of(6,0),ec);N.yg("/dev/tty",N.Of(5,0));N.yg("/dev/tty1",N.Of(6, -0));var a=Ub();N.Hf("/dev","random",a);N.Hf("/dev","urandom",a);N.mkdir("/dev/shm");N.mkdir("/dev/shm/tmp")},ei:function(){N.mkdir("/proc");N.mkdir("/proc/self");N.mkdir("/proc/self/fd");N.jf({jf:function(){var a=N.createNode("/proc/self","fd",16895,73);a.cf={lookup:function(b,c){var d=N.zf(+c);if(!d)throw new N.af(8);b={parent:null,jf:{Eh:"fake"},cf:{readlink:function(){return d.path}}};return b.parent=b}};return a}},{},"/proc/self/fd")},fi:function(){f.stdin?N.Hf("/dev","stdin",f.stdin):N.symlink("/dev/tty", -"/dev/stdin");f.stdout?N.Hf("/dev","stdout",null,f.stdout):N.symlink("/dev/tty","/dev/stdout");f.stderr?N.Hf("/dev","stderr",null,f.stderr):N.symlink("/dev/tty1","/dev/stderr");N.open("/dev/stdin","r");N.open("/dev/stdout","w");N.open("/dev/stderr","w")},rh:function(){N.af||(N.af=function(a,b){this.node=b;this.Ki=function(c){this.ef=c};this.Ki(a);this.message="FS error"},N.af.prototype=Error(),N.af.prototype.constructor=N.af,[44].forEach(function(a){N.Qg[a]=new N.af(a);N.Qg[a].stack=""}))}, -Ni:function(){N.rh();N.Cf=Array(4096);N.jf(O,{},"/");N.ci();N.bi();N.ei();N.ii={MEMFS:O}},gg:function(a,b,c){N.gg.Tg=!0;N.rh();f.stdin=a||f.stdin;f.stdout=b||f.stdout;f.stderr=c||f.stderr;N.fi()},quit:function(){N.gg.Tg=!1;var a=f._fflush;a&&a(0);for(a=0;athis.length-1||0>q)){var t=q%this.chunkSize;return this.yh(q/this.chunkSize|0)[t]}};g.prototype.Wh=function(q){this.yh=q};g.prototype.kh=function(){var q=new XMLHttpRequest;q.open("HEAD",c,!1);q.send(null);if(!(200<=q.status&&300>q.status||304===q.status))throw Error("Couldn't load "+ -c+". Status: "+q.status);var t=Number(q.getResponseHeader("Content-length")),w,B=(w=q.getResponseHeader("Accept-Ranges"))&&"bytes"===w;q=(w=q.getResponseHeader("Content-Encoding"))&&"gzip"===w;var p=1048576;B||(p=t);var x=this;x.Wh(function(z){var I=z*p,V=(z+1)*p-1;V=Math.min(V,t-1);if("undefined"===typeof x.Sf[z]){var fb=x.Sf;if(I>V)throw Error("invalid range ("+I+", "+V+") or no bytes requested!");if(V>t-1)throw Error("only "+t+" bytes available! programmer error!");var K=new XMLHttpRequest;K.open("GET", -c,!1);t!==p&&K.setRequestHeader("Range","bytes="+I+"-"+V);"undefined"!=typeof Uint8Array&&(K.responseType="arraybuffer");K.overrideMimeType&&K.overrideMimeType("text/plain; charset=x-user-defined");K.send(null);if(!(200<=K.status&&300>K.status||304===K.status))throw Error("Couldn't load "+c+". Status: "+K.status);I=void 0!==K.response?new Uint8Array(K.response||[]):$b(K.responseText||"",!0);fb[z]=I}if("undefined"===typeof x.Sf[z])throw Error("doXHR failed!");return x.Sf[z]});if(q||!t)p=t=1,p=t=this.yh(0).length, -ea("LazyFiles on gzip forces download of the whole file when length is accessed");this.Uh=t;this.Th=p;this.Vg=!0};if("undefined"!==typeof XMLHttpRequest){if(!oa)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var k=new g;Object.defineProperties(k,{length:{get:function(){this.Vg||this.kh();return this.Uh}},chunkSize:{get:function(){this.Vg||this.kh();return this.Th}}});k={Ug:!1,bf:k}}else k={Ug:!1,url:c};var m=N.di(a,b,k,d, -e);k.bf?m.bf=k.bf:k.url&&(m.bf=null,m.url=k.url);Object.defineProperties(m,{gf:{get:function(){return this.bf.length}}});var r={};Object.keys(m.df).forEach(function(q){var t=m.df[q];r[q]=function(){if(!N.uh(m))throw new N.af(29);return t.apply(null,arguments)}});r.read=function(q,t,w,B,p){if(!N.uh(m))throw new N.af(29);q=q.node.bf;if(p>=q.length)return 0;B=Math.min(q.length-p,B);if(q.slice)for(var x=0;x>2]=d.dev;D[c+4>>2]=0;D[c+8>>2]=d.ino;D[c+12>>2]=d.mode;D[c+16>>2]=d.nlink;D[c+20>>2]=d.uid;D[c+24>>2]=d.gid;D[c+28>>2]=d.rdev;D[c+32>>2]=0;J=[d.size>>>0,(H=d.size,1<=+Math.abs(H)?0>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)];D[c+40>>2]=J[0];D[c+44>>2]=J[1];D[c+48>>2]=4096;D[c+52>>2]=d.blocks;D[c+56>>2]=d.atime.getTime()/1E3|0;D[c+60>> -2]=0;D[c+64>>2]=d.mtime.getTime()/1E3|0;D[c+68>>2]=0;D[c+72>>2]=d.ctime.getTime()/1E3|0;D[c+76>>2]=0;J=[d.ino>>>0,(H=d.ino,1<=+Math.abs(H)?0>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)];D[c+80>>2]=J[0];D[c+84>>2]=J[1];return 0}var jc=void 0;function P(){jc+=4;return D[jc-4>>2]}function kc(a){a=N.zf(a);if(!a)throw new N.af(8);return a} -function lc(a,b,c,d,e){if(n)return M(3,1,a,b,c,d,e);try{e=0;for(var g=b?D[b>>2]:0,k=b?D[b+4>>2]:0,m=c?D[c>>2]:0,r=c?D[c+4>>2]:0,q=d?D[d>>2]:0,t=d?D[d+4>>2]:0,w=0,B=0,p=0,x=0,z=0,I=0,V=(b?D[b>>2]:0)|(c?D[c>>2]:0)|(d?D[d>>2]:0),fb=(b?D[b+4>>2]:0)|(c?D[c+4>>2]:0)|(d?D[d+4>>2]:0),K=0;KK?V&X:fb&X){var ha=N.zf(K);if(!ha)throw new N.af(8);var na=5;ha.df.Zf&&(na=ha.df.Zf(ha));na&1&&(32>K?g&X:k&X)&&(32>K?w|=X:B|=X,e++);na&4&&(32>K?m&X:r&X)&&(32>K?p|=X:x|=X,e++);na&2&&(32>K?q&X: -t&X)&&(32>K?z|=X:I|=X,e++)}}b&&(D[b>>2]=w,D[b+4>>2]=B);c&&(D[c>>2]=p,D[c+4>>2]=x);d&&(D[d>>2]=z,D[d+4>>2]=I);return e}catch(ua){return"undefined"!==typeof N&&ua instanceof N.af||u(ua),-ua.ef}}function mc(a,b){if(n)return M(4,1,a,b);try{a=A(a);if(b&-8)var c=-28;else{var d;(d=N.ff(a,{wf:!0}).node)?(a="",b&4&&(a+="r"),b&2&&(a+="w"),b&1&&(a+="x"),c=a&&N.Jf(d,a)?-2:0):c=-44}return c}catch(e){return"undefined"!==typeof N&&e instanceof N.af||u(e),-e.ef}} -function nc(a,b,c){if(n)return M(5,1,a,b,c);jc=c;try{var d=kc(a);switch(b){case 0:var e=P();return 0>e?-28:N.open(d.path,d.flags,0,e).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return e=P(),d.flags|=e,0;case 12:return e=P(),Sa[e+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Fb(28),-1;default:return-28}}catch(g){return"undefined"!==typeof N&&g instanceof N.af||u(g),-g.ef}} -function oc(a,b){if(n)return M(6,1,a,b);try{var c=kc(a);return ic(N.stat,c.path,b)}catch(d){return"undefined"!==typeof N&&d instanceof N.af||u(d),-d.ef}} -function pc(a,b,c){if(n)return M(7,1,a,b,c);try{var d=kc(a);d.Lf||(d.Lf=N.readdir(d.path));a=0;for(var e=N.tf(d,0,1),g=Math.floor(e/280);g>>0,(H=m,1<=+Math.abs(H)?0>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)];D[b+a>>2]=J[0];D[b+a+4>>2]=J[1];J=[280*(g+1)>>>0,(H=280*(g+1),1<=+Math.abs(H)? -0>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)];D[b+a+8>>2]=J[0];D[b+a+12>>2]=J[1];Sa[b+a+16>>1]=280;v[b+a+18>>0]=r;Ia(k,b+a+19,256);a+=280;g+=1}N.tf(d,280*g,0);return a}catch(t){return"undefined"!==typeof N&&t instanceof N.af||u(t),-t.ef}}function qc(a,b){if(n)return M(8,1,a,b);try{return rc(b,0,136),D[b>>2]=1,D[b+4>>2]=2,D[b+8>>2]=3,D[b+12>>2]=4,0}catch(c){return"undefined"!==typeof N&&c instanceof N.af||u(c),-c.ef}} -function sc(a,b,c){if(n)return M(9,1,a,b,c);jc=c;try{var d=kc(a);switch(b){case 21509:case 21505:return d.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.tty?0:-59;case 21519:if(!d.tty)return-59;var e=P();return D[e>>2]=0;case 21520:return d.tty?-28:-59;case 21531:return e=P(),N.Uf(d,b,e);case 21523:return d.tty?0:-59;case 21524:return d.tty?0:-59;default:u("bad ioctl syscall "+b)}}catch(g){return"undefined"!==typeof N&&g instanceof N.af||u(g),-g.ef}} -function tc(a,b){if(n)return M(10,1,a,b);try{return a=A(a),ic(N.lstat,a,b)}catch(c){return"undefined"!==typeof N&&c instanceof N.af||u(c),-c.ef}}function uc(a,b){if(n)return M(11,1,a,b);try{return a=A(a),a=Qb(a),"/"===a[a.length-1]&&(a=a.substr(0,a.length-1)),N.mkdir(a,b,0),0}catch(c){return"undefined"!==typeof N&&c instanceof N.af||u(c),-c.ef}} -function vc(a,b,c,d,e,g){if(n)return M(12,1,a,b,c,d,e,g);try{a:{g<<=12;var k=!1;if(0!==(d&16)&&0!==a%16384)var m=-28;else{if(0!==(d&32)){var r=wc(16384,b);if(!r){m=-48;break a}rc(r,0,b);k=!0}else{var q=N.zf(e);if(!q){m=-8;break a}var t=N.Wf(q,a,b,g,c,d);r=t.Hi;k=t.Jg}hc[r]={xi:r,ui:b,Jg:k,fd:e,Gi:c,flags:d,offset:g};m=r}}return m}catch(w){return"undefined"!==typeof N&&w instanceof N.af||u(w),-w.ef}} -function xc(a,b){if(n)return M(13,1,a,b);try{if(-1===(a|0)||0===b)var c=-28;else{var d=hc[a];if(d&&b===d.ui){var e=N.zf(d.fd);if(d.Gi&2){var g=d.flags,k=d.offset,m=Ka.slice(a,a+b);N.Xf(e,m,k,b,g)}hc[a]=null;d.Jg&&Bb(d.xi)}c=0}return c}catch(r){return"undefined"!==typeof N&&r instanceof N.af||u(r),-r.ef}}function yc(a,b,c){if(n)return M(14,1,a,b,c);jc=c;try{var d=A(a),e=P();return N.open(d,b,e).fd}catch(g){return"undefined"!==typeof N&&g instanceof N.af||u(g),-g.ef}} -function zc(a,b,c){if(n)return M(15,1,a,b,c);try{for(var d=c=0;d>1],k=32,m=N.zf(D[e>>2]);m&&(k=5,m.df.Zf&&(k=m.df.Zf(m)));(k&=g|24)&&c++;Sa[e+6>>1]=k}return c}catch(r){return"undefined"!==typeof N&&r instanceof N.af||u(r),-r.ef}}function Ac(a,b,c,d){if(n)return M(16,1,a,b,c,d);try{return d&&(D[d>>2]=-1,D[d+4>>2]=-1,D[d+8>>2]=-1,D[d+12>>2]=-1),0}catch(e){return"undefined"!==typeof N&&e instanceof N.af||u(e),-e.ef}} -function Bc(a,b,c){if(n)return M(17,1,a,b,c);try{var d=kc(a);return N.read(d,v,b,c)}catch(e){return"undefined"!==typeof N&&e instanceof N.af||u(e),-e.ef}}function Cc(a,b){if(n)return M(18,1,a,b);try{return a=A(a),b=A(b),N.rename(a,b),0}catch(c){return"undefined"!==typeof N&&c instanceof N.af||u(c),-c.ef}}function Dc(a){if(n)return M(19,1,a);try{return a=A(a),N.rmdir(a),0}catch(b){return"undefined"!==typeof N&&b instanceof N.af||u(b),-b.ef}} -var Q={jf:function(){f.websocket=f.websocket&&"object"===typeof f.websocket?f.websocket:{};f.websocket.Ig={};f.websocket.on=function(a,b){"function"===typeof b&&(this.Ig[a]=b);return this};f.websocket.emit=function(a,b){"function"===typeof this.Ig[a]&&this.Ig[a].call(this,b)};return N.createNode(null,"/",16895,0)},createSocket:function(a,b,c){b&=-526337;c&&assert(1==b==(6==c));a={family:a,type:b,protocol:c,lf:null,error:null,ng:{},pending:[],ag:[],pf:Q.qf};b=Q.zg();c=N.createNode(Q.root,b,49152,0); -c.bg=a;b=N.nh({path:b,node:c,flags:N.Dh("r+"),seekable:!1,df:Q.df});a.stream=b;return a},mi:function(a){return(a=N.zf(a))&&N.isSocket(a.node.mode)?a.node.bg:null},df:{Zf:function(a){a=a.node.bg;return a.pf.Zf(a)},Uf:function(a,b,c){a=a.node.bg;return a.pf.Uf(a,b,c)},read:function(a,b,c,d){a=a.node.bg;d=a.pf.bh(a,d);if(!d)return 0;b.set(d.buffer,c);return d.buffer.length},write:function(a,b,c,d){a=a.node.bg;return a.pf.fh(a,b,c,d)},close:function(a){a=a.node.bg;a.pf.close(a)}},zg:function(){Q.zg.current|| -(Q.zg.current=0);return"socket["+Q.zg.current++ +"]"},qf:{tg:function(a,b,c){if("object"===typeof b){var d=b;c=b=null}if(d)if(d._socket)b=d._socket.remoteAddress,c=d._socket.remotePort;else{c=/ws[s]?:\/\/([^:]+):(\d+)/.exec(d.url);if(!c)throw Error("WebSocket URL must be in the format ws(s)://address:port");b=c[1];c=parseInt(c[2],10)}else try{var e=f.websocket&&"object"===typeof f.websocket,g="ws:#".replace("#","//");e&&"string"===typeof f.websocket.url&&(g=f.websocket.url);if("ws://"===g||"wss://"=== -g){var k=b.split("/");g=g+k[0]+":"+c+"/"+k.slice(1).join("/")}k="binary";e&&"string"===typeof f.websocket.subprotocol&&(k=f.websocket.subprotocol);var m=void 0;"null"!==k&&(k=k.replace(/^ +| +$/g,"").split(/ *, */),m=l?{protocol:k.toString()}:k);e&&null===f.websocket.subprotocol&&(m=void 0);d=new (l?require("ws"):WebSocket)(g,m);d.binaryType="arraybuffer"}catch(r){throw new N.af(23);}b={hf:b,port:c,socket:d,ug:[]};Q.qf.jh(a,b);Q.qf.ni(a,b);2===a.type&&"undefined"!==typeof a.Qf&&b.ug.push(new Uint8Array([255, -255,255,255,112,111,114,116,(a.Qf&65280)>>8,a.Qf&255]));return b},vg:function(a,b,c){return a.ng[b+":"+c]},jh:function(a,b){a.ng[b.hf+":"+b.port]=b},Hh:function(a,b){delete a.ng[b.hf+":"+b.port]},ni:function(a,b){function c(){f.websocket.emit("open",a.stream.fd);try{for(var g=b.ug.shift();g;)b.socket.send(g),g=b.ug.shift()}catch(k){b.socket.close()}}function d(g){if("string"===typeof g)g=(new TextEncoder).encode(g);else{assert(void 0!==g.byteLength);if(0==g.byteLength)return;g=new Uint8Array(g)}var k= -e;e=!1;k&&10===g.length&&255===g[0]&&255===g[1]&&255===g[2]&&255===g[3]&&112===g[4]&&111===g[5]&&114===g[6]&&116===g[7]?(g=g[8]<<8|g[9],Q.qf.Hh(a,b),b.port=g,Q.qf.jh(a,b)):(a.ag.push({hf:b.hf,port:b.port,data:g}),f.websocket.emit("message",a.stream.fd))}var e=!0;l?(b.socket.on("open",c),b.socket.on("message",function(g,k){k.Yi&&d((new Uint8Array(g)).buffer)}),b.socket.on("close",function(){f.websocket.emit("close",a.stream.fd)}),b.socket.on("error",function(){a.error=14;f.websocket.emit("error",[a.stream.fd, -a.error,"ECONNREFUSED: Connection refused"])})):(b.socket.onopen=c,b.socket.onclose=function(){f.websocket.emit("close",a.stream.fd)},b.socket.onmessage=function(g){d(g.data)},b.socket.onerror=function(){a.error=14;f.websocket.emit("error",[a.stream.fd,a.error,"ECONNREFUSED: Connection refused"])})},Zf:function(a){if(1===a.type&&a.lf)return a.pending.length?65:0;var b=0,c=1===a.type?Q.qf.vg(a,a.sf,a.vf):null;if(a.ag.length||!c||c&&c.socket.readyState===c.socket.CLOSING||c&&c.socket.readyState===c.socket.CLOSED)b|= -65;if(!c||c&&c.socket.readyState===c.socket.OPEN)b|=4;if(c&&c.socket.readyState===c.socket.CLOSING||c&&c.socket.readyState===c.socket.CLOSED)b|=16;return b},Uf:function(a,b,c){switch(b){case 21531:return b=0,a.ag.length&&(b=a.ag[0].data.length),D[c>>2]=b,0;default:return 28}},close:function(a){if(a.lf){try{a.lf.close()}catch(e){}a.lf=null}for(var b=Object.keys(a.ng),c=0;cb;b++){var c=Number(a[b]);if(isNaN(c))return null;a[b]=c}return(a[0]|a[1]<<8|a[2]<<16|a[3]<<24)>>>0} -function Fc(a){var b,c,d=[];if(!/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i.test(a))return null;if("::"===a)return[0,0,0,0,0,0,0,0];a=0===a.indexOf("::")?a.replace("::","Z:"):a.replace("::",":Z:");0b,"exceeded max address mappings of 65535"),b="172.29."+(b&255)+"."+(b&65280),Jc[b]=a,Ic[a]=b);return b}function Lc(a){return Jc[a]?Jc[a]:null}function Mc(a){return(a&255)+"."+(a>>8&255)+"."+(a>>16&255)+"."+(a>>24&255)} -function Nc(a){var b="",c,d=0,e=0,g=0,k=0;a=[a[0]&65535,a[0]>>16,a[1]&65535,a[1]>>16,a[2]&65535,a[2]>>16,a[3]&65535,a[3]>>16];var m=!0;for(c=0;5>c;c++)if(0!==a[c]){m=!1;break}if(m){c=Mc(a[6]|a[7]<<16);if(-1===a[5])return"::ffff:"+c;if(0===a[5])return"0.0.0.0"===c&&(c=""),"0.0.0.1"===c&&(c="1"),"::"+c}for(c=0;8>c;c++)0===a[c]&&(1d&&(d=k,g=c-d+1);for(c=0;8>c;c++)1=g&&cc?":":"");return b} -function Pc(a,b){var c=Sa[a>>1],d=Oc(Ta[a+2>>1]);switch(c){case 2:if(16!==b)return{ef:28};a=D[a+4>>2];a=Mc(a);break;case 10:if(28!==b)return{ef:28};a=[D[a+8>>2],D[a+12>>2],D[a+16>>2],D[a+20>>2]];a=Nc(a);break;default:return{ef:5}}return{family:c,hf:a,port:d}} -function Qc(a,b,c,d){switch(b){case 2:c=Ec(c);Sa[a>>1]=b;D[a+4>>2]=c;Sa[a+2>>1]=Gc(d);break;case 10:c=Fc(c);D[a>>2]=b;D[a+8>>2]=c[0];D[a+12>>2]=c[1];D[a+16>>2]=c[2];D[a+20>>2]=c[3];Sa[a+2>>1]=Gc(d);D[a+4>>2]=0;D[a+24>>2]=0;break;default:return{ef:5}}return{}} -function Rc(a,b){if(n)return M(20,1,a,b);try{jc=b;b=function(){var Z=Q.mi(P());if(!Z)throw new N.af(8);return Z};var c=function(Z){var qd=P(),he=P();if(Z&&0===qd)return null;Z=Pc(qd,he);if(Z.ef)throw new N.af(Z.ef);Z.hf=Lc(Z.hf)||Z.hf;return Z};switch(a){case 1:var d=P(),e=P(),g=P(),k=Q.createSocket(d,e,g);return k.stream.fd;case 2:k=b();var m=c();k.pf.bind(k,m.hf,m.port);return 0;case 3:return k=b(),m=c(),k.pf.connect(k,m.hf,m.port),0;case 4:k=b();var r=P();k.pf.listen(k,r);return 0;case 5:k=b(); -var q=P();P();var t=k.pf.accept(k);q&&Qc(q,t.family,Kc(t.sf),t.vf);return t.stream.fd;case 6:return k=b(),q=P(),P(),Qc(q,k.family,Kc(k.Bg||"0.0.0.0"),k.Qf),0;case 7:k=b();q=P();P();if(!k.sf)return-53;Qc(q,k.family,Kc(k.sf),k.vf);return 0;case 11:k=b();var w=P(),B=P();P();var p=c(!0);return p?k.pf.fh(k,v,w,B,p.hf,p.port):N.write(k.stream,v,w,B);case 12:k=b();var x=P(),z=P();P();q=P();P();var I=k.pf.bh(k,z);if(!I)return 0;q&&Qc(q,k.family,Kc(I.hf),I.port);Ka.set(I.buffer,x);return I.buffer.byteLength; -case 14:return-50;case 15:k=b();var V=P(),fb=P(),K=P(),X=P();return 1===V&&4===fb?(D[K>>2]=k.error,D[X>>2]=4,k.error=null,0):-50;case 16:k=b();w=P();P();var ha=D[w+8>>2],na=D[w+12>>2],ua=D[w>>2],ie=D[w+4>>2];if(ua){m=Pc(ua,ie);if(m.ef)return-m.ef;var je=m.port;q=Lc(m.hf)||m.hf}for(var Qa=0,W=0;W>2];var rd=new Uint8Array(Qa);for(W=B=0;W>2],cc=D[ha+(8*W+4)>>2];for(x=0;x>0]}return k.pf.fh(k,rd,0,Qa,q,je);case 17:k=b();w=P();P(); -ha=D[w+8>>2];na=D[w+12>>2];for(W=Qa=0;W>2];I=k.pf.bh(k,Qa);if(!I)return 0;(ua=D[w>>2])&&Qc(ua,k.family,Kc(I.hf),I.port);k=0;var dc=I.buffer.byteLength;for(W=0;0>2],cc=D[ha+(8*W+4)>>2])B=Math.min(cc,dc),x=I.buffer.subarray(k,k+B),Ka.set(x,bc+k),k+=B,dc-=B;return k;default:return-52}}catch(Z){return"undefined"!==typeof N&&Z instanceof N.af||u(Z),-Z.ef}} -function Sc(a,b){if(n)return M(21,1,a,b);try{return a=A(a),ic(N.stat,a,b)}catch(c){return"undefined"!==typeof N&&c instanceof N.af||u(c),-c.ef}}function Tc(a){if(n)return M(22,1,a);try{return a=A(a),N.unlink(a),0}catch(b){return"undefined"!==typeof N&&b instanceof N.af||u(b),-b.ef}}function Uc(){void 0===Uc.start&&(Uc.start=Date.now());return 1E3*(Date.now()-Uc.start)|0} -function Vc(){l||oa||(za||(za={}),za["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]||(za["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]=1,h("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")))} -function Wc(a,b,c){if(0>=a||a>v.length||a&1)return-28;if(ma){if(Atomics.load(D,a>>2)!=b)return-6;var d=performance.now();c=d+c;for(Atomics.exchange(D,L.Vf>>2,a);;){d=performance.now();if(d>c)return Atomics.exchange(D,L.Vf>>2,0),-73;d=Atomics.exchange(D,L.Vf>>2,0);if(0==d)break;Cb();if(Atomics.load(D,a>>2)!=b)return-6;Atomics.exchange(D,L.Vf>>2,a)}return 0}a=Atomics.wait(D,a>>2,b,c);if("timed-out"===a)return-73;if("not-equal"===a)return-6;if("ok"===a)return 0;throw"Atomics.wait returned an unexpected value "+ -a;}function Xc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,e,g){b.drawArraysInstancedANGLE(c,d,e,g)},a.drawElementsInstanced=function(c,d,e,g,k){b.drawElementsInstancedANGLE(c,d,e,g,k)})} -function Yc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Zc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})}var $c=1,ad=[],R=[],bd=[],cd=[],dd=[],S=[],ed=[],fd=[],gd=[],hd={},id={},jd=4; -function T(a){kd||(kd=a)}function ld(a){for(var b=$c++,c=a.length;c>2]=k}}function sd(a,b,c,d,e,g,k,m){b=R[b];if(a=U[a](b,c))d=m&&Ia(a.name,m,d),e&&(D[e>>2]=d),g&&(D[g>>2]=a.size),k&&(D[k>>2]=a.type)}function td(a,b){E[a>>2]=b;E[a+4>>2]=(b-E[a>>2])/4294967296} -function ud(a,b,c){if(b){var d=void 0;switch(a){case 36346:d=1;break;case 36344:0!=c&&1!=c&&T(1280);return;case 36345:d=0;break;case 34466:var e=U.getParameter(34467);d=e?e.length:0}if(void 0===d)switch(e=U.getParameter(a),typeof e){case "number":d=e;break;case "boolean":d=e?1:0;break;case "string":T(1280);return;case "object":if(null===e)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:d=0;break;default:T(1280);return}else{if(e instanceof Float32Array|| -e instanceof Uint32Array||e instanceof Int32Array||e instanceof Array){for(a=0;a>2]=e[a];break;case 2:F[b+4*a>>2]=e[a];break;case 4:v[b+a>>0]=e[a]?1:0}return}try{d=e.name|0}catch(g){T(1280);h("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+g+")");return}}break;default:T(1280);h("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+e+" of type "+typeof e+"!");return}switch(c){case 1:td(b, -d);break;case 0:D[b>>2]=d;break;case 2:F[b>>2]=d;break;case 4:v[b>>0]=d?1:0}}else T(1281)}function vd(a){var b=Ma(a)+1,c=Oa(b);Ia(a,c,b);return c}function wd(a,b,c,d){if(c)if(a=U.getUniform(R[a],S[b]),"number"==typeof a||"boolean"==typeof a)switch(d){case 0:D[c>>2]=a;break;case 2:F[c>>2]=a}else for(b=0;b>2]=a[b];break;case 2:F[c+4*b>>2]=a[b]}else T(1281)} -function xd(a,b,c,d){if(c)if(a=U.getVertexAttrib(a,b),34975==b)D[c>>2]=a&&a.name;else if("number"==typeof a||"boolean"==typeof a)switch(d){case 0:D[c>>2]=a;break;case 2:F[c>>2]=a;break;case 5:D[c>>2]=Math.fround(a)}else for(b=0;b>2]=a[b];break;case 2:F[c+4*b>>2]=a[b];break;case 5:D[c+4*b>>2]=Math.fround(a[b])}else T(1281)} -function yd(a,b,c,d,e){a-=5120;a=1==a?Ka:4==a?D:6==a?F:5==a||28922==a?E:Ta;var g=31-Math.clz32(a.BYTES_PER_ELEMENT),k=jd;return a.subarray(e>>g,e+d*(c*({5:3,6:4,8:2,29502:3,29504:4}[b-6402]||1)*(1<>g)}var zd=[],Ad=[];function M(a,b){for(var c=arguments.length-2,d=y(),e=Ha(8*c),g=e>>3,k=0;k>2]=b,D[d.sg+4>>2]=c);if(d.Fh||!d.aj)d.Fh&&(d=d.Fh),a=!1,d.rg&&d.rg.qg&&(a=d.rg.qg.getParameter(2978),a=0===a[0]&&0===a[1]&&a[2]===d.width&&a[3]===d.height),d.width=b,d.height=c,a&&d.rg.qg.viewport(0,0,b,c);else{if(d.sg){a=a?A(a):"";d=D[d.sg+8>>2];var e=y(),g=Ha(12),k=0;a&&(k=vd(a));D[g>>2]=k;D[g+4>>2]=b;D[g+8>>2]=c;Hd(0,d,657457152,0,k,g);C(e);return 1}return-4}return 0}function Id(a,b,c){return n?M(23,1,a,b,c):Gd(a,b,c)} -var Jd=["default","low-power","high-performance"],Kd={};function Ld(){if(!Md){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",_:ka||"./this.program"},b;for(b in Kd)a[b]=Kd[b];var c=[];for(b in a)c.push(b+"="+a[b]);Md=c}return Md}var Md; -function Nd(a){if(n)return M(24,1,a);try{var b=kc(a);N.close(b);return 0}catch(c){return"undefined"!==typeof N&&c instanceof N.af||u(c),c.ef}}function Od(a,b){if(n)return M(25,1,a,b);try{var c=kc(a);v[b>>0]=c.tty?2:N.kf(c.mode)?3:N.Mf(c.mode)?7:4;return 0}catch(d){return"undefined"!==typeof N&&d instanceof N.af||u(d),d.ef}} -function Pd(a,b,c,d){if(n)return M(26,1,a,b,c,d);try{a:{for(var e=kc(a),g=a=0;g>2],m=N.read(e,v,D[b+8*g>>2],k,void 0);if(0>m){var r=-1;break a}a+=m;if(m>2]=r;return 0}catch(q){return"undefined"!==typeof N&&q instanceof N.af||u(q),q.ef}} -function Qd(a,b,c,d,e){if(n)return M(27,1,a,b,c,d,e);try{var g=kc(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;N.tf(g,a,d);J=[g.position>>>0,(H=g.position,1<=+Math.abs(H)?0>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)];D[e>>2]=J[0];D[e+4>>2]=J[1];g.Lf&&0===a&&0===d&&(g.Lf=null);return 0}catch(k){return"undefined"!==typeof N&&k instanceof N.af||u(k),k.ef}} -function Rd(a,b,c,d){if(n)return M(28,1,a,b,c,d);try{a:{for(var e=kc(a),g=a=0;g>2],D[b+(8*g+4)>>2],void 0);if(0>k){var m=-1;break a}a+=k}m=a}D[d>>2]=m;return 0}catch(r){return"undefined"!==typeof N&&r instanceof N.af||u(r),r.ef}}var Sd={}; -function Td(a){Td.buffer||(Td.buffer=Oa(256),Sd["0"]="Success",Sd["-1"]="Invalid value for 'ai_flags' field",Sd["-2"]="NAME or SERVICE is unknown",Sd["-3"]="Temporary failure in name resolution",Sd["-4"]="Non-recoverable failure in name res",Sd["-6"]="'ai_family' not supported",Sd["-7"]="'ai_socktype' not supported",Sd["-8"]="SERVICE not supported for 'ai_socktype'",Sd["-10"]="Memory allocation failure",Sd["-11"]="System error returned in 'errno'",Sd["-12"]="Argument buffer overflow");var b="Unknown error"; -a in Sd&&(255>2]=w;D[z+8>>2]=B;D[z+12>>2]=p;D[z+24>>2]=x;D[z+20>>2]=V;D[z+16>>2]=10===w?28:16;D[z+28>>2]=0;return z}if(n)return M(29,1,a,b,c,d);var g=0,k=0,m=0,r=0,q=0,t=0;c&&(m=D[c>>2],r=D[c+4>>2],q=D[c+8>>2],t=D[c+12>>2]);q&&!t&&(t=2===q?17:6);!q&&t&&(q=17===t?2:1);0===t&&(t=6);0===q&&(q=1);if(!a&&!b)return-2;if(m&-1088||0!==c&&D[c>>2]&2&&!a)return-1;if(m&32)return-2;if(0!== -q&&1!==q&&2!==q)return-7;if(0!==r&&2!==r&&10!==r)return-6;if(b&&(b=A(b),k=parseInt(b,10),isNaN(k)))return m&1024?-2:-8;if(!a)return 0===r&&(r=2),0===(m&1)&&(2===r?g=Vd(2130706433):g=[0,0,0,1]),a=e(r,q,t,null,g,k),D[d>>2]=a,0;a=A(a);g=Ec(a);if(null!==g)if(0===r||2===r)r=2;else if(10===r&&m&8)g=[0,0,Vd(65535),g],r=10;else return-2;else if(g=Fc(a),null!==g)if(0===r||10===r)r=10;else return-2;if(null!=g)return a=e(r,q,t,a,g,k),D[d>>2]=a,0;if(m&4)return-2;a=Kc(a);g=Ec(a);0===r?r=2:10===r&&(g=[0,0,Vd(65535), -g]);a=e(r,q,t,null,g,k);D[d>>2]=a;return 0} -function Db(a){if(n)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var b=L.li();if(void 0!==b.yf)throw"Internal error!";if(!a.$f)throw"Internal error, no pthread ptr!";L.Kf.push(b);for(var c=Oa(512),d=0;128>d;++d)D[c+4*d>>2]=0;var e=a.Rf+a.cg;d=L.Ef[a.$f]={worker:b,Rf:a.Rf,cg:a.cg,Kg:a.Kg,Lh:a.$f,threadInfoStruct:a.$f};var g=d.threadInfoStruct>>2;Atomics.store(E,g,0);Atomics.store(E,g+1,0);Atomics.store(E,g+2,0);Atomics.store(E,g+17,a.detached);Atomics.store(E, -g+26,c);Atomics.store(E,g+12,0);Atomics.store(E,g+10,d.threadInfoStruct);Atomics.store(E,g+11,42);Atomics.store(E,g+27,a.cg);Atomics.store(E,g+21,a.cg);Atomics.store(E,g+20,e);Atomics.store(E,g+29,e);Atomics.store(E,g+30,a.detached);Atomics.store(E,g+32,a.Ih);Atomics.store(E,g+33,a.Jh);c=Wd()+40;Atomics.store(E,g+44,c);b.yf=d;var k={cmd:"run",start_routine:a.Mi,arg:a.Tf,threadInfoStruct:a.$f,selfThreadId:a.$f,parentThreadId:a.Fi,stackBase:a.Rf,stackSize:a.cg};b.og=function(){k.time=performance.now(); -b.postMessage(k,a.Vi)};b.loaded&&(b.og(),delete b.og)}function Xd(){return rb|0}f._pthread_self=Xd; -function Yd(a,b){if(!a)return h("pthread_join attempted on a null thread pointer!"),71;if(n&&selfThreadId==a)return h("PThread "+a+" is attempting to join to itself!"),16;if(!n&&L.xf==a)return h("Main thread "+a+" is attempting to join to itself!"),16;if(D[a+12>>2]!==a)return h("pthread_join attempted on thread "+a+", which does not point to a valid thread, or does not exist anymore!"),71;if(Atomics.load(E,a+68>>2))return h("Attempted to join thread "+a+", which was already detached!"),28;for(Vc();;){var c= -Atomics.load(E,a>>2);if(1==c)return c=Atomics.load(E,a+4>>2),b&&(D[b>>2]=c),Atomics.store(E,a+68>>2,1),n?postMessage({cmd:"cleanupThread",thread:a}):xb(a),0;if(n&&threadInfoStruct&&!Atomics.load(E,threadInfoStruct+60>>2)&&2==Atomics.load(E,threadInfoStruct+0>>2))throw"Canceled!";n||Cb();Wc(a,c,n?100:1)}}function Zd(a){return 0===a%4&&(0!==a%100||0===a%400)}function $d(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}var ae=[31,29,31,30,31,30,31,31,30,31,30,31],be=[31,28,31,30,31,30,31,31,30,31,30,31]; -function ce(a,b){for(a=new Date(a.getTime());0d-a.getDate())b-=d-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a} -function de(a){if(n)return M(30,1,a);switch(a){case 30:return 16384;case 85:return Ka.length/16384;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:case 79:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1; -case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256; -case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}Fb(28);return-1}function ee(a,b,c,d){a||(a=this);this.parent=a;this.jf=a.jf;this.lg=null;this.id=N.Ai++;this.name=b;this.mode=c;this.cf={};this.df={};this.rdev=d} -Object.defineProperties(ee.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}},ti:{get:function(){return N.kf(this.mode)}},Ug:{get:function(){return N.hg(this.mode)}}});N.Oh=ee;N.Ni();for(var fc,U,fe=0;32>fe;++fe)od.push(Array(fe));var ge=new Float32Array(288);for(fe=0;288>fe;++fe)zd[fe]=ge.subarray(0,fe+1);var ke=new Int32Array(288); -for(fe=0;288>fe;++fe)Ad[fe]=ke.subarray(0,fe+1);var le=[null,Ib,Kb,lc,mc,nc,oc,pc,qc,sc,tc,uc,vc,xc,yc,zc,Ac,Bc,Cc,Dc,Rc,Sc,Tc,Id,Nd,Od,Pd,Qd,Rd,Ud,de];function $b(a,b){var c=Array(Ma(a)+1);a=La(a,c,0,c.length);b&&(c.length=a);return c}n||Ya.push({vh:function(){me()}}); -var Ge={c:function(a,b,c,d){u("Assertion failed: "+A(a)+", at: "+[b?A(b):"unknown filename",c,d?A(d):"unknown function"])},K:function(a,b){a=ne(a,b);if(!noExitRuntime)return postMessage({cmd:"exitProcess",returnCode:a}),a},W:function(a,b){return Hb(a,b)},aa:function(a,b){return Ib(a,b)},va:function(a,b){return Jb(a,b)},ua:function(a,b){return Ob(a,b)},Ma:lc,Ea:mc,u:nc,Na:oc,Ka:pc,Ha:qc,V:sc,Oa:tc,Pa:uc,ya:vc,Aa:function(){return 0},za:xc,Da:function(){return-63},Y:yc,La:zc,Ja:Ac,Ca:Bc,wa:Cc,Ga:Dc, -Ia:function(){return 0},t:Rc,X:Sc,Fa:function(a){try{if(!a)return-21;var b={__size__:390,sysname:0,nodename:65,release:130,version:195,machine:260,domainname:325};Ra("Emscripten",a+b.sysname);Ra("emscripten",a+b.nodename);Ra("1.0",a+b.release);Ra("#1",a+b.version);Ra("x86-JS",a+b.machine);return 0}catch(c){return"undefined"!==typeof N&&c instanceof N.af||u(c),-c.ef}},Ba:Tc,pa:function(a,b){if(a==b)postMessage({cmd:"processQueuedMainThreadWork"});else if(n)postMessage({targetThread:a,cmd:"processThreadQueue"}); -else{a=(a=L.Ef[a])&&a.worker;if(!a)return;a.postMessage({cmd:"processThreadQueue"})}return 1},b:function(){u()},Qa:Uc,Ta:Hb,$:function(){u("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},Ua:function(){u("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},F:function(a,b,c){Dd.length=0;var d;for(c>>=2;d=Ka[b++];)(d=105>d)&&c&1&&c++,Dd.push(d?Ua[c++>> -1]:D[c]),++c;return ob[a].apply(null,Dd)},qa:Vc,I:function(){},A:Wc,p:vb,z:Eb,Ed:function(a){U.activeTexture(a)},Dd:function(a,b){U.attachShader(R[a],ed[b])},ea:function(a,b){U.uf.beginQueryEXT(a,gd[b])},Cd:function(a,b,c){U.bindAttribLocation(R[a],b,A(c))},Bd:function(a,b){U.bindBuffer(a,ad[b])},Ad:function(a,b){U.bindFramebuffer(a,bd[b])},zd:function(a,b){U.bindRenderbuffer(a,cd[b])},yd:function(a,b){U.bindTexture(a,dd[b])},Md:function(a){U.bindVertexArray(fd[a])},xd:function(a,b,c,d){U.blendColor(a, -b,c,d)},wd:function(a){U.blendEquation(a)},vd:function(a,b){U.blendEquationSeparate(a,b)},ud:function(a,b){U.blendFunc(a,b)},td:function(a,b,c,d){U.blendFuncSeparate(a,b,c,d)},sd:function(a,b,c,d){U.bufferData(a,c?Ka.subarray(c,c+b):b,d)},rd:function(a,b,c,d){U.bufferSubData(a,b,Ka.subarray(d,d+c))},qd:function(a){return U.checkFramebufferStatus(a)},pd:function(a){U.clear(a)},od:function(a,b,c,d){U.clearColor(a,b,c,d)},nd:function(a){U.clearDepth(a)},md:function(a){U.clearStencil(a)},ld:function(a, -b,c,d){U.colorMask(!!a,!!b,!!c,!!d)},kd:function(a){U.compileShader(ed[a])},jd:function(a,b,c,d,e,g,k,m){U.compressedTexImage2D(a,b,c,d,e,g,m?Ka.subarray(m,m+k):null)},id:function(a,b,c,d,e,g,k,m,r){U.compressedTexSubImage2D(a,b,c,d,e,g,k,r?Ka.subarray(r,r+m):null)},hd:function(a,b,c,d,e,g,k,m){U.copyTexImage2D(a,b,c,d,e,g,k,m)},gd:function(a,b,c,d,e,g,k,m){U.copyTexSubImage2D(a,b,c,d,e,g,k,m)},fd:function(){var a=ld(R),b=U.createProgram();b.name=a;R[a]=b;return a},ed:function(a){var b=ld(ed);ed[b]= -U.createShader(a);return b},dd:function(a){U.cullFace(a)},cd:function(a,b){for(var c=0;c>2],e=ad[d];e&&(U.deleteBuffer(e),e.name=0,ad[d]=null)}},bd:function(a,b){for(var c=0;c>2],e=bd[d];e&&(U.deleteFramebuffer(e),e.name=0,bd[d]=null)}},ad:function(a){if(a){var b=R[a];b?(U.deleteProgram(b),b.name=0,R[a]=null,hd[a]=null):T(1281)}},ga:function(a,b){for(var c=0;c>2],e=gd[d];e&&(U.uf.deleteQueryEXT(e),gd[d]=null)}},$c:function(a,b){for(var c= -0;c>2],e=cd[d];e&&(U.deleteRenderbuffer(e),e.name=0,cd[d]=null)}},_c:function(a){if(a){var b=ed[a];b?(U.deleteShader(b),ed[a]=null):T(1281)}},Zc:function(a,b){for(var c=0;c>2],e=dd[d];e&&(U.deleteTexture(e),e.name=0,dd[d]=null)}},Ld:function(a,b){for(var c=0;c>2];U.deleteVertexArray(fd[d]);fd[d]=null}},Yc:function(a){U.depthFunc(a)},Xc:function(a){U.depthMask(!!a)},Wc:function(a,b){U.depthRange(a,b)},Vc:function(a,b){U.detachShader(R[a], -ed[b])},Uc:function(a){U.disable(a)},Tc:function(a){U.disableVertexAttribArray(a)},Sc:function(a,b,c){U.drawArrays(a,b,c)},Hd:function(a,b,c,d){U.drawArraysInstanced(a,b,c,d)},Id:function(a,b){for(var c=od[a],d=0;d>2];U.drawBuffers(c)},Rc:function(a,b,c,d){U.drawElements(a,b,c,d)},Gd:function(a,b,c,d,e){U.drawElementsInstanced(a,b,c,d,e)},Qc:function(a){U.enable(a)},Pc:function(a){U.enableVertexAttribArray(a)},da:function(a){U.uf.endQueryEXT(a)},Oc:function(){U.finish()},Nc:function(){U.flush()}, -Mc:function(a,b,c,d){U.framebufferRenderbuffer(a,b,c,cd[d])},Lc:function(a,b,c,d,e){U.framebufferTexture2D(a,b,c,dd[d],e)},Kc:function(a){U.frontFace(a)},Jc:function(a,b){pd(a,b,"createBuffer",ad)},Hc:function(a,b){pd(a,b,"createFramebuffer",bd)},ha:function(a,b){for(var c=0;c>2]=0;break}var e=ld(gd);d.name=e;gd[e]=d;D[b+4*c>>2]=e}},Gc:function(a,b){pd(a,b,"createRenderbuffer",cd)},Fc:function(a,b){pd(a,b,"createTexture",dd)},Kd:function(a, -b){pd(a,b,"createVertexArray",fd)},Ic:function(a){U.generateMipmap(a)},Ec:function(a,b,c,d,e,g,k){sd("getActiveAttrib",a,b,c,d,e,g,k)},Dc:function(a,b,c,d,e,g,k){sd("getActiveUniform",a,b,c,d,e,g,k)},Cc:function(a,b,c,d){a=U.getAttachedShaders(R[a]);var e=a.length;e>b&&(e=b);D[c>>2]=e;for(b=0;b>2]=ed.indexOf(a[b])},Bc:function(a,b){return U.getAttribLocation(R[a],A(b))},Ac:function(a,b){ud(a,b,4)},zc:function(a,b,c){c?D[c>>2]=U.getBufferParameter(a,b):T(1281)},yc:function(){var a=U.getError()|| -kd;kd=0;return a},xc:function(a,b){ud(a,b,2)},wc:function(a,b,c,d){a=U.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;D[d>>2]=a},vc:function(a,b){ud(a,b,0)},tc:function(a,b,c,d){a=U.getProgramInfoLog(R[a]);null===a&&(a="(unknown error)");b=0>2]=b)},uc:function(a,b,c){if(c)if(a>=$c)T(1281);else{var d=hd[a];if(d)if(35716==b)a=U.getProgramInfoLog(R[a]),null===a&&(a="(unknown error)"),D[c>>2]=a.length+1;else if(35719== -b)D[c>>2]=d.Xg;else if(35722==b){if(-1==d.jg){a=R[a];var e=U.getProgramParameter(a,35721);for(b=d.jg=0;b>2]=d.jg}else if(35381==b){if(-1==d.kg)for(a=R[a],e=U.getProgramParameter(a,35382),b=d.kg=0;b>2]=d.kg}else D[c>>2]=U.getProgramParameter(R[a],b);else T(1282)}else T(1281)},Od:function(a,b,c){if(c){a=U.uf.getQueryObjectEXT(gd[a],b);var d;"boolean"==typeof a? -d=a?1:0:d=a;td(c,d)}else T(1281)},Qd:function(a,b,c){if(c){a=U.uf.getQueryObjectEXT(gd[a],b);var d;"boolean"==typeof a?d=a?1:0:d=a;D[c>>2]=d}else T(1281)},Nd:function(a,b,c){if(c){a=U.uf.getQueryObjectEXT(gd[a],b);var d;"boolean"==typeof a?d=a?1:0:d=a;td(c,d)}else T(1281)},Pd:function(a,b,c){if(c){a=U.uf.getQueryObjectEXT(gd[a],b);var d;"boolean"==typeof a?d=a?1:0:d=a;D[c>>2]=d}else T(1281)},Rd:function(a,b,c){c?D[c>>2]=U.uf.getQueryEXT(a,b):T(1281)},sc:function(a,b,c){c?D[c>>2]=U.getRenderbufferParameter(a, -b):T(1281)},qc:function(a,b,c,d){a=U.getShaderInfoLog(ed[a]);null===a&&(a="(unknown error)");b=0>2]=b)},pc:function(a,b,c,d){a=U.getShaderPrecisionFormat(a,b);D[c>>2]=a.rangeMin;D[c+4>>2]=a.rangeMax;D[d>>2]=a.precision},oc:function(a,b,c,d){if(a=U.getShaderSource(ed[a]))b=0>2]=b)},rc:function(a,b,c){c?35716==b?(a=U.getShaderInfoLog(ed[a]),null===a&&(a="(unknown error)"),D[c>>2]=a?a.length+1:0):35720==b?(a=U.getShaderSource(ed[a]),D[c>>2]=a?a.length+ -1:0):D[c>>2]=U.getShaderParameter(ed[a],b):T(1281)},nc:function(a){if(id[a])return id[a];switch(a){case 7939:var b=U.getSupportedExtensions()||[];b=b.concat(b.map(function(d){return"GL_"+d}));b=vd(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=U.getParameter(a))||T(1280);b=vd(b);break;case 7938:b=vd("OpenGL ES 2.0 ("+U.getParameter(7938)+")");break;case 35724:b=U.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"), -b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=vd(b);break;default:return T(1280),0}return id[a]=b},mc:function(a,b,c){c?F[c>>2]=U.getTexParameter(a,b):T(1281)},lc:function(a,b,c){c?D[c>>2]=U.getTexParameter(a,b):T(1281)},ic:function(a,b){b=A(b);var c=0;if("]"==b[b.length-1]){var d=b.lastIndexOf("[");c="]"!=b[d+1]?parseInt(b.slice(d+1)):0;b=b.slice(0,d)}return(a=hd[a]&&hd[a].Nh[b])&&0<=c&&c>2]=U.getVertexAttribOffset(a, -b):T(1281)},hc:function(a,b,c){xd(a,b,c,2)},gc:function(a,b,c){xd(a,b,c,5)},ec:function(a,b){U.hint(a,b)},dc:function(a){return(a=ad[a])?U.isBuffer(a):0},cc:function(a){return U.isEnabled(a)},bc:function(a){return(a=bd[a])?U.isFramebuffer(a):0},ac:function(a){return(a=R[a])?U.isProgram(a):0},fa:function(a){return(a=gd[a])?U.uf.isQueryEXT(a):0},$b:function(a){return(a=cd[a])?U.isRenderbuffer(a):0},_b:function(a){return(a=ed[a])?U.isShader(a):0},Zb:function(a){return(a=dd[a])?U.isTexture(a):0},Jd:function(a){return(a= -fd[a])?U.isVertexArray(a):0},Yb:function(a){U.lineWidth(a)},Xb:function(a){U.linkProgram(R[a]);var b=R[a];a=hd[a]={Nh:{},Xg:0,jg:-1,kg:-1};for(var c=a.Nh,d=U.getProgramParameter(b,35718),e=0;e>2]:-1;e+=A(D[c+4*g>>2],0>k?void 0:k)}U.shaderSource(ed[a],e)},Nb:function(a, -b,c){U.stencilFunc(a,b,c)},Mb:function(a,b,c,d){U.stencilFuncSeparate(a,b,c,d)},Lb:function(a){U.stencilMask(a)},Kb:function(a,b){U.stencilMaskSeparate(a,b)},Jb:function(a,b,c){U.stencilOp(a,b,c)},Ib:function(a,b,c,d){U.stencilOpSeparate(a,b,c,d)},Hb:function(a,b,c,d,e,g,k,m,r){U.texImage2D(a,b,c,d,e,g,k,m,r?yd(m,k,d,e,r):null)},Gb:function(a,b,c){U.texParameterf(a,b,c)},Fb:function(a,b,c){U.texParameterf(a,b,F[c>>2])},Eb:function(a,b,c){U.texParameteri(a,b,c)},Db:function(a,b,c){U.texParameteri(a, -b,D[c>>2])},Cb:function(a,b,c,d,e,g,k,m,r){var q=null;r&&(q=yd(m,k,e,g,r));U.texSubImage2D(a,b,c,d,e,g,k,m,q)},Bb:function(a,b){U.uniform1f(S[a],b)},Ab:function(a,b,c){if(288>=b)for(var d=zd[b-1],e=0;e>2];else d=F.subarray(c>>2,c+4*b>>2);U.uniform1fv(S[a],d)},zb:function(a,b){U.uniform1i(S[a],b)},yb:function(a,b,c){if(288>=b)for(var d=Ad[b-1],e=0;e>2];else d=D.subarray(c>>2,c+4*b>>2);U.uniform1iv(S[a],d)},xb:function(a,b,c){U.uniform2f(S[a],b,c)},wb:function(a, -b,c){if(144>=b)for(var d=zd[2*b-1],e=0;e<2*b;e+=2)d[e]=F[c+4*e>>2],d[e+1]=F[c+(4*e+4)>>2];else d=F.subarray(c>>2,c+8*b>>2);U.uniform2fv(S[a],d)},vb:function(a,b,c){U.uniform2i(S[a],b,c)},ub:function(a,b,c){if(144>=b)for(var d=Ad[2*b-1],e=0;e<2*b;e+=2)d[e]=D[c+4*e>>2],d[e+1]=D[c+(4*e+4)>>2];else d=D.subarray(c>>2,c+8*b>>2);U.uniform2iv(S[a],d)},tb:function(a,b,c,d){U.uniform3f(S[a],b,c,d)},sb:function(a,b,c){if(96>=b)for(var d=zd[3*b-1],e=0;e<3*b;e+=3)d[e]=F[c+4*e>>2],d[e+1]=F[c+(4*e+4)>>2],d[e+2]= -F[c+(4*e+8)>>2];else d=F.subarray(c>>2,c+12*b>>2);U.uniform3fv(S[a],d)},rb:function(a,b,c,d){U.uniform3i(S[a],b,c,d)},qb:function(a,b,c){if(96>=b)for(var d=Ad[3*b-1],e=0;e<3*b;e+=3)d[e]=D[c+4*e>>2],d[e+1]=D[c+(4*e+4)>>2],d[e+2]=D[c+(4*e+8)>>2];else d=D.subarray(c>>2,c+12*b>>2);U.uniform3iv(S[a],d)},pb:function(a,b,c,d,e){U.uniform4f(S[a],b,c,d,e)},ob:function(a,b,c){if(72>=b){var d=zd[4*b-1];c>>=2;for(var e=0;e<4*b;e+=4){var g=c+e;d[e]=F[g];d[e+1]=F[g+1];d[e+2]=F[g+2];d[e+3]=F[g+3]}}else d=F.subarray(c>> -2,c+16*b>>2);U.uniform4fv(S[a],d)},nb:function(a,b,c,d,e){U.uniform4i(S[a],b,c,d,e)},mb:function(a,b,c){if(72>=b)for(var d=Ad[4*b-1],e=0;e<4*b;e+=4)d[e]=D[c+4*e>>2],d[e+1]=D[c+(4*e+4)>>2],d[e+2]=D[c+(4*e+8)>>2],d[e+3]=D[c+(4*e+12)>>2];else d=D.subarray(c>>2,c+16*b>>2);U.uniform4iv(S[a],d)},lb:function(a,b,c,d){if(72>=b)for(var e=zd[4*b-1],g=0;g<4*b;g+=4)e[g]=F[d+4*g>>2],e[g+1]=F[d+(4*g+4)>>2],e[g+2]=F[d+(4*g+8)>>2],e[g+3]=F[d+(4*g+12)>>2];else e=F.subarray(d>>2,d+16*b>>2);U.uniformMatrix2fv(S[a], -!!c,e)},kb:function(a,b,c,d){if(32>=b)for(var e=zd[9*b-1],g=0;g<9*b;g+=9)e[g]=F[d+4*g>>2],e[g+1]=F[d+(4*g+4)>>2],e[g+2]=F[d+(4*g+8)>>2],e[g+3]=F[d+(4*g+12)>>2],e[g+4]=F[d+(4*g+16)>>2],e[g+5]=F[d+(4*g+20)>>2],e[g+6]=F[d+(4*g+24)>>2],e[g+7]=F[d+(4*g+28)>>2],e[g+8]=F[d+(4*g+32)>>2];else e=F.subarray(d>>2,d+36*b>>2);U.uniformMatrix3fv(S[a],!!c,e)},jb:function(a,b,c,d){if(18>=b){var e=zd[16*b-1];d>>=2;for(var g=0;g<16*b;g+=16){var k=d+g;e[g]=F[k];e[g+1]=F[k+1];e[g+2]=F[k+2];e[g+3]=F[k+3];e[g+4]=F[k+4]; -e[g+5]=F[k+5];e[g+6]=F[k+6];e[g+7]=F[k+7];e[g+8]=F[k+8];e[g+9]=F[k+9];e[g+10]=F[k+10];e[g+11]=F[k+11];e[g+12]=F[k+12];e[g+13]=F[k+13];e[g+14]=F[k+14];e[g+15]=F[k+15]}}else e=F.subarray(d>>2,d+64*b>>2);U.uniformMatrix4fv(S[a],!!c,e)},ib:function(a){U.useProgram(R[a])},hb:function(a){U.validateProgram(R[a])},gb:function(a,b){U.vertexAttrib1f(a,b)},fb:function(a,b){U.vertexAttrib1f(a,F[b>>2])},eb:function(a,b,c){U.vertexAttrib2f(a,b,c)},db:function(a,b){U.vertexAttrib2f(a,F[b>>2],F[b+4>>2])},cb:function(a, -b,c,d){U.vertexAttrib3f(a,b,c,d)},bb:function(a,b){U.vertexAttrib3f(a,F[b>>2],F[b+4>>2],F[b+8>>2])},ab:function(a,b,c,d,e){U.vertexAttrib4f(a,b,c,d,e)},$a:function(a,b){U.vertexAttrib4f(a,F[b>>2],F[b+4>>2],F[b+8>>2],F[b+12>>2])},Fd:function(a,b){U.vertexAttribDivisor(a,b)},_a:function(a,b,c,d,e,g){U.vertexAttribPointer(a,b,c,!!d,e,g)},Za:function(a,b,c,d){U.viewport(a,b,c,d)},ka:function(){return"undefined"!==typeof SharedArrayBuffer},G:function(){return tb|0},R:function(){return sb|0},f:function(a, -b){Y(a,b||1);throw"longjmp";},ja:function(a,b,c){Ka.copyWithin(a,b,b+c)},ma:function(a,b,c){Cd.length=b;c>>=3;for(var d=0;da?ob[-a-1]:le[a]).apply(null,Cd)},ra:function(){u("OOM")},na:function(a,b,c){return Fd(a)?Gd(a,b,c):Id(a,b,c)},Q:function(){},la:function(){},oa:function(a,b){var c={};b>>=2;c.alpha=!!D[b];c.depth=!!D[b+1];c.stencil=!!D[b+2];c.antialias=!!D[b+3];c.premultipliedAlpha=!!D[b+4];c.preserveDrawingBuffer=!!D[b+5];c.powerPreference=Jd[D[b+6]];c.failIfMajorPerformanceCaveat= -!!D[b+7];c.wi=D[b+8];c.pj=D[b+9];c.qh=D[b+10];c.hi=D[b+11];c.uj=D[b+12];c.vj=D[b+13];a=Fd(a);if(!a||c.hi)c=0;else if(a=a.getContext("webgl",c)){b=Oa(8);D[b+4>>2]=rb|0;var d={jj:b,attributes:c,version:c.wi,qg:a};a.canvas&&(a.canvas.rg=d);("undefined"===typeof c.qh||c.qh)&&md(d);c=b}else c=0;return c},sa:function(a,b){var c=0;Ld().forEach(function(d,e){var g=b+c;D[a+4*e>>2]=g;Ra(d,g);c+=d.length+1});return 0},ta:function(a,b){var c=Ld();D[a>>2]=c.length;var d=0;c.forEach(function(e){d+=e.length+1}); -D[b>>2]=d;return 0},D:function(a){da(a)},H:Nd,U:Od,xa:Pd,Va:Qd,M:Rd,B:Td,d:function(){return Aa|0},y:Ud,v:function(a,b,c,d,e,g,k){b=Pc(a,b);if(b.ef)return-6;a=b.port;var m=b.hf;b=!1;if(c&&d){var r;if(k&1||!(r=Lc(m))){if(k&8)return-2}else m=r;c=Ia(m,c,d);c+1>=d&&(b=!0)}e&&g&&(c=Ia(""+a,e,g),c+1>=g&&(b=!0));return b?-12:0},l:function(a){var b=Date.now();D[a>>2]=b/1E3|0;D[a+4>>2]=b%1E3*1E3|0;return 0},r:Jb,ia:function(){L.pi()},ba:oe,j:pe,h:qe,C:re,P:se,_:te,O:ue,Xa:ve,Wa:we,k:xe,w:ye,J:ze,g:Ae,N:Be, -Sa:Ce,Z:De,Ya:Ee,q:Ob,a:Ca||f.wasmMemory,T:function(a){Kb();var b=new Date(D[a+20>>2]+1900,D[a+16>>2],D[a+12>>2],D[a+8>>2],D[a+4>>2],D[a>>2],0),c=D[a+32>>2],d=b.getTimezoneOffset(),e=new Date(b.getFullYear(),0,1),g=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),k=e.getTimezoneOffset(),m=Math.min(k,g);0>c?D[a+32>>2]=Number(g!=k&&m==d):0>2]=b.getDay();D[a+28>>2]=(b.getTime()-e.getTime())/864E5|0;return b.getTime()/1E3| -0},Ra:function(a){if(a===L.Ph)return h("Main thread (id="+a+") cannot be canceled!"),71;if(!a)return h("pthread_cancel attempted on a null thread pointer!"),71;if(D[a+12>>2]!==a)return h("pthread_cancel attempted on thread "+a+", which does not point to a valid thread, or does not exist anymore!"),71;Atomics.compareExchange(E,a>>2,0,2);n?postMessage({cmd:"cancelThread",thread:a}):wb(a);return 0},S:function(a){var b=L.Dg.pop();a&&b()},L:function(a,b){L.Dg.push(function(){G.get(a)(b)})},n:function(a, -b,c,d){if("undefined"===typeof SharedArrayBuffer)return h("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;if(!a)return h("pthread_create called with a null thread pointer!"),28;var e=[];if(n&&0===e.length)return Fe(687865856,a,b,c,d);var g=0,k=0,m=0,r=0;if(b){var q=D[b>>2];q+=81920;g=D[b+8>>2];k=0!==D[b+12>>2];if(0===D[b+16>>2]){var t=D[b+20>>2],w=D[b+24>>2];m=b+20;r=b+24;var B=L.Mg?L.Mg:rb|0;if(m||r)if(B)if(D[B+12>>2]!==B)h("pthread_getschedparam attempted on thread "+ -B+", which does not point to a valid thread, or does not exist anymore!");else{var p=Atomics.load(E,B+128>>2);B=Atomics.load(E,B+132>>2);m&&(D[m>>2]=p);r&&(D[r>>2]=B)}else h("pthread_getschedparam called with a null thread pointer!");m=D[b+20>>2];r=D[b+24>>2];D[b+20>>2]=t;D[b+24>>2]=w}else m=D[b+20>>2],r=D[b+24>>2]}else q=2097152;(b=0==g)?g=wc(16,q):(g-=q,assert(0w;++w)E[(t>>2)+w]=0;D[a>>2]=t;D[t+12>>2]=t;a=t+156;D[a>>2]=a;c={Rf:g,cg:q,Kg:b,Ih:m,Jh:r,detached:k,Mi:c,$f:t, -Fi:rb|0,Tf:d,Vi:e};n?(c.$i="spawnThread",postMessage(c,e)):Db(c);return 0},o:function(a,b){return Yd(a,b)},i:Xd,e:function(a){Aa=a|0},E:function(){return 0},m:function(a,b,c,d){function e(p,x,z){for(p="number"===typeof p?p.toString():p||"";p.lengthV?-1:0=k(z,p)?0>=k(x,p)?p.getFullYear()+1:p.getFullYear():p.getFullYear()-1}var q=D[d+40>>2];d={Ti:D[d>>2],Si:D[d+4>> -2],Eg:D[d+8>>2],pg:D[d+12>>2],dg:D[d+16>>2],rf:D[d+20>>2],Fg:D[d+24>>2],Gg:D[d+28>>2],yj:D[d+32>>2],Ri:D[d+36>>2],Ui:q?A(q):""};c=A(c);q={"%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 t in q)c=c.replace(new RegExp(t,"g"),q[t]);var w="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),B="January February March April May June July August September October November December".split(" ");q={"%a":function(p){return w[p.Fg].substring(0,3)},"%A":function(p){return w[p.Fg]},"%b":function(p){return B[p.dg].substring(0,3)},"%B":function(p){return B[p.dg]},"%C":function(p){return g((p.rf+1900)/100|0,2)},"%d":function(p){return g(p.pg,2)},"%e":function(p){return e(p.pg, -2," ")},"%g":function(p){return r(p).toString().substring(2)},"%G":function(p){return r(p)},"%H":function(p){return g(p.Eg,2)},"%I":function(p){p=p.Eg;0==p?p=12:12p.Eg?"AM":"PM"},"%S":function(p){return g(p.Ti,2)},"%t":function(){return"\t"},"%u":function(p){return p.Fg|| -7},"%U":function(p){var x=new Date(p.rf+1900,0,1),z=0===x.getDay()?x:ce(x,7-x.getDay());p=new Date(p.rf+1900,p.dg,p.pg);return 0>k(z,p)?g(Math.ceil((31-z.getDate()+($d(Zd(p.getFullYear())?ae:be,p.getMonth()-1)-31)+p.getDate())/7),2):0===k(z,x)?"01":"00"},"%V":function(p){var x=new Date(p.rf+1901,0,4),z=m(new Date(p.rf+1900,0,4));x=m(x);var I=ce(new Date(p.rf+1900,0,1),p.Gg);return 0>k(I,z)?"53":0>=k(x,I)?"01":g(Math.ceil((z.getFullYear()k(z,p)?g(Math.ceil((31-z.getDate()+($d(Zd(p.getFullYear())?ae:be,p.getMonth()-1)-31)+p.getDate())/7),2):0===k(z,x)?"01":"00"},"%y":function(p){return(p.rf+1900).toString().substring(2)},"%Y":function(p){return p.rf+1900},"%z":function(p){p=p.Ri;var x=0<=p;p=Math.abs(p)/60;return(x?"+":"-")+String("0000"+(p/60*100+p%60)).slice(-4)},"%Z":function(p){return p.Ui}, -"%%":function(){return"%"}};for(t in q)0<=c.indexOf(t)&&(c=c.replace(new RegExp(t,"g"),q[t](d)));t=$b(c,!1);if(t.length>b)return 0;v.set(t,a);return t.length-1},x:de,s:function(a){var b=Date.now()/1E3|0;a&&(D[a>>2]=b);return b}}; -(function(){function a(e,g){f.asm=e.exports;G=f.asm.Sd;Da=g;n||hb()}function b(e){a(e.instance,e.module)}function c(e){return mb().then(function(g){return WebAssembly.instantiate(g,d)}).then(e,function(g){h("failed to asynchronously prepare wasm: "+g);u(g)})}var d={a:Ge};n||gb();if(f.instantiateWasm)try{return f.instantiateWasm(d,a)}catch(e){return h("Module.instantiateWasm callback failed with error: "+e),!1}(function(){return Ba||"function"!==typeof WebAssembly.instantiateStreaming||kb()||ib("file://")|| -"function"!==typeof fetch?c(b):fetch(jb,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(g){h("wasm streaming compile failed: "+g);h("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ba);return{}})(); -var me=f.___wasm_call_ctors=function(){return(me=f.___wasm_call_ctors=f.asm.Td).apply(null,arguments)},Bb=f._free=function(){return(Bb=f._free=f.asm.Ud).apply(null,arguments)},Oa=f._malloc=function(){return(Oa=f._malloc=f.asm.Vd).apply(null,arguments)},Gb=f.___errno_location=function(){return(Gb=f.___errno_location=f.asm.Wd).apply(null,arguments)};f._fflush=function(){return(f._fflush=f.asm.Xd).apply(null,arguments)}; -var wc=f._memalign=function(){return(wc=f._memalign=f.asm.Yd).apply(null,arguments)},Oc=f._ntohs=function(){return(Oc=f._ntohs=f.asm.Zd).apply(null,arguments)},Gc=f._htons=function(){return(Gc=f._htons=f.asm._d).apply(null,arguments)},ne=f._main=function(){return(ne=f._main=f.asm.$d).apply(null,arguments)},Wd=f._emscripten_get_global_libc=function(){return(Wd=f._emscripten_get_global_libc=f.asm.ae).apply(null,arguments)}; -f.___em_js__initPthreadsJS=function(){return(f.___em_js__initPthreadsJS=f.asm.be).apply(null,arguments)}; -var Vd=f._htonl=function(){return(Vd=f._htonl=f.asm.ce).apply(null,arguments)},rc=f._memset=function(){return(rc=f._memset=f.asm.de).apply(null,arguments)},Nb=f.__get_tzname=function(){return(Nb=f.__get_tzname=f.asm.ee).apply(null,arguments)},Mb=f.__get_daylight=function(){return(Mb=f.__get_daylight=f.asm.fe).apply(null,arguments)},Lb=f.__get_timezone=function(){return(Lb=f.__get_timezone=f.asm.ge).apply(null,arguments)},y=f.stackSave=function(){return(y=f.stackSave=f.asm.he).apply(null,arguments)}, -C=f.stackRestore=function(){return(C=f.stackRestore=f.asm.ie).apply(null,arguments)},Ha=f.stackAlloc=function(){return(Ha=f.stackAlloc=f.asm.je).apply(null,arguments)},Y=f._setThrew=function(){return(Y=f._setThrew=f.asm.ke).apply(null,arguments)};f._emscripten_main_browser_thread_id=function(){return(f._emscripten_main_browser_thread_id=f.asm.le).apply(null,arguments)}; -var Ab=f.___pthread_tsd_run_dtors=function(){return(Ab=f.___pthread_tsd_run_dtors=f.asm.me).apply(null,arguments)},Cb=f._emscripten_main_thread_process_queued_calls=function(){return(Cb=f._emscripten_main_thread_process_queued_calls=f.asm.ne).apply(null,arguments)};f._emscripten_current_thread_process_queued_calls=function(){return(f._emscripten_current_thread_process_queued_calls=f.asm.oe).apply(null,arguments)}; -var yb=f._emscripten_register_main_browser_thread_id=function(){return(yb=f._emscripten_register_main_browser_thread_id=f.asm.pe).apply(null,arguments)},nb=f._do_emscripten_dispatch_to_thread=function(){return(nb=f._do_emscripten_dispatch_to_thread=f.asm.qe).apply(null,arguments)};f._emscripten_async_run_in_main_thread=function(){return(f._emscripten_async_run_in_main_thread=f.asm.re).apply(null,arguments)}; -f._emscripten_sync_run_in_main_thread=function(){return(f._emscripten_sync_run_in_main_thread=f.asm.se).apply(null,arguments)};f._emscripten_sync_run_in_main_thread_0=function(){return(f._emscripten_sync_run_in_main_thread_0=f.asm.te).apply(null,arguments)};f._emscripten_sync_run_in_main_thread_1=function(){return(f._emscripten_sync_run_in_main_thread_1=f.asm.ue).apply(null,arguments)}; -f._emscripten_sync_run_in_main_thread_2=function(){return(f._emscripten_sync_run_in_main_thread_2=f.asm.ve).apply(null,arguments)};f._emscripten_sync_run_in_main_thread_xprintf_varargs=function(){return(f._emscripten_sync_run_in_main_thread_xprintf_varargs=f.asm.we).apply(null,arguments)};f._emscripten_sync_run_in_main_thread_3=function(){return(f._emscripten_sync_run_in_main_thread_3=f.asm.xe).apply(null,arguments)}; -var Fe=f._emscripten_sync_run_in_main_thread_4=function(){return(Fe=f._emscripten_sync_run_in_main_thread_4=f.asm.ye).apply(null,arguments)};f._emscripten_sync_run_in_main_thread_5=function(){return(f._emscripten_sync_run_in_main_thread_5=f.asm.ze).apply(null,arguments)};f._emscripten_sync_run_in_main_thread_6=function(){return(f._emscripten_sync_run_in_main_thread_6=f.asm.Ae).apply(null,arguments)}; -f._emscripten_sync_run_in_main_thread_7=function(){return(f._emscripten_sync_run_in_main_thread_7=f.asm.Be).apply(null,arguments)};var Bd=f._emscripten_run_in_main_runtime_thread_js=function(){return(Bd=f._emscripten_run_in_main_runtime_thread_js=f.asm.Ce).apply(null,arguments)},Hd=f.__emscripten_call_on_thread=function(){return(Hd=f.__emscripten_call_on_thread=f.asm.De).apply(null,arguments)};f._proxy_main=function(){return(f._proxy_main=f.asm.Ee).apply(null,arguments)}; -f._emscripten_tls_init=function(){return(f._emscripten_tls_init=f.asm.Fe).apply(null,arguments)};f.dynCall_ijiii=function(){return(f.dynCall_ijiii=f.asm.Ge).apply(null,arguments)};var He=f.dynCall_vijjjid=function(){return(He=f.dynCall_vijjjid=f.asm.He).apply(null,arguments)},Ie=f.dynCall_iiiijj=function(){return(Ie=f.dynCall_iiiijj=f.asm.Ie).apply(null,arguments)};f.dynCall_iiijiii=function(){return(f.dynCall_iiijiii=f.asm.Je).apply(null,arguments)}; -f.dynCall_jiiii=function(){return(f.dynCall_jiiii=f.asm.Ke).apply(null,arguments)};f.dynCall_jii=function(){return(f.dynCall_jii=f.asm.Le).apply(null,arguments)};var Je=f.dynCall_iij=function(){return(Je=f.dynCall_iij=f.asm.Me).apply(null,arguments)};f.dynCall_viiijj=function(){return(f.dynCall_viiijj=f.asm.Ne).apply(null,arguments)};f.dynCall_jij=function(){return(f.dynCall_jij=f.asm.Oe).apply(null,arguments)};f.dynCall_jiji=function(){return(f.dynCall_jiji=f.asm.Pe).apply(null,arguments)}; -f.dynCall_iiiji=function(){return(f.dynCall_iiiji=f.asm.Qe).apply(null,arguments)};f.dynCall_iiiiij=function(){return(f.dynCall_iiiiij=f.asm.Re).apply(null,arguments)};f.dynCall_jiiij=function(){return(f.dynCall_jiiij=f.asm.Se).apply(null,arguments)};f.dynCall_iiijjji=function(){return(f.dynCall_iiijjji=f.asm.Te).apply(null,arguments)};f.dynCall_iiiiiij=function(){return(f.dynCall_iiiiiij=f.asm.Ue).apply(null,arguments)};f.dynCall_jiiji=function(){return(f.dynCall_jiiji=f.asm.Ve).apply(null,arguments)}; -f.dynCall_viiiiijji=function(){return(f.dynCall_viiiiijji=f.asm.We).apply(null,arguments)};f.dynCall_viiiji=function(){return(f.dynCall_viiiji=f.asm.Xe).apply(null,arguments)};f.dynCall_viiiiji=function(){return(f.dynCall_viiiiji=f.asm.Ye).apply(null,arguments)};f.dynCall_jiiiii=function(){return(f.dynCall_jiiiii=f.asm.Ze).apply(null,arguments)};f.dynCall_jiii=function(){return(f.dynCall_jiii=f.asm._e).apply(null,arguments)}; -f.dynCall_jiiiiii=function(){return(f.dynCall_jiiiiii=f.asm.$e).apply(null,arguments)};f._ff_h264_cabac_tables=2116006;var zb=f._main_thread_futex=17189696;function qe(a,b,c){var d=y();try{return G.get(a)(b,c)}catch(e){C(d);if(e!==e+0&&"longjmp"!==e)throw e;Y(1,0)}}function xe(a,b){var c=y();try{G.get(a)(b)}catch(d){C(c);if(d!==d+0&&"longjmp"!==d)throw d;Y(1,0)}}function Ae(a,b,c,d,e){var g=y();try{G.get(a)(b,c,d,e)}catch(k){C(g);if(k!==k+0&&"longjmp"!==k)throw k;Y(1,0)}} -function ye(a,b,c){var d=y();try{G.get(a)(b,c)}catch(e){C(d);if(e!==e+0&&"longjmp"!==e)throw e;Y(1,0)}}function pe(a,b){var c=y();try{return G.get(a)(b)}catch(d){C(c);if(d!==d+0&&"longjmp"!==d)throw d;Y(1,0)}}function se(a,b,c,d,e){var g=y();try{return G.get(a)(b,c,d,e)}catch(k){C(g);if(k!==k+0&&"longjmp"!==k)throw k;Y(1,0)}}function ue(a,b,c,d,e,g,k,m,r){var q=y();try{return G.get(a)(b,c,d,e,g,k,m,r)}catch(t){C(q);if(t!==t+0&&"longjmp"!==t)throw t;Y(1,0)}} -function ze(a,b,c,d){var e=y();try{G.get(a)(b,c,d)}catch(g){C(e);if(g!==g+0&&"longjmp"!==g)throw g;Y(1,0)}}function oe(a){var b=y();try{return G.get(a)()}catch(c){C(b);if(c!==c+0&&"longjmp"!==c)throw c;Y(1,0)}}function Be(a,b,c,d,e,g){var k=y();try{G.get(a)(b,c,d,e,g)}catch(m){C(k);if(m!==m+0&&"longjmp"!==m)throw m;Y(1,0)}}function re(a,b,c,d){var e=y();try{return G.get(a)(b,c,d)}catch(g){C(e);if(g!==g+0&&"longjmp"!==g)throw g;Y(1,0)}} -function te(a,b,c,d,e,g){var k=y();try{return G.get(a)(b,c,d,e,g)}catch(m){C(k);if(m!==m+0&&"longjmp"!==m)throw m;Y(1,0)}}function De(a,b,c,d,e,g,k,m,r){var q=y();try{G.get(a)(b,c,d,e,g,k,m,r)}catch(t){C(q);if(t!==t+0&&"longjmp"!==t)throw t;Y(1,0)}}function Ce(a,b,c,d,e,g,k){var m=y();try{G.get(a)(b,c,d,e,g,k)}catch(r){C(m);if(r!==r+0&&"longjmp"!==r)throw r;Y(1,0)}}function Ee(a,b,c,d,e,g,k,m,r,q){var t=y();try{He(a,b,c,d,e,g,k,m,r,q)}catch(w){C(t);if(w!==w+0&&"longjmp"!==w)throw w;Y(1,0)}} -function ve(a,b,c,d,e,g,k,m){var r=y();try{return Ie(a,b,c,d,e,g,k,m)}catch(q){C(r);if(q!==q+0&&"longjmp"!==q)throw q;Y(1,0)}}function we(a,b,c,d){var e=y();try{return Je(a,b,c,d)}catch(g){C(e);if(g!==g+0&&"longjmp"!==g)throw g;Y(1,0)}}f.ccall=Ga;f.cwrap=function(a,b,c,d){c=c||[];var e=c.every(function(g){return"number"===g});return"string"!==b&&e&&!d?Fa(a):function(){return Ga(a,b,c,arguments,d)}}; -f.setValue=function(a,b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":v[a>>0]=b;break;case "i8":v[a>>0]=b;break;case "i16":Sa[a>>1]=b;break;case "i32":D[a>>2]=b;break;case "i64":J=[b>>>0,(H=b,1<=+Math.abs(H)?0>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)];D[a>>2]=J[0];D[a+4>>2]=J[1];break;case "float":F[a>>2]=b;break;case "double":Ua[a>>3]=b;break;default:u("invalid type for setValue: "+c)}};f.UTF8ToString=A; -f.stringToUTF8=Ia;f.lengthBytesUTF8=Ma;f.writeAsciiToMemory=Ra;f.FS=N;f.PThread=L;f.PThread=L;f._pthread_self=Xd;f.wasmMemory=Ca;f.ExitStatus=ca;var Ke;function ca(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}eb=function Le(){Ke||Me();Ke||(eb=Le)}; -function Me(a){function b(){if(!Ke&&(Ke=!0,f.calledRun=!0,!Ea)){f.noFSInit||N.gg.Tg||N.gg();Q.root=N.jf(Q,{},null);pb(Ya);n||(N.Bh=!1,pb(Za));aa(f);if(f.onRuntimeInitialized)f.onRuntimeInitialized();if(Ne){var c=a;c=c||[];var d=c.length+1,e=Ha(4*(d+1));D[e>>2]=Pa(ka);for(var g=1;g>2)+g]=Pa(c[g-1]);D[(e>>2)+d]=0;f._proxy_main(d,e)}if(!n){if(f.postRun)for("function"==typeof f.postRun&&(f.postRun=[f.postRun]);f.postRun.length;)c=f.postRun.shift(),ab.unshift(c);pb(ab)}}}a=a||ja;if(!(0 - - - - - - - -

Select multiple video files to Concatenate

-
- -

- - - diff --git a/new_test/ffmpeg.dev.js b/new_test/ffmpeg.dev.js deleted file mode 100644 index 9bc56e0..0000000 --- a/new_test/ffmpeg.dev.js +++ /dev/null @@ -1,409 +0,0 @@ -/* - * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). - * This devtool is not neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define([], factory); - else if(typeof exports === 'object') - exports["FFmpeg"] = factory(); - else - root["FFmpeg"] = factory(); -})(self, function() { -return /******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./node_modules/@ffmpeg/core/dist/ffmpeg-core.js": -/*!*******************************************************!*\ - !*** ./node_modules/@ffmpeg/core/dist/ffmpeg-core.js ***! - \*******************************************************/ -/*! default exports */ -/*! exports [not provided] [no usage info] */ -/*! runtime requirements: module, __webpack_require__.p, __webpack_require__.* */ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; -eval("module.exports = __webpack_require__.p + \"2de34c4e54918508de9f.js\";\n\n//# sourceURL=webpack://FFmpeg/./node_modules/@ffmpeg/core/dist/ffmpeg-core.js?"); - -/***/ }), - -/***/ "./src/browser/defaultOptions.js": -/*!***************************************!*\ - !*** ./src/browser/defaultOptions.js ***! - \***************************************/ -/*! namespace exports */ -/*! export default [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! runtime requirements: __webpack_require__, __webpack_require__.b, __webpack_exports__, __webpack_require__.r, __webpack_require__.d, __webpack_require__.* */ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => __WEBPACK_DEFAULT_EXPORT__\n/* harmony export */ });\n/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../package.json */ \"./package.json\");\n\n/*\n * Default options for browser environment\n */\n\nvar corePath = typeof process !== 'undefined' && \"development\" === 'development' ? new URL(/* asset import */ __webpack_require__(/*! ../../../../../../node_modules/@ffmpeg/core/dist/ffmpeg-core.js */ \"./node_modules/@ffmpeg/core/dist/ffmpeg-core.js\"), __webpack_require__.b).href : \"https://unpkg.com/@ffmpeg/core@\".concat(_package_json__WEBPACK_IMPORTED_MODULE_0__.devDependencies[\"@ffmpeg/core\"].substring(1), \"/dist/ffmpeg-core.js\");\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n corePath: corePath\n});\n\n//# sourceURL=webpack://FFmpeg/./src/browser/defaultOptions.js?"); - -/***/ }), - -/***/ "./src/browser/fetchFile.js": -/*!**********************************!*\ - !*** ./src/browser/fetchFile.js ***! - \**********************************/ -/*! namespace exports */ -/*! export fetchFile [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"fetchFile\": () => /* binding */ fetchFile\n/* harmony export */ });\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar readFromBlobOrFile = function readFromBlobOrFile(blob) {\n return new Promise(function (resolve, reject) {\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n resolve(fileReader.result);\n };\n\n fileReader.onerror = function (_ref) {\n var code = _ref.target.error.code;\n reject(Error(\"File could not be read! Code=\".concat(code)));\n };\n\n fileReader.readAsArrayBuffer(blob);\n });\n}; // eslint-disable-next-line\n\n\nvar fetchFile = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_data) {\n var data, res;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n data = _data;\n\n if (!(typeof _data === 'undefined')) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", new Uint8Array());\n\n case 3:\n if (!(typeof _data === 'string')) {\n _context.next = 16;\n break;\n }\n\n if (!/data:_data\\/([a-zA-Z]*);base64,([^\"]*)/.test(_data)) {\n _context.next = 8;\n break;\n }\n\n data = atob(_data.split(',')[1]).split('').map(function (c) {\n return c.charCodeAt(0);\n });\n /* From remote server/URL */\n\n _context.next = 14;\n break;\n\n case 8:\n _context.next = 10;\n return fetch(new URL(_data, \"file:///C:/Users/User/Desktop/ffmpeg.wasm-master/ffmpeg.wasm-master/src/browser/fetchFile.js\").href);\n\n case 10:\n res = _context.sent;\n _context.next = 13;\n return res.arrayBuffer();\n\n case 13:\n data = _context.sent;\n\n case 14:\n _context.next = 20;\n break;\n\n case 16:\n if (!(_data instanceof File || _data instanceof Blob)) {\n _context.next = 20;\n break;\n }\n\n _context.next = 19;\n return readFromBlobOrFile(_data);\n\n case 19:\n data = _context.sent;\n\n case 20:\n return _context.abrupt(\"return\", new Uint8Array(data));\n\n case 21:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function fetchFile(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\n//# sourceURL=webpack://FFmpeg/./src/browser/fetchFile.js?"); - -/***/ }), - -/***/ "./src/browser/getCreateFFmpegCore.js": -/*!********************************************!*\ - !*** ./src/browser/getCreateFFmpegCore.js ***! - \********************************************/ -/*! namespace exports */ -/*! export getCreateFFmpegCore [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! runtime requirements: __webpack_require__, __webpack_require__.n, __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getCreateFFmpegCore\": () => /* binding */ getCreateFFmpegCore\n/* harmony export */ });\n/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/log */ \"./src/utils/log.js\");\n/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_utils_log__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/errors */ \"./src/utils/errors.js\");\n/* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_utils_errors__WEBPACK_IMPORTED_MODULE_1__);\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n/* eslint-disable no-undef */\n\n\n/*\n * Fetch data from remote URL and convert to blob URL\n * to avoid CORS issue\n */\n\nvar toBlobURL = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(url, mimeType) {\n var buf, blob, blobURL;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n (0,_utils_log__WEBPACK_IMPORTED_MODULE_0__.log)('info', \"fetch \".concat(url));\n _context.next = 3;\n return fetch(url);\n\n case 3:\n _context.next = 5;\n return _context.sent.arrayBuffer();\n\n case 5:\n buf = _context.sent;\n (0,_utils_log__WEBPACK_IMPORTED_MODULE_0__.log)('info', \"\".concat(url, \" file size = \").concat(buf.byteLength, \" bytes\"));\n blob = new Blob([buf], {\n type: mimeType\n });\n blobURL = URL.createObjectURL(blob);\n (0,_utils_log__WEBPACK_IMPORTED_MODULE_0__.log)('info', \"\".concat(url, \" blob URL = \").concat(blobURL));\n return _context.abrupt(\"return\", blobURL);\n\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function toBlobURL(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}(); // eslint-disable-next-line\n\n\nvar getCreateFFmpegCore = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(_ref2) {\n var _corePath, _workerPath, _wasmPath, _coreRemotePath, _corePath2, _wasmPath2, _workerPath2, coreRemotePath, corePath, wasmPath, workerPath;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _corePath = _ref2.corePath, _workerPath = _ref2.workerPath, _wasmPath = _ref2.wasmPath;\n\n if (!(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)) {\n _context2.next = 18;\n break;\n }\n\n if (!(typeof _corePath !== 'string')) {\n _context2.next = 4;\n break;\n }\n\n throw Error('corePath should be a string!');\n\n case 4:\n _coreRemotePath = new URL(_corePath, \"file:///C:/Users/User/Desktop/ffmpeg.wasm-master/ffmpeg.wasm-master/src/browser/getCreateFFmpegCore.js\").href;\n _context2.next = 7;\n return toBlobURL(_coreRemotePath, 'application/javascript');\n\n case 7:\n _corePath2 = _context2.sent;\n _context2.next = 10;\n return toBlobURL(_wasmPath !== undefined ? _wasmPath : _coreRemotePath.replace('ffmpeg-core.js', 'ffmpeg-core.wasm'), 'application/wasm');\n\n case 10:\n _wasmPath2 = _context2.sent;\n _context2.next = 13;\n return toBlobURL(_workerPath !== undefined ? _workerPath : _coreRemotePath.replace('ffmpeg-core.js', 'ffmpeg-core.worker.js'), 'application/javascript');\n\n case 13:\n _workerPath2 = _context2.sent;\n\n if (!(typeof createFFmpegCore === 'undefined')) {\n _context2.next = 16;\n break;\n }\n\n return _context2.abrupt(\"return\", new Promise(function (resolve) {\n globalThis.importScripts(_corePath2);\n\n if (typeof createFFmpegCore === 'undefined') {\n throw Error((0,_utils_errors__WEBPACK_IMPORTED_MODULE_1__.CREATE_FFMPEG_CORE_IS_NOT_DEFINED)(_coreRemotePath));\n }\n\n (0,_utils_log__WEBPACK_IMPORTED_MODULE_0__.log)('info', 'ffmpeg-core.js script loaded');\n resolve({\n createFFmpegCore: createFFmpegCore,\n corePath: _corePath2,\n wasmPath: _wasmPath2,\n workerPath: _workerPath2\n });\n }));\n\n case 16:\n (0,_utils_log__WEBPACK_IMPORTED_MODULE_0__.log)('info', 'ffmpeg-core.js script is loaded already');\n return _context2.abrupt(\"return\", Promise.resolve({\n createFFmpegCore: createFFmpegCore,\n corePath: _corePath2,\n wasmPath: _wasmPath2,\n workerPath: _workerPath2\n }));\n\n case 18:\n if (!(typeof _corePath !== 'string')) {\n _context2.next = 20;\n break;\n }\n\n throw Error('corePath should be a string!');\n\n case 20:\n coreRemotePath = new URL(_corePath, \"file:///C:/Users/User/Desktop/ffmpeg.wasm-master/ffmpeg.wasm-master/src/browser/getCreateFFmpegCore.js\").href;\n _context2.next = 23;\n return toBlobURL(coreRemotePath, 'application/javascript');\n\n case 23:\n corePath = _context2.sent;\n _context2.next = 26;\n return toBlobURL(coreRemotePath.replace('ffmpeg-core.js', 'ffmpeg-core.wasm'), 'application/wasm');\n\n case 26:\n wasmPath = _context2.sent;\n _context2.next = 29;\n return toBlobURL(coreRemotePath.replace('ffmpeg-core.js', 'ffmpeg-core.worker.js'), 'application/javascript');\n\n case 29:\n workerPath = _context2.sent;\n\n if (!(typeof createFFmpegCore === 'undefined')) {\n _context2.next = 32;\n break;\n }\n\n return _context2.abrupt(\"return\", new Promise(function (resolve) {\n var script = document.createElement('script');\n\n var eventHandler = function eventHandler() {\n script.removeEventListener('load', eventHandler);\n\n if (typeof createFFmpegCore === 'undefined') {\n throw Error((0,_utils_errors__WEBPACK_IMPORTED_MODULE_1__.CREATE_FFMPEG_CORE_IS_NOT_DEFINED)(coreRemotePath));\n }\n\n (0,_utils_log__WEBPACK_IMPORTED_MODULE_0__.log)('info', 'ffmpeg-core.js script loaded');\n resolve({\n createFFmpegCore: createFFmpegCore,\n corePath: corePath,\n wasmPath: wasmPath,\n workerPath: workerPath\n });\n };\n\n script.src = corePath;\n script.type = 'text/javascript';\n script.addEventListener('load', eventHandler);\n document.getElementsByTagName('head')[0].appendChild(script);\n }));\n\n case 32:\n (0,_utils_log__WEBPACK_IMPORTED_MODULE_0__.log)('info', 'ffmpeg-core.js script is loaded already');\n return _context2.abrupt(\"return\", Promise.resolve({\n createFFmpegCore: createFFmpegCore,\n corePath: corePath,\n wasmPath: wasmPath,\n workerPath: workerPath\n }));\n\n case 34:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function getCreateFFmpegCore(_x3) {\n return _ref3.apply(this, arguments);\n };\n}();\n\n//# sourceURL=webpack://FFmpeg/./src/browser/getCreateFFmpegCore.js?"); - -/***/ }), - -/***/ "./src/browser/index.js": -/*!******************************!*\ - !*** ./src/browser/index.js ***! - \******************************/ -/*! namespace exports */ -/*! export defaultOptions [provided] [no usage info] [missing usage info prevents renaming] -> ./src/browser/defaultOptions.js .default */ -/*! export fetchFile [provided] [no usage info] [missing usage info prevents renaming] -> ./src/browser/fetchFile.js .fetchFile */ -/*! export getCreateFFmpegCore [provided] [no usage info] [missing usage info prevents renaming] -> ./src/browser/getCreateFFmpegCore.js .getCreateFFmpegCore */ -/*! other exports [not provided] [no usage info] */ -/*! runtime requirements: __webpack_require__, __webpack_exports__, __webpack_require__.d, __webpack_require__.r, __webpack_require__.* */ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"defaultOptions\": () => /* reexport safe */ _defaultOptions__WEBPACK_IMPORTED_MODULE_0__.default,\n/* harmony export */ \"getCreateFFmpegCore\": () => /* reexport safe */ _getCreateFFmpegCore__WEBPACK_IMPORTED_MODULE_1__.getCreateFFmpegCore,\n/* harmony export */ \"fetchFile\": () => /* reexport safe */ _fetchFile__WEBPACK_IMPORTED_MODULE_2__.fetchFile\n/* harmony export */ });\n/* harmony import */ var _defaultOptions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defaultOptions */ \"./src/browser/defaultOptions.js\");\n/* harmony import */ var _getCreateFFmpegCore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getCreateFFmpegCore */ \"./src/browser/getCreateFFmpegCore.js\");\n/* harmony import */ var _fetchFile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fetchFile */ \"./src/browser/fetchFile.js\");\n\n\n\n\n\n//# sourceURL=webpack://FFmpeg/./src/browser/index.js?"); - -/***/ }), - -/***/ "./src/config.js": -/*!***********************!*\ - !*** ./src/config.js ***! - \***********************/ -/*! unknown exports (runtime-defined) */ -/*! runtime requirements: module */ -/*! CommonJS bailout: module.exports is used directly at 1:0-14 */ -/***/ ((module) => { - -eval("module.exports = {\n defaultArgs: [\n /* args[0] is always the binary path */\n './ffmpeg',\n /* Disable interaction mode */\n '-nostdin',\n /* Force to override output file */\n '-y'],\n baseOptions: {\n /* Flag to turn on/off log messages in console */\n log: false,\n\n /*\n * Custom logger to get ffmpeg.wasm output messages.\n * a sample logger looks like this:\n *\n * ```\n * logger = ({ type, message }) => {\n * console.log(type, message);\n * }\n * ```\n *\n * type can be one of following:\n *\n * info: internal workflow debug messages\n * fferr: ffmpeg native stderr output\n * ffout: ffmpeg native stdout output\n */\n logger: function logger() {},\n\n /*\n * Progress handler to get current progress of ffmpeg command.\n * a sample progress handler looks like this:\n *\n * ```\n * progress = ({ ratio }) => {\n * console.log(ratio);\n * }\n * ```\n *\n * ratio is a float number between 0 to 1.\n */\n progress: function progress() {},\n\n /*\n * Path to find/download ffmpeg.wasm-core,\n * this value should be overwriten by `defaultOptions` in\n * each environment.\n */\n corePath: ''\n }\n};\n\n//# sourceURL=webpack://FFmpeg/./src/config.js?"); - -/***/ }), - -/***/ "./src/createFFmpeg.js": -/*!*****************************!*\ - !*** ./src/createFFmpeg.js ***! - \*****************************/ -/*! unknown exports (runtime-defined) */ -/*! runtime requirements: module, __webpack_require__ */ -/*! CommonJS bailout: module.exports is used directly at 50:0-14 */ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nvar _require = __webpack_require__(/*! ./config */ \"./src/config.js\"),\n defaultArgs = _require.defaultArgs,\n baseOptions = _require.baseOptions;\n\nvar parseArgs = __webpack_require__(/*! ./utils/parseArgs */ \"./src/utils/parseArgs.js\");\n\nvar _require2 = __webpack_require__(/*! ./node */ \"./src/browser/index.js\"),\n defaultOptions = _require2.defaultOptions,\n getCreateFFmpegCore = _require2.getCreateFFmpegCore;\n\nvar _require3 = __webpack_require__(/*! ../package.json */ \"./package.json\"),\n version = _require3.version;\n\nvar NO_LOAD = Error('ffmpeg.wasm is not ready, make sure you have completed load().');\n\nmodule.exports = function () {\n var _options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _baseOptions$defaultO = _objectSpread(_objectSpread(_objectSpread({}, baseOptions), defaultOptions), _options),\n optLog = _baseOptions$defaultO.log,\n logger = _baseOptions$defaultO.logger,\n optProgress = _baseOptions$defaultO.progress,\n options = _objectWithoutProperties(_baseOptions$defaultO, [\"log\", \"logger\", \"progress\"]);\n\n var Core = null;\n var ffmpeg = null;\n var runResolve = null;\n var runReject = null;\n var running = false;\n\n var customLogger = function customLogger() {};\n\n var logging = optLog;\n var progress = optProgress;\n var duration = 0;\n var frames = 0;\n var readFrames = false;\n var ratio = 0;\n\n var detectCompletion = function detectCompletion(message) {\n if (message === 'FFMPEG_END' && runResolve !== null) {\n runResolve();\n runResolve = null;\n runReject = null;\n running = false;\n }\n };\n\n var log = function log(type, message) {\n customLogger({\n type: type,\n message: message\n });\n\n if (logging) {\n console.log(\"[\".concat(type, \"] \").concat(message));\n }\n };\n\n var ts2sec = function ts2sec(ts) {\n var _ts$split = ts.split(':'),\n _ts$split2 = _slicedToArray(_ts$split, 3),\n h = _ts$split2[0],\n m = _ts$split2[1],\n s = _ts$split2[2];\n\n return parseFloat(h) * 60 * 60 + parseFloat(m) * 60 + parseFloat(s);\n };\n\n var parseProgress = function parseProgress(message, prog) {\n if (typeof message === 'string') {\n if (message.startsWith(' Duration')) {\n var ts = message.split(', ')[0].split(': ')[1];\n var d = ts2sec(ts);\n prog({\n duration: d,\n ratio: ratio\n });\n\n if (duration === 0 || duration > d) {\n duration = d;\n readFrames = true;\n }\n } else if (readFrames && message.startsWith(' Stream')) {\n var match = message.match(/([\\d.]+) fps/);\n\n if (match) {\n var fps = parseFloat(match[1]);\n frames = duration * fps;\n } else {\n frames = 0;\n }\n\n readFrames = false;\n } else if (message.startsWith('frame') || message.startsWith('size')) {\n var _ts = message.split('time=')[1].split(' ')[0];\n var t = ts2sec(_ts);\n\n var _match = message.match(/frame=\\s*(\\d+)/);\n\n if (frames && _match) {\n var f = parseFloat(_match[1]);\n ratio = Math.min(f / frames, 1);\n } else {\n ratio = t / duration;\n }\n\n prog({\n ratio: ratio,\n time: t\n });\n } else if (message.startsWith('video:')) {\n prog({\n ratio: 1\n });\n duration = 0;\n }\n }\n };\n\n var parseMessage = function parseMessage(_ref) {\n var type = _ref.type,\n message = _ref.message;\n log(type, message);\n parseProgress(message, progress);\n detectCompletion(message);\n };\n /*\n * Load ffmpeg.wasm-core script.\n * In browser environment, the ffmpeg.wasm-core script is fetch from\n * CDN and can be assign to a local path by assigning `corePath`.\n * In node environment, we use dynamic require and the default `corePath`\n * is `$ffmpeg/core`.\n *\n * Typically the load() func might take few seconds to minutes to complete,\n * better to do it as early as possible.\n *\n */\n\n\n var load = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _yield$getCreateFFmpe, createFFmpegCore, corePath, workerPath, wasmPath;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n log('info', 'load ffmpeg-core');\n\n if (!(Core === null)) {\n _context.next = 17;\n break;\n }\n\n log('info', 'loading ffmpeg-core');\n /*\n * In node environment, all paths are undefined as there\n * is no need to set them.\n */\n\n _context.next = 5;\n return getCreateFFmpegCore(options);\n\n case 5:\n _yield$getCreateFFmpe = _context.sent;\n createFFmpegCore = _yield$getCreateFFmpe.createFFmpegCore;\n corePath = _yield$getCreateFFmpe.corePath;\n workerPath = _yield$getCreateFFmpe.workerPath;\n wasmPath = _yield$getCreateFFmpe.wasmPath;\n _context.next = 12;\n return createFFmpegCore({\n /*\n * Assign mainScriptUrlOrBlob fixes chrome extension web worker issue\n * as there is no document.currentScript in the context of content_scripts\n */\n mainScriptUrlOrBlob: corePath,\n printErr: function printErr(message) {\n return parseMessage({\n type: 'fferr',\n message: message\n });\n },\n print: function print(message) {\n return parseMessage({\n type: 'ffout',\n message: message\n });\n },\n\n /*\n * locateFile overrides paths of files that is loaded by main script (ffmpeg-core.js).\n * It is critical for browser environment and we override both wasm and worker paths\n * as we are using blob URL instead of original URL to avoid cross origin issues.\n */\n locateFile: function locateFile(path, prefix) {\n if (typeof window !== 'undefined' || typeof WorkerGlobalScope !== 'undefined') {\n if (typeof wasmPath !== 'undefined' && path.endsWith('ffmpeg-core.wasm')) {\n return wasmPath;\n }\n\n if (typeof workerPath !== 'undefined' && path.endsWith('ffmpeg-core.worker.js')) {\n return workerPath;\n }\n }\n\n return prefix + path;\n }\n });\n\n case 12:\n Core = _context.sent;\n ffmpeg = Core.cwrap(options.mainName || 'proxy_main', 'number', ['number', 'number']);\n log('info', 'ffmpeg-core loaded');\n _context.next = 18;\n break;\n\n case 17:\n throw Error('ffmpeg.wasm was loaded, you should not load it again, use ffmpeg.isLoaded() to check next time.');\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function load() {\n return _ref2.apply(this, arguments);\n };\n }();\n /*\n * Determine whether the Core is loaded.\n */\n\n\n var isLoaded = function isLoaded() {\n return Core !== null;\n };\n /*\n * Run ffmpeg command.\n * This is the major function in ffmpeg.wasm, you can just imagine it\n * as ffmpeg native cli and what you need to pass is the same.\n *\n * For example, you can convert native command below:\n *\n * ```\n * $ ffmpeg -i video.avi -c:v libx264 video.mp4\n * ```\n *\n * To\n *\n * ```\n * await ffmpeg.run('-i', 'video.avi', '-c:v', 'libx264', 'video.mp4');\n * ```\n *\n */\n\n\n var run = function run() {\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n log('info', \"run ffmpeg command: \".concat(_args.join(' ')));\n\n if (Core === null) {\n throw NO_LOAD;\n } else if (running) {\n throw Error('ffmpeg.wasm can only run one command at a time');\n } else {\n running = true;\n return new Promise(function (resolve, reject) {\n var args = [].concat(_toConsumableArray(defaultArgs), _args).filter(function (s) {\n return s.length !== 0;\n });\n runResolve = resolve;\n runReject = reject;\n ffmpeg.apply(void 0, _toConsumableArray(parseArgs(Core, args)));\n });\n }\n };\n /*\n * Run FS operations.\n * For input/output file of ffmpeg.wasm, it is required to save them to MEMFS\n * first so that ffmpeg.wasm is able to consume them. Here we rely on the FS\n * methods provided by Emscripten.\n *\n * Common methods to use are:\n * ffmpeg.FS('writeFile', 'video.avi', new Uint8Array(...)): writeFile writes\n * data to MEMFS. You need to use Uint8Array for binary data.\n * ffmpeg.FS('readFile', 'video.mp4'): readFile from MEMFS.\n * ffmpeg.FS('unlink', 'video.map'): delete file from MEMFS.\n *\n * For more info, check https://emscripten.org/docs/api_reference/Filesystem-API.html\n *\n */\n\n\n var FS = function FS(method) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n log('info', \"run FS.\".concat(method, \" \").concat(args.map(function (arg) {\n return typeof arg === 'string' ? arg : \"<\".concat(arg.length, \" bytes binary file>\");\n }).join(' ')));\n\n if (Core === null) {\n throw NO_LOAD;\n } else {\n var ret = null;\n\n try {\n var _Core$FS;\n\n ret = (_Core$FS = Core.FS)[method].apply(_Core$FS, args);\n } catch (e) {\n if (method === 'readdir') {\n throw Error(\"ffmpeg.FS('readdir', '\".concat(args[0], \"') error. Check if the path exists, ex: ffmpeg.FS('readdir', '/')\"));\n } else if (method === 'readFile') {\n throw Error(\"ffmpeg.FS('readFile', '\".concat(args[0], \"') error. Check if the path exists\"));\n } else {\n throw Error('Oops, something went wrong in FS operation.');\n }\n }\n\n return ret;\n }\n };\n /**\n * forcibly terminate the ffmpeg program.\n */\n\n\n var exit = function exit() {\n if (Core === null) {\n throw NO_LOAD;\n } else {\n // if there's any pending runs, reject them\n if (runReject) {\n runReject('ffmpeg has exited');\n }\n\n running = false;\n\n try {\n Core.exit(1);\n } catch (err) {\n log(err.message);\n\n if (runReject) {\n runReject(err);\n }\n } finally {\n Core = null;\n ffmpeg = null;\n runResolve = null;\n runReject = null;\n }\n }\n };\n\n var setProgress = function setProgress(_progress) {\n progress = _progress;\n };\n\n var setLogger = function setLogger(_logger) {\n customLogger = _logger;\n };\n\n var setLogging = function setLogging(_logging) {\n logging = _logging;\n };\n\n log('info', \"use ffmpeg.wasm v\".concat(version));\n return {\n setProgress: setProgress,\n setLogger: setLogger,\n setLogging: setLogging,\n load: load,\n isLoaded: isLoaded,\n run: run,\n exit: exit,\n FS: FS\n };\n};\n\n//# sourceURL=webpack://FFmpeg/./src/createFFmpeg.js?"); - -/***/ }), - -/***/ "./src/index.js": -/*!**********************!*\ - !*** ./src/index.js ***! - \**********************/ -/*! unknown exports (runtime-defined) */ -/*! runtime requirements: module, __webpack_require__ */ -/*! CommonJS bailout: module.exports is used directly at 8:0-14 */ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -eval("__webpack_require__(/*! regenerator-runtime/runtime */ \"./node_modules/regenerator-runtime/runtime.js\");\n\nvar createFFmpeg = __webpack_require__(/*! ./createFFmpeg */ \"./src/createFFmpeg.js\");\n\nvar _require = __webpack_require__(/*! ./node */ \"./src/browser/index.js\"),\n fetchFile = _require.fetchFile;\n\nmodule.exports = {\n /*\n * Create ffmpeg instance.\n * Each ffmpeg instance owns an isolated MEMFS and works\n * independently.\n *\n * For example:\n *\n * ```\n * const ffmpeg = createFFmpeg({\n * log: true,\n * logger: () => {},\n * progress: () => {},\n * corePath: '',\n * })\n * ```\n *\n * For the usage of these four arguments, check config.js\n *\n */\n createFFmpeg: createFFmpeg,\n\n /*\n * Helper function for fetching files from various resource.\n * Sometimes the video/audio file you want to process may located\n * in a remote URL and somewhere in your local file system.\n *\n * This helper function helps you to fetch to file and return an\n * Uint8Array variable for ffmpeg.wasm to consume.\n *\n */\n fetchFile: fetchFile\n};\n\n//# sourceURL=webpack://FFmpeg/./src/index.js?"); - -/***/ }), - -/***/ "./src/utils/errors.js": -/*!*****************************!*\ - !*** ./src/utils/errors.js ***! - \*****************************/ -/*! unknown exports (runtime-defined) */ -/*! runtime requirements: module */ -/*! CommonJS bailout: module.exports is used directly at 5:0-14 */ -/***/ ((module) => { - -eval("var CREATE_FFMPEG_CORE_IS_NOT_DEFINED = function CREATE_FFMPEG_CORE_IS_NOT_DEFINED(corePath) {\n return \"\\ncreateFFmpegCore is not defined. ffmpeg.wasm is unable to find createFFmpegCore after loading ffmpeg-core.js from \".concat(corePath, \". Use another URL when calling createFFmpeg():\\n\\nconst ffmpeg = createFFmpeg({\\n corePath: 'http://localhost:3000/ffmpeg-core.js',\\n});\\n\");\n};\n\nmodule.exports = {\n CREATE_FFMPEG_CORE_IS_NOT_DEFINED: CREATE_FFMPEG_CORE_IS_NOT_DEFINED\n};\n\n//# sourceURL=webpack://FFmpeg/./src/utils/errors.js?"); - -/***/ }), - -/***/ "./src/utils/log.js": -/*!**************************!*\ - !*** ./src/utils/log.js ***! - \**************************/ -/*! unknown exports (runtime-defined) */ -/*! runtime requirements: module */ -/*! CommonJS bailout: module.exports is used directly at 24:0-14 */ -/***/ ((module) => { - -eval("var logging = false;\n\nvar customLogger = function customLogger() {};\n\nvar setLogging = function setLogging(_logging) {\n logging = _logging;\n};\n\nvar setCustomLogger = function setCustomLogger(logger) {\n customLogger = logger;\n};\n\nvar log = function log(type, message) {\n customLogger({\n type: type,\n message: message\n });\n\n if (logging) {\n console.log(\"[\".concat(type, \"] \").concat(message));\n }\n};\n\nmodule.exports = {\n logging: logging,\n setLogging: setLogging,\n setCustomLogger: setCustomLogger,\n log: log\n};\n\n//# sourceURL=webpack://FFmpeg/./src/utils/log.js?"); - -/***/ }), - -/***/ "./src/utils/parseArgs.js": -/*!********************************!*\ - !*** ./src/utils/parseArgs.js ***! - \********************************/ -/*! unknown exports (runtime-defined) */ -/*! runtime requirements: module */ -/*! CommonJS bailout: module.exports is used directly at 1:0-14 */ -/***/ ((module) => { - -eval("module.exports = function (Core, args) {\n var argsPtr = Core._malloc(args.length * Uint32Array.BYTES_PER_ELEMENT);\n\n args.forEach(function (s, idx) {\n var sz = Core.lengthBytesUTF8(s) + 1;\n\n var buf = Core._malloc(sz);\n\n Core.stringToUTF8(s, buf, sz);\n Core.setValue(argsPtr + Uint32Array.BYTES_PER_ELEMENT * idx, buf, 'i32');\n });\n return [args.length, argsPtr];\n};\n\n//# sourceURL=webpack://FFmpeg/./src/utils/parseArgs.js?"); - -/***/ }), - -/***/ "./node_modules/regenerator-runtime/runtime.js": -/*!*****************************************************!*\ - !*** ./node_modules/regenerator-runtime/runtime.js ***! - \*****************************************************/ -/*! unknown exports (runtime-defined) */ -/*! runtime requirements: module */ -/*! CommonJS bailout: module.exports is used directly at 732:31-45 */ -/***/ ((module) => { - -eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n true ? module.exports : 0\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n\n\n//# sourceURL=webpack://FFmpeg/./node_modules/regenerator-runtime/runtime.js?"); - -/***/ }), - -/***/ "./package.json": -/*!**********************!*\ - !*** ./package.json ***! - \**********************/ -/*! default exports */ -/*! export author [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export browser [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export ./src/node/index.js [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! export bugs [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export url [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! export dependencies [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export is-url [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export node-fetch [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export regenerator-runtime [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export resolve-url [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! export description [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export devDependencies [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export @babel/core [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export @babel/preset-env [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export @ffmpeg/core [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export @types/emscripten [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export babel-eslint [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export babel-loader [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export chai [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export cors [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export eslint [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export eslint-config-airbnb-base [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export eslint-plugin-import [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export express [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export mocha [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export mocha-headless-chrome [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export npm-run-all [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export wait-on [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export webpack [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export webpack-cli [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export webpack-dev-middleware [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! export directories [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export example [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! export engines [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export node [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! export homepage [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export keywords [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export 0 [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export 1 [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export 2 [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! export license [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export main [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export name [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export repository [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export type [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export url [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! export scripts [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export build [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export build:worker [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export lint [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export prepublishOnly [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export start [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export start:worker [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export test [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export test:all [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export test:browser [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export test:browser:ffmpeg [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export test:node [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export test:node:all [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export wait [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! export types [provided] [no usage info] [missing usage info prevents renaming] */ -/*! export version [provided] [no usage info] [missing usage info prevents renaming] */ -/*! other exports [not provided] [no usage info] */ -/*! runtime requirements: module */ -/***/ ((module) => { - -"use strict"; -eval("module.exports = JSON.parse(\"{\\\"name\\\":\\\"@ffmpeg/ffmpeg\\\",\\\"version\\\":\\\"0.11.5\\\",\\\"description\\\":\\\"FFmpeg WebAssembly version\\\",\\\"main\\\":\\\"src/index.js\\\",\\\"types\\\":\\\"src/index.d.ts\\\",\\\"directories\\\":{\\\"example\\\":\\\"examples\\\"},\\\"scripts\\\":{\\\"start\\\":\\\"node scripts/server.js\\\",\\\"start:worker\\\":\\\"node scripts/worker-server.js\\\",\\\"build\\\":\\\"rimraf dist && webpack --config scripts/webpack.config.prod.js\\\",\\\"build:worker\\\":\\\"rimraf dist && webpack --config scripts/webpack.config.worker.prod.js\\\",\\\"prepublishOnly\\\":\\\"npm run build\\\",\\\"lint\\\":\\\"eslint src\\\",\\\"wait\\\":\\\"rimraf dist && wait-on http://localhost:3000/dist/ffmpeg.dev.js\\\",\\\"test\\\":\\\"npm-run-all -p -r start test:all\\\",\\\"test:all\\\":\\\"npm-run-all wait test:browser:ffmpeg test:node:all\\\",\\\"test:node\\\":\\\"node node_modules/mocha/bin/_mocha --exit --bail --require ./scripts/test-helper.js\\\",\\\"test:node:all\\\":\\\"npm run test:node -- ./tests/*.test.js\\\",\\\"test:browser\\\":\\\"mocha-headless-chrome -a allow-file-access-from-files -a incognito -a no-sandbox -a disable-setuid-sandbox -a disable-logging -t 300000\\\",\\\"test:browser:ffmpeg\\\":\\\"npm run test:browser -- -f ./tests/ffmpeg.test.html\\\"},\\\"browser\\\":{\\\"./src/node/index.js\\\":\\\"./src/browser/index.js\\\"},\\\"repository\\\":{\\\"type\\\":\\\"git\\\",\\\"url\\\":\\\"git+https://github.com/ffmpegwasm/ffmpeg.wasm.git\\\"},\\\"keywords\\\":[\\\"ffmpeg\\\",\\\"WebAssembly\\\",\\\"video\\\"],\\\"author\\\":\\\"Jerome Wu \\\",\\\"license\\\":\\\"MIT\\\",\\\"bugs\\\":{\\\"url\\\":\\\"https://github.com/ffmpegwasm/ffmpeg.wasm/issues\\\"},\\\"engines\\\":{\\\"node\\\":\\\">=12.16.1\\\"},\\\"homepage\\\":\\\"https://github.com/ffmpegwasm/ffmpeg.wasm#readme\\\",\\\"dependencies\\\":{\\\"is-url\\\":\\\"^1.2.4\\\",\\\"node-fetch\\\":\\\"^2.6.1\\\",\\\"regenerator-runtime\\\":\\\"^0.13.7\\\",\\\"resolve-url\\\":\\\"^0.2.1\\\"},\\\"devDependencies\\\":{\\\"@babel/core\\\":\\\"^7.12.3\\\",\\\"@babel/preset-env\\\":\\\"^7.12.1\\\",\\\"@ffmpeg/core\\\":\\\"^0.11.0\\\",\\\"@types/emscripten\\\":\\\"^1.39.4\\\",\\\"babel-eslint\\\":\\\"^10.1.0\\\",\\\"babel-loader\\\":\\\"^8.1.0\\\",\\\"chai\\\":\\\"^4.2.0\\\",\\\"cors\\\":\\\"^2.8.5\\\",\\\"eslint\\\":\\\"^7.12.1\\\",\\\"eslint-config-airbnb-base\\\":\\\"^14.1.0\\\",\\\"eslint-plugin-import\\\":\\\"^2.22.1\\\",\\\"express\\\":\\\"^4.17.1\\\",\\\"mocha\\\":\\\"^8.2.1\\\",\\\"mocha-headless-chrome\\\":\\\"^2.0.3\\\",\\\"npm-run-all\\\":\\\"^4.1.5\\\",\\\"wait-on\\\":\\\"^5.3.0\\\",\\\"webpack\\\":\\\"^5.3.2\\\",\\\"webpack-cli\\\":\\\"^4.1.0\\\",\\\"webpack-dev-middleware\\\":\\\"^4.0.0\\\"}}\");\n\n//# sourceURL=webpack://FFmpeg/./package.json?"); - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ if(__webpack_module_cache__[moduleId]) { -/******/ return __webpack_module_cache__[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => module['default'] : -/******/ () => module; -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + ""; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName("script"); -/******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ __webpack_require__.b = document.baseURI || self.location.href; -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // Promise = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ "main": 0 -/******/ }; -/******/ -/******/ -/******/ // no chunk on demand loading -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ // no deferred startup -/******/ -/******/ // no jsonp function -/******/ })(); -/******/ -/************************************************************************/ -/******/ // module exports must be returned from runtime so entry inlining is disabled -/******/ // startup -/******/ // Load entry module and return exports -/******/ return __webpack_require__("./src/index.js"); -/******/ })() -; -}); \ No newline at end of file diff --git a/new_test/image2video.html b/new_test/image2video.html deleted file mode 100644 index 5481a1f..0000000 --- a/new_test/image2video.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - -

Click start to transcode images to mp4 (x264) and play!

-
- -

- Data Set - - - diff --git a/new_test/transcode.html b/new_test/transcode.html deleted file mode 100644 index d0253f4..0000000 --- a/new_test/transcode.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - -

Upload a video to transcode to mp4 (x264) and play!

-
- - -

- - - diff --git a/new_test/transcode.worker.html b/new_test/transcode.worker.html deleted file mode 100644 index 51fa522..0000000 --- a/new_test/transcode.worker.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - -

Upload a video to transcode to mp4 (x264) and play!

-
- -

- - - diff --git a/new_test/transcode.worker.js b/new_test/transcode.worker.js deleted file mode 100644 index 76557d9..0000000 --- a/new_test/transcode.worker.js +++ /dev/null @@ -1,24 +0,0 @@ -importScripts('/dist/ffmpeg.dev.js'); -const ffmpeg = self.FFmpeg.createFFmpeg({log: true}); - -onmessage = async (event) => { - try { - const {buffer, name, inType, outType} = event.data; - if (!ffmpeg.isLoaded()) { - await ffmpeg.load(); - } - - ffmpeg.FS('writeFile', `${name}.${inType}`, new Uint8Array(buffer)); - await ffmpeg.run('-i', `${name}.${inType}`, `${name}.${outType}`); - const data = ffmpeg.FS('readFile', `${name}.${outType}`); - - postMessage({buffer: data.buffer, type: "result"}, [data.buffer]); - - // delete files from memory - ffmpeg.FS('unlink', `${name}.${inType}`); - ffmpeg.FS('unlink', `${name}.${outType}`); - } catch (e) { - postMessage({type: "error", error: e}); - } -} - diff --git a/new_test/trim.html b/new_test/trim.html deleted file mode 100644 index 003b915..0000000 --- a/new_test/trim.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - -

Upload a mp4 (x264) video and trim its first 1 seconds and play!

-
- -

- - - diff --git a/new_test/webcam.html b/new_test/webcam.html deleted file mode 100644 index eb9c5e8..0000000 --- a/new_test/webcam.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - -

Record video from webcam and transcode to mp4 (x264) and play!

-
- - -
- -

- - -