"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[5850],{86736:e=>{var t,r,n=(t=function(e,t){var r,n=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e){var t,n;(e=void 0!==(e=e||{})?e:{}).ready=new Promise((function(e,r){t=e,n=r})),Object.getOwnPropertyDescriptor(e.ready,"_malloc")||(Object.defineProperty(e.ready,"_malloc",{configurable:!0,get:function(){K("You are getting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_malloc",{configurable:!0,set:function(){K("You are setting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"_free")||(Object.defineProperty(e.ready,"_free",{configurable:!0,get:function(){K("You are getting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_free",{configurable:!0,set:function(){K("You are setting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"_emscripten_stack_get_end")||(Object.defineProperty(e.ready,"_emscripten_stack_get_end",{configurable:!0,get:function(){K("You are getting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_emscripten_stack_get_end",{configurable:!0,set:function(){K("You are setting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"_emscripten_stack_get_free")||(Object.defineProperty(e.ready,"_emscripten_stack_get_free",{configurable:!0,get:function(){K("You are getting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_emscripten_stack_get_free",{configurable:!0,set:function(){K("You are setting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"_emscripten_stack_init")||(Object.defineProperty(e.ready,"_emscripten_stack_init",{configurable:!0,get:function(){K("You are getting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_emscripten_stack_init",{configurable:!0,set:function(){K("You are setting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"_stackSave")||(Object.defineProperty(e.ready,"_stackSave",{configurable:!0,get:function(){K("You are getting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_stackSave",{configurable:!0,set:function(){K("You are setting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"_stackRestore")||(Object.defineProperty(e.ready,"_stackRestore",{configurable:!0,get:function(){K("You are getting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_stackRestore",{configurable:!0,set:function(){K("You are setting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"_stackAlloc")||(Object.defineProperty(e.ready,"_stackAlloc",{configurable:!0,get:function(){K("You are getting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_stackAlloc",{configurable:!0,set:function(){K("You are setting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"___wasm_call_ctors")||(Object.defineProperty(e.ready,"___wasm_call_ctors",{configurable:!0,get:function(){K("You are getting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"___wasm_call_ctors",{configurable:!0,set:function(){K("You are setting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"_fflush")||(Object.defineProperty(e.ready,"_fflush",{configurable:!0,get:function(){K("You are getting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_fflush",{configurable:!0,set:function(){K("You are setting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"___errno_location")||(Object.defineProperty(e.ready,"___errno_location",{configurable:!0,get:function(){K("You are getting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"___errno_location",{configurable:!0,set:function(){K("You are setting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"_emscripten_main_thread_process_queued_calls")||(Object.defineProperty(e.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,get:function(){K("You are getting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,set:function(){K("You are setting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"___getTypeName")||(Object.defineProperty(e.ready,"___getTypeName",{configurable:!0,get:function(){K("You are getting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"___getTypeName",{configurable:!0,set:function(){K("You are setting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"___embind_register_native_and_builtin_types")||(Object.defineProperty(e.ready,"___embind_register_native_and_builtin_types",{configurable:!0,get:function(){K("You are getting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"___embind_register_native_and_builtin_types",{configurable:!0,set:function(){K("You are setting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(e.ready,"onRuntimeInitialized")||(Object.defineProperty(e.ready,"onRuntimeInitialized",{configurable:!0,get:function(){K("You are getting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(e.ready,"onRuntimeInitialized",{configurable:!0,set:function(){K("You are setting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}));var o,i={};for(o in e)e.hasOwnProperty(o)&&(i[o]=e[o]);if(e.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var a="";if("undefined"!=typeof document&&document.currentScript&&(a=document.currentScript.src),r&&(a=r),a=0!==a.indexOf("blob:")?a.substr(0,a.lastIndexOf("/")+1):"","object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var s,c,l=e.print||console.log.bind(console),d=e.printErr||console.warn.bind(console);for(o in i)i.hasOwnProperty(o)&&(e[o]=i[o]);function u(e){u.shown||(u.shown={}),u.shown[e]||(u.shown[e]=1,d(e))}i=null,e.arguments,Object.getOwnPropertyDescriptor(e,"arguments")||Object.defineProperty(e,"arguments",{configurable:!0,get:function(){K("Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),e.thisProgram,Object.getOwnPropertyDescriptor(e,"thisProgram")||Object.defineProperty(e,"thisProgram",{configurable:!0,get:function(){K("Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),e.quit,Object.getOwnPropertyDescriptor(e,"quit")||Object.defineProperty(e,"quit",{configurable:!0,get:function(){K("Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),_(void 0===e.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),_(void 0===e.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),_(void 0===e.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),_(void 0===e.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),_(void 0===e.read,"Module.read option was removed (modify read_ in JS)"),_(void 0===e.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),_(void 0===e.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),_(void 0===e.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),_(void 0===e.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Object.getOwnPropertyDescriptor(e,"read")||Object.defineProperty(e,"read",{configurable:!0,get:function(){K("Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(e,"readAsync")||Object.defineProperty(e,"readAsync",{configurable:!0,get:function(){K("Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(e,"readBinary")||Object.defineProperty(e,"readBinary",{configurable:!0,get:function(){K("Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(e,"setWindowTitle")||Object.defineProperty(e,"setWindowTitle",{configurable:!0,get:function(){K("Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),e.wasmBinary&&(s=e.wasmBinary),Object.getOwnPropertyDescriptor(e,"wasmBinary")||Object.defineProperty(e,"wasmBinary",{configurable:!0,get:function(){K("Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),e.noExitRuntime,Object.getOwnPropertyDescriptor(e,"noExitRuntime")||Object.defineProperty(e,"noExitRuntime",{configurable:!0,get:function(){K("Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),"object"!=typeof WebAssembly&&K("no native wasm support detected");var p=!1;function _(e,t){e||K("Assertion failed: "+t)}function E(t,r,n,o,i){var a={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);T(e,t=mt(r),r)}return t},array:function(e){var t,r,n=mt(e.length);return r=n,_((t=e).length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),D.set(t,r),n}},s=function(t){var r=e["_"+t];return _(r,"Cannot call unknown function "+t+", make sure it is exported"),r}(t),c=[],l=0;if(_("array"!==r,'Return type should not be "array".'),o)for(var d=0;d=n);)++o;if(o-t>16&&e.subarray&&O)return O.decode(e.subarray(t,o));for(var i="";t>10,56320|1023&l)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function h(e,t){return e?f(y,e,t):""}function T(e,t,r){return _("number"==typeof r,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),function(e,t,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;s>=2097152&&u("Invalid Unicode code point 0x"+s.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x1FFFFF)."),t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o}(e,y,t,r)}var g,D,y,m,w,b,P,v,R,M="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function S(e,t){_(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&w[n];)++n;if((r=n<<1)-e>32&&M)return M.decode(y.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var s=m[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i}function I(e,t,r){if(_(t%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),_("number"==typeof r,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i>1]=a,t+=2}return m[t>>1]=0,t-n}function A(e){return 2*e.length}function F(e,t){_(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var r=0,n="";!(r>=t/4);){var o=b[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var i=o-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(o)}return n}function C(e,t,r){if(_(t%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),_("number"==typeof r,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),b[t>>2]=a,(t+=4)+4>o)break}return b[t>>2]=0,t-n}function N(e){for(var t=0,r=0;r=55296&&n<=57343&&++r,t+=4}return t}function U(t){g=t,e.HEAP8=D=new Int8Array(t),e.HEAP16=m=new Int16Array(t),e.HEAP32=b=new Int32Array(t),e.HEAPU8=y=new Uint8Array(t),e.HEAPU16=w=new Uint16Array(t),e.HEAPU32=P=new Uint32Array(t),e.HEAPF32=v=new Float32Array(t),e.HEAPF64=R=new Float64Array(t)}var j=655360;e.TOTAL_STACK&&_(j===e.TOTAL_STACK,"the stack size can no longer be determined at runtime");var x,L=e.INITIAL_MEMORY||720896;function k(){var e=Tt();_(!(3&e)),P[1+(e>>2)]=34821223,P[2+(e>>2)]=2310721022,b[0]=1668509029}function H(){if(!p){var e=Tt(),t=P[1+(e>>2)],r=P[2+(e>>2)];34821223==t&&2310721022==r||K("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+r.toString(16)+" "+t.toString(16)),1668509029!==b[0]&&K("Runtime error: The application has corrupted its heap memory area (address zero)!")}}Object.getOwnPropertyDescriptor(e,"INITIAL_MEMORY")||Object.defineProperty(e,"INITIAL_MEMORY",{configurable:!0,get:function(){K("Module.INITIAL_MEMORY has been replaced with plain INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),_(L>=j,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+L+"! (TOTAL_STACK="+j+")"),_("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&void 0!==Int32Array.prototype.subarray&&void 0!==Int32Array.prototype.set,"JS engine does not provide full typed array support"),_(!e.wasmMemory,"Use of `wasmMemory` detected. Use -s IMPORTED_MEMORY to define wasmMemory externally"),_(720896==L,"Detected runtime INITIAL_MEMORY setting. Use -s IMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -s SUPPORT_BIG_ENDIAN=1 to bypass)"}();var Q=[],X=[],V=[],W=!1;_(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),_(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),_(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),_(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var $=0,B=null,Y=null,G={};function K(t){e.onAbort&&e.onAbort(t),d(t+=""),p=!0;var r,o,i="abort("+t+") at "+(o=function(){var e=new Error;if(!e.stack){try{throw new Error}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}(),e.extraStackTrace&&(o+="\n"+e.extraStackTrace()),r=/\b_Z[\w\d_]+/g,o.replace(r,(function(e){var t,r=(t=e,u("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t);return e===r?e:r+" ["+e+"]"})));t=i;var a=new WebAssembly.RuntimeError(t);throw n(a),a}e.preloadedImages={},e.preloadedAudios={};var z={error:function(){K("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1")},init:function(){z.error()},createDataFile:function(){z.error()},createPreloadedFile:function(){z.error()},createLazyFile:function(){z.error()},open:function(){z.error()},mkdev:function(){z.error()},registerDevice:function(){z.error()},analyzePath:function(){z.error()},loadFilesFromDB:function(){z.error()},ErrnoError:function(){z.error()}};e.FS_createDataFile=z.createDataFile,e.FS_createPreloadedFile=z.createPreloadedFile;function q(e){return e.startsWith("data:application/octet-stream;base64,")}function Z(t,r){return function(){var n=t,o=r;return r||(o=e.asm),_(W,"native function `"+n+"` called before runtime initialization"),_(!0,"native function `"+n+"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o[t]||_(o[t],"exported native function `"+n+"` not found"),o[t].apply(null,arguments)}}var J,ee="index.wasm";function te(e){try{if(e==ee&&s)return new Uint8Array(s);throw"both async and sync fetching of the wasm failed"}catch(e){K(e)}}function re(t){for(;t.length>0;){var r=t.shift();if("function"!=typeof r){var n=r.func;"number"==typeof n?void 0===r.arg?x.get(n)():x.get(n)(r.arg):n(void 0===r.arg?null:r.arg)}else r(e)}}q(ee)||(J=ee,ee=e.locateFile?e.locateFile(J,a):a+J);var ne=0,oe=4,ie=8,ae=12,se=13,ce=16;function le(e){this.excPtr=e,this.ptr=e-ce,this.set_type=function(e){b[this.ptr+ie>>2]=e},this.get_type=function(){return b[this.ptr+ie>>2]},this.set_destructor=function(e){b[this.ptr+ne>>2]=e},this.get_destructor=function(){return b[this.ptr+ne>>2]},this.set_refcount=function(e){b[this.ptr+oe>>2]=e},this.set_caught=function(e){e=e?1:0,D[this.ptr+ae|0]=e},this.get_caught=function(){return 0!=D[this.ptr+ae|0]},this.set_rethrown=function(e){e=e?1:0,D[this.ptr+se|0]=e},this.get_rethrown=function(){return 0!=D[this.ptr+se|0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=b[this.ptr+oe>>2];b[this.ptr+oe>>2]=e+1},this.release_ref=function(){var e=b[this.ptr+oe>>2];return b[this.ptr+oe>>2]=e-1,_(e>0),1===e}}var de={};function ue(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function pe(e){return this.fromWireType(P[e>>2])}var _e={},Ee={},Oe={},fe=48,he=57;function Te(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=fe&&t<=he?"_"+e:e}function ge(e,t){return e=Te(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function De(e,t){var r=ge(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var ye=void 0;function me(e){throw new ye(e)}function we(e,t,r){function n(t){var n=r(t);n.length!==e.length&&me("Mismatched type converter count");for(var o=0;o>2)+n]);return r}function nt(e,t,r,n,o){var i=t.length;i<2&&Me("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,s=!1,c=1;c0?", ":"")+u),p+=(l?"var rv = ":"")+"invoker(fn"+(u.length>0?", ":"")+u+");\n",s)p+="runDestructors(destructors);\n";else for(c=a?1:2;c4&&0==--it[e].refcount&&(it[e]=void 0,ot.push(e))}function st(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=ot.length?ot.pop():it.length;return it[t]={refcount:1,value:e},t}}function ct(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function lt(e,t){switch(t){case 2:return function(e){return this.fromWireType(v[e>>2])};case 3:return function(e){return this.fromWireType(R[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function dt(e,t,r){switch(t){case 0:return r?function(e){return D[e]}:function(e){return y[e]};case 1:return r?function(e){return m[e>>1]}:function(e){return w[e>>1]};case 2:return r?function(e){return b[e>>2]}:function(e){return P[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function ut(e,t){var r=Ee[e];return void 0===r&&Me(t+" has unknown type "+et(e)),r}function pt(e){try{return c.grow(e-g.byteLength+65535>>>16),U(c.buffer),1}catch(t){console.error("emscripten_realloc_buffer: Attempted to grow heap from "+g.byteLength+" bytes to "+e+" bytes, but got error: "+t)}}var _t={mappings:{},buffers:[null,[],[]],printChar:function(e,t){var r=_t.buffers[e];_(r),0===t||10===t?((1===e?l:d)(f(r,0)),r.length=0):r.push(t)},varargs:void 0,get:function(){return _(null!=_t.varargs),_t.varargs+=4,b[_t.varargs-4>>2]},getStr:function(e){return h(e)},get64:function(e,t){return _(e>=0?0===t:-1===t),e}};ye=e.InternalError=De(Error,"InternalError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Pe=e}(),Re=e.BindingError=De(Error,"BindingError"),Le.prototype.isAliasOf=function(e){if(!(this instanceof Le))return!1;if(!(e instanceof Le))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o},Le.prototype.clone=function(){if(this.$$.ptr||Ie(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ne(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},Le.prototype.delete=function(){this.$$.ptr||Ie(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Me("Object already scheduled for deletion"),Fe(this),Ce(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Le.prototype.isDeleted=function(){return!this.$$.ptr},Le.prototype.deleteLater=function(){return this.$$.ptr||Ie(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Me("Object already scheduled for deletion"),je.push(this),1===je.length&&Ue&&Ue(xe),this.$$.deleteScheduled=!0,this},ze.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},ze.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},ze.prototype.argPackAdvance=8,ze.prototype.readValueFromPointer=pe,ze.prototype.deleteObject=function(e){null!==e&&e.delete()},ze.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=function(e,t){for(void 0===t&&Me("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),Ge[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?Ke(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ke(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=ke[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var c=Ye(t,this.registeredClass,i.registeredClass);return null===c?o.call(this):this.isSmartPointer?Ke(i.registeredClass.instancePrototype,{ptrType:i,ptr:c,smartPtrType:this,smartPtr:e}):Ke(i.registeredClass.instancePrototype,{ptrType:i,ptr:c})},e.getInheritedInstanceCount=function(){return Object.keys(Ge).length},e.getLiveInheritedInstances=function(){var e=[];for(var t in Ge)Ge.hasOwnProperty(t)&&e.push(Ge[t]);return e},e.flushPendingDeletes=xe,e.setDelayFunction=function(e){Ue=e,je.length&&Ue&&Ue(xe)},Je=e.UnboundTypeError=De(Error,"UnboundTypeError"),e.count_emval_handles=function(){for(var e=0,t=5;t>i])},destructorFunction:null})},_embind_register_class:function(e,t,r,n,o,i,a,s,c,l,d,u,p){d=ve(d),i=Ze(o,i),s&&(s=Ze(a,s)),l&&(l=Ze(c,l)),p=Ze(u,p);var _=Te(d);Qe(_,(function(){tt("Cannot construct "+d+" due to unbound types",[n])})),we([e,t,r],n?[n]:[],(function(t){var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Le.prototype;var a=ge(_,(function(){if(Object.getPrototypeOf(this)!==c)throw new Re("Use 'new' to construct "+d);if(void 0===u.constructor_body)throw new Re(d+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new Re("Tried to invoke ctor of "+d+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),c=Object.create(o,{constructor:{value:a}});a.prototype=c;var u=new Xe(d,a,c,p,r,i,s,l),E=new ze(d,u,!0,!1,!1),O=new ze(d+"*",u,!1,!1,!1),f=new ze(d+" const*",u,!1,!0,!1);return ke[e]={pointerType:O,constPointerType:f},qe(_,a),[E,O,f]}))},_embind_register_class_constructor:function(e,t,r,n,o,i){_(t>0);var a=rt(t,r);o=Ze(n,o);var s=[i],c=[];we([],[e],(function(e){var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Re("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){tt("Cannot construct "+e.name+" due to unbound types",a)},we([],a,(function(n){return e.registeredClass.constructor_body[t-1]=function(){arguments.length!==t-1&&Me(r+" called with "+arguments.length+" arguments, expected "+(t-1)),c.length=0,s.length=t;for(var e=1;e>>s}}var c=t.includes("unsigned");Se(e,{name:t,fromWireType:a,toWireType:function(e,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+ct(r)+'" to '+this.name);if(ro)throw new TypeError('Passing a number "'+ct(r)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+n+", "+o+"]!");return c?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:dt(t,i,0!==n),destructorFunction:null})},_embind_register_memory_view:function(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=P,r=t[e>>=2],o=t[e+1];return new n(g,o,r)}Se(e,{name:r=ve(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_smart_ptr:function(e,t,r,n,o,i,a,s,c,l,d,u){r=ve(r),i=Ze(o,i),s=Ze(a,s),l=Ze(c,l),u=Ze(d,u),we([e],[t],(function(e){return e=e[0],[new ze(r,e.registeredClass,!1,!1,!0,e,n,i,s,l,u)]}))},_embind_register_std_string:function(e,t){var r="std::string"===(t=ve(t));Se(e,{name:t,fromWireType:function(e){var t,n=P[e>>2];if(r)for(var o=e+4,i=0;i<=n;++i){var a=e+4+i;if(i==n||0==y[a]){var s=h(o,a-o);void 0===t?t=s:(t+=String.fromCharCode(0),t+=s),o=a+1}}else{var c=new Array(n);for(i=0;i=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}(t)}:function(){return t.length};var i=n(),a=Ot(4+i+1);if(P[a>>2]=i,r&&o)T(t,a+4,i+1);else if(o)for(var s=0;s255&&(ft(a),Me("String has UTF-16 code units that do not fit in 8 bits")),y[a+4+s]=c}else for(s=0;s>2],a=i(),c=e+4,l=0;l<=o;++l){var d=e+4+l*t;if(l==o||0==a[d>>s]){var u=n(c,d-c);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),c=d+t}}return ft(e),r},toWireType:function(e,n){"string"!=typeof n&&Me("Cannot pass non-string to C++ string type "+r);var i=a(n),c=Ot(4+i+t);return P[c>>2]=i>>s,o(n,c+4,i+t),null!==e&&e.push(ft,c),c},argPackAdvance:8,readValueFromPointer:pe,destructorFunction:function(e){ft(e)}})},_embind_register_value_object:function(e,t,r,n,o,i){de[e]={name:ve(t),rawConstructor:Ze(r,n),rawDestructor:Ze(o,i),fields:[]}},_embind_register_value_object_field:function(e,t,r,n,o,i,a,s,c,l){de[e].fields.push({fieldName:ve(t),getterReturnType:r,getter:Ze(n,o),getterContext:i,setterArgumentType:a,setter:Ze(s,c),setterContext:l})},_embind_register_void:function(e,t){Se(e,{isVoid:!0,name:t=ve(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},_emval_call:function(e,t,r,n){e=function(e){return e||Me("Cannot use deleted val. handle = "+e),it[e].value}(e);for(var o=function(e,t){for(var r=new Array(e),n=0;n>2)+n],"parameter "+n);return r}(t,r),i=new Array(t),a=0;a4&&(it[e].refcount+=1)},_emval_take_value:function(e,t){return st((e=ut(e,"_emval_take_value")).readValueFromPointer(t))},abort:function(){K()},emscripten_memcpy_big:function(e,t,r){y.copyWithin(e,t,t+r)},emscripten_resize_heap:function(e){var t=y.length;_((e>>>=0)>t);var r,n=16777216;if(e>n)return d("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+n+" bytes!"),!1;for(var o=1;o<=4;o*=2){var i=t*(1+.2/o);i=Math.min(i,e+100663296);var a=Math.min(n,((r=Math.max(e,i))%65536>0&&(r+=65536-r%65536),r));if(pt(a))return!0}return d("Failed to grow the heap from "+t+" bytes to "+a+" bytes, not enough memory!"),!1},fd_close:function(e){return K("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM"),0},fd_seek:function(e,t,r,n,o){K("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM")},fd_write:function(e,t,r,n){for(var o=0,i=0;i>2],s=b[t+(8*i+4)>>2],c=0;c>2]=o,0},js_log:function(e){console.log(h(e))},pthread_create:function(){return 6},pthread_join:function(){return 28},setTempRet0:function(e){}};!function(){var t,r={env:Et,wasi_snapshot_preview1:Et};function o(t,r){var n,o=t.exports;e.asm=o,_(c=e.asm.memory,"memory not found in wasm exports"),U(c.buffer),_(x=e.asm.__indirect_function_table,"table not found in wasm exports"),n=e.asm.__wasm_call_ctors,X.unshift(n),function(t){if($--,e.monitorRunDependencies&&e.monitorRunDependencies($),t?(_(G[t]),delete G[t]):d("warning: run dependency removed without ID"),0==$&&(null!==B&&(clearInterval(B),B=null),Y)){var r=Y;Y=null,r()}}("wasm-instantiate")}t="wasm-instantiate",$++,e.monitorRunDependencies&&e.monitorRunDependencies($),t?(_(!G[t]),G[t]=1,null===B&&"undefined"!=typeof setInterval&&(B=setInterval((function(){if(p)return clearInterval(B),void(B=null);var e=!1;for(var t in G)e||(e=!0,d("still waiting on run dependencies:")),d("dependency: "+t);e&&d("(end of list)")}),1e4))):d("warning: run dependency added without ID");var i=e;function a(t){_(e===i,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),i=null,o(t.instance)}function l(e){return(s||"function"!=typeof fetch?Promise.resolve().then((function(){return te(ee)})):fetch(ee,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ee+"'";return e.arrayBuffer()})).catch((function(){return te(ee)}))).then((function(e){return WebAssembly.instantiate(e,r)})).then(e,(function(e){d("failed to asynchronously prepare wasm: "+e),ee.startsWith("file://")&&d("warning: Loading from a file URI ("+ee+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),K(e)}))}if(e.instantiateWasm)try{return e.instantiateWasm(r,o)}catch(e){return d("Module.instantiateWasm callback failed with error: "+e),!1}(s||"function"!=typeof WebAssembly.instantiateStreaming||q(ee)||"function"!=typeof fetch?l(a):fetch(ee,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,r).then(a,(function(e){return d("wasm streaming compile failed: "+e),d("falling back to ArrayBuffer instantiation"),l(a)}))}))).catch(n)}(),e.___wasm_call_ctors=Z("__wasm_call_ctors");var Ot=e._malloc=Z("malloc"),ft=e._free=Z("free"),ht=e.___getTypeName=Z("__getTypeName");e.___embind_register_native_and_builtin_types=Z("__embind_register_native_and_builtin_types"),e._emscripten_main_thread_process_queued_calls=Z("emscripten_main_thread_process_queued_calls");var Tt=e._emscripten_stack_get_end=function(){return(Tt=e._emscripten_stack_get_end=e.asm.emscripten_stack_get_end).apply(null,arguments)};e.___errno_location=Z("__errno_location"),e._fflush=Z("fflush");var gt,Dt=e.stackSave=Z("stackSave"),yt=e.stackRestore=Z("stackRestore"),mt=e.stackAlloc=Z("stackAlloc"),wt=e._emscripten_stack_init=function(){return(wt=e._emscripten_stack_init=e.asm.emscripten_stack_init).apply(null,arguments)};function bt(r){function n(){gt||(gt=!0,e.calledRun=!0,p||(H(),_(!W),W=!0,re(X),t(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),_(!e._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(H(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)t=e.postRun.shift(),V.unshift(t);var t;re(V)}()))}$>0||(wt(),k(),function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)t=e.preRun.shift(),Q.unshift(t);var t;re(Q)}(),$>0||(e.setStatus?(e.setStatus("Running..."),setTimeout((function(){setTimeout((function(){e.setStatus("")}),1),n()}),1)):n(),H()))}if(e._emscripten_stack_get_free=function(){return(e._emscripten_stack_get_free=e.asm.emscripten_stack_get_free).apply(null,arguments)},e.dynCall_ji=Z("dynCall_ji"),e.dynCall_vij=Z("dynCall_vij"),e.dynCall_jiji=Z("dynCall_jiji"),Object.getOwnPropertyDescriptor(e,"intArrayFromString")||(e.intArrayFromString=function(){K("'intArrayFromString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"intArrayToString")||(e.intArrayToString=function(){K("'intArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),e.ccall=E,e.cwrap=function(e,t,r,n){return function(){return E(e,t,r,arguments)}},Object.getOwnPropertyDescriptor(e,"setValue")||(e.setValue=function(){K("'setValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getValue")||(e.getValue=function(){K("'getValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"allocate")||(e.allocate=function(){K("'allocate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"UTF8ArrayToString")||(e.UTF8ArrayToString=function(){K("'UTF8ArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),e.UTF8ToString=h,Object.getOwnPropertyDescriptor(e,"stringToUTF8Array")||(e.stringToUTF8Array=function(){K("'stringToUTF8Array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stringToUTF8")||(e.stringToUTF8=function(){K("'stringToUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"lengthBytesUTF8")||(e.lengthBytesUTF8=function(){K("'lengthBytesUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stackTrace")||(e.stackTrace=function(){K("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"addOnPreRun")||(e.addOnPreRun=function(){K("'addOnPreRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"addOnInit")||(e.addOnInit=function(){K("'addOnInit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"addOnPreMain")||(e.addOnPreMain=function(){K("'addOnPreMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"addOnExit")||(e.addOnExit=function(){K("'addOnExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"addOnPostRun")||(e.addOnPostRun=function(){K("'addOnPostRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeStringToMemory")||(e.writeStringToMemory=function(){K("'writeStringToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeArrayToMemory")||(e.writeArrayToMemory=function(){K("'writeArrayToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeAsciiToMemory")||(e.writeAsciiToMemory=function(){K("'writeAsciiToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"addRunDependency")||(e.addRunDependency=function(){K("'addRunDependency' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(e,"removeRunDependency")||(e.removeRunDependency=function(){K("'removeRunDependency' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(e,"FS_createFolder")||(e.FS_createFolder=function(){K("'FS_createFolder' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"FS_createPath")||(e.FS_createPath=function(){K("'FS_createPath' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(e,"FS_createDataFile")||(e.FS_createDataFile=function(){K("'FS_createDataFile' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(e,"FS_createPreloadedFile")||(e.FS_createPreloadedFile=function(){K("'FS_createPreloadedFile' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(e,"FS_createLazyFile")||(e.FS_createLazyFile=function(){K("'FS_createLazyFile' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(e,"FS_createLink")||(e.FS_createLink=function(){K("'FS_createLink' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"FS_createDevice")||(e.FS_createDevice=function(){K("'FS_createDevice' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(e,"FS_unlink")||(e.FS_unlink=function(){K("'FS_unlink' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(e,"getLEB")||(e.getLEB=function(){K("'getLEB' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getFunctionTables")||(e.getFunctionTables=function(){K("'getFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"alignFunctionTables")||(e.alignFunctionTables=function(){K("'alignFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerFunctions")||(e.registerFunctions=function(){K("'registerFunctions' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"addFunction")||(e.addFunction=function(){K("'addFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"removeFunction")||(e.removeFunction=function(){K("'removeFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getFuncWrapper")||(e.getFuncWrapper=function(){K("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"prettyPrint")||(e.prettyPrint=function(){K("'prettyPrint' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"dynCall")||(e.dynCall=function(){K("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getCompilerSetting")||(e.getCompilerSetting=function(){K("'getCompilerSetting' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"print")||(e.print=function(){K("'print' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"printErr")||(e.printErr=function(){K("'printErr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getTempRet0")||(e.getTempRet0=function(){K("'getTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"setTempRet0")||(e.setTempRet0=function(){K("'setTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"callMain")||(e.callMain=function(){K("'callMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"abort")||(e.abort=function(){K("'abort' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stringToNewUTF8")||(e.stringToNewUTF8=function(){K("'stringToNewUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"setFileTime")||(e.setFileTime=function(){K("'setFileTime' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emscripten_realloc_buffer")||(e.emscripten_realloc_buffer=function(){K("'emscripten_realloc_buffer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ENV")||(e.ENV=function(){K("'ENV' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ERRNO_CODES")||(e.ERRNO_CODES=function(){K("'ERRNO_CODES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ERRNO_MESSAGES")||(e.ERRNO_MESSAGES=function(){K("'ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"setErrNo")||(e.setErrNo=function(){K("'setErrNo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"inetPton4")||(e.inetPton4=function(){K("'inetPton4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"inetNtop4")||(e.inetNtop4=function(){K("'inetNtop4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"inetPton6")||(e.inetPton6=function(){K("'inetPton6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"inetNtop6")||(e.inetNtop6=function(){K("'inetNtop6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"readSockaddr")||(e.readSockaddr=function(){K("'readSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeSockaddr")||(e.writeSockaddr=function(){K("'writeSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"DNS")||(e.DNS=function(){K("'DNS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getHostByName")||(e.getHostByName=function(){K("'getHostByName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"GAI_ERRNO_MESSAGES")||(e.GAI_ERRNO_MESSAGES=function(){K("'GAI_ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"Protocols")||(e.Protocols=function(){K("'Protocols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"Sockets")||(e.Sockets=function(){K("'Sockets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getRandomDevice")||(e.getRandomDevice=function(){K("'getRandomDevice' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"traverseStack")||(e.traverseStack=function(){K("'traverseStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"UNWIND_CACHE")||(e.UNWIND_CACHE=function(){K("'UNWIND_CACHE' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"withBuiltinMalloc")||(e.withBuiltinMalloc=function(){K("'withBuiltinMalloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"readAsmConstArgsArray")||(e.readAsmConstArgsArray=function(){K("'readAsmConstArgsArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"readAsmConstArgs")||(e.readAsmConstArgs=function(){K("'readAsmConstArgs' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"mainThreadEM_ASM")||(e.mainThreadEM_ASM=function(){K("'mainThreadEM_ASM' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"jstoi_q")||(e.jstoi_q=function(){K("'jstoi_q' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"jstoi_s")||(e.jstoi_s=function(){K("'jstoi_s' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getExecutableName")||(e.getExecutableName=function(){K("'getExecutableName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"listenOnce")||(e.listenOnce=function(){K("'listenOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"autoResumeAudioContext")||(e.autoResumeAudioContext=function(){K("'autoResumeAudioContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"dynCallLegacy")||(e.dynCallLegacy=function(){K("'dynCallLegacy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getDynCaller")||(e.getDynCaller=function(){K("'getDynCaller' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"dynCall")||(e.dynCall=function(){K("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"callRuntimeCallbacks")||(e.callRuntimeCallbacks=function(){K("'callRuntimeCallbacks' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"runtimeKeepaliveCounter")||(e.runtimeKeepaliveCounter=function(){K("'runtimeKeepaliveCounter' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"keepRuntimeAlive")||(e.keepRuntimeAlive=function(){K("'keepRuntimeAlive' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"runtimeKeepalivePush")||(e.runtimeKeepalivePush=function(){K("'runtimeKeepalivePush' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"runtimeKeepalivePop")||(e.runtimeKeepalivePop=function(){K("'runtimeKeepalivePop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"callUserCallback")||(e.callUserCallback=function(){K("'callUserCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"maybeExit")||(e.maybeExit=function(){K("'maybeExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"asmjsMangle")||(e.asmjsMangle=function(){K("'asmjsMangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"reallyNegative")||(e.reallyNegative=function(){K("'reallyNegative' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"unSign")||(e.unSign=function(){K("'unSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"reSign")||(e.reSign=function(){K("'reSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"formatString")||(e.formatString=function(){K("'formatString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"PATH")||(e.PATH=function(){K("'PATH' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"PATH_FS")||(e.PATH_FS=function(){K("'PATH_FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"SYSCALLS")||(e.SYSCALLS=function(){K("'SYSCALLS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"syscallMmap2")||(e.syscallMmap2=function(){K("'syscallMmap2' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"syscallMunmap")||(e.syscallMunmap=function(){K("'syscallMunmap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getSocketFromFD")||(e.getSocketFromFD=function(){K("'getSocketFromFD' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getSocketAddress")||(e.getSocketAddress=function(){K("'getSocketAddress' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"JSEvents")||(e.JSEvents=function(){K("'JSEvents' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerKeyEventCallback")||(e.registerKeyEventCallback=function(){K("'registerKeyEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"specialHTMLTargets")||(e.specialHTMLTargets=function(){K("'specialHTMLTargets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"maybeCStringToJsString")||(e.maybeCStringToJsString=function(){K("'maybeCStringToJsString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"findEventTarget")||(e.findEventTarget=function(){K("'findEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"findCanvasEventTarget")||(e.findCanvasEventTarget=function(){K("'findCanvasEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getBoundingClientRect")||(e.getBoundingClientRect=function(){K("'getBoundingClientRect' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"fillMouseEventData")||(e.fillMouseEventData=function(){K("'fillMouseEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerMouseEventCallback")||(e.registerMouseEventCallback=function(){K("'registerMouseEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerWheelEventCallback")||(e.registerWheelEventCallback=function(){K("'registerWheelEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerUiEventCallback")||(e.registerUiEventCallback=function(){K("'registerUiEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerFocusEventCallback")||(e.registerFocusEventCallback=function(){K("'registerFocusEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"fillDeviceOrientationEventData")||(e.fillDeviceOrientationEventData=function(){K("'fillDeviceOrientationEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerDeviceOrientationEventCallback")||(e.registerDeviceOrientationEventCallback=function(){K("'registerDeviceOrientationEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"fillDeviceMotionEventData")||(e.fillDeviceMotionEventData=function(){K("'fillDeviceMotionEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerDeviceMotionEventCallback")||(e.registerDeviceMotionEventCallback=function(){K("'registerDeviceMotionEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"screenOrientation")||(e.screenOrientation=function(){K("'screenOrientation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"fillOrientationChangeEventData")||(e.fillOrientationChangeEventData=function(){K("'fillOrientationChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerOrientationChangeEventCallback")||(e.registerOrientationChangeEventCallback=function(){K("'registerOrientationChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"fillFullscreenChangeEventData")||(e.fillFullscreenChangeEventData=function(){K("'fillFullscreenChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerFullscreenChangeEventCallback")||(e.registerFullscreenChangeEventCallback=function(){K("'registerFullscreenChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerRestoreOldStyle")||(e.registerRestoreOldStyle=function(){K("'registerRestoreOldStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"hideEverythingExceptGivenElement")||(e.hideEverythingExceptGivenElement=function(){K("'hideEverythingExceptGivenElement' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"restoreHiddenElements")||(e.restoreHiddenElements=function(){K("'restoreHiddenElements' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"setLetterbox")||(e.setLetterbox=function(){K("'setLetterbox' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"currentFullscreenStrategy")||(e.currentFullscreenStrategy=function(){K("'currentFullscreenStrategy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"restoreOldWindowedStyle")||(e.restoreOldWindowedStyle=function(){K("'restoreOldWindowedStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"softFullscreenResizeWebGLRenderTarget")||(e.softFullscreenResizeWebGLRenderTarget=function(){K("'softFullscreenResizeWebGLRenderTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"doRequestFullscreen")||(e.doRequestFullscreen=function(){K("'doRequestFullscreen' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"fillPointerlockChangeEventData")||(e.fillPointerlockChangeEventData=function(){K("'fillPointerlockChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerPointerlockChangeEventCallback")||(e.registerPointerlockChangeEventCallback=function(){K("'registerPointerlockChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerPointerlockErrorEventCallback")||(e.registerPointerlockErrorEventCallback=function(){K("'registerPointerlockErrorEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"requestPointerLock")||(e.requestPointerLock=function(){K("'requestPointerLock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"fillVisibilityChangeEventData")||(e.fillVisibilityChangeEventData=function(){K("'fillVisibilityChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerVisibilityChangeEventCallback")||(e.registerVisibilityChangeEventCallback=function(){K("'registerVisibilityChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerTouchEventCallback")||(e.registerTouchEventCallback=function(){K("'registerTouchEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"fillGamepadEventData")||(e.fillGamepadEventData=function(){K("'fillGamepadEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerGamepadEventCallback")||(e.registerGamepadEventCallback=function(){K("'registerGamepadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerBeforeUnloadEventCallback")||(e.registerBeforeUnloadEventCallback=function(){K("'registerBeforeUnloadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"fillBatteryEventData")||(e.fillBatteryEventData=function(){K("'fillBatteryEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"battery")||(e.battery=function(){K("'battery' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerBatteryEventCallback")||(e.registerBatteryEventCallback=function(){K("'registerBatteryEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"setCanvasElementSize")||(e.setCanvasElementSize=function(){K("'setCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getCanvasElementSize")||(e.getCanvasElementSize=function(){K("'getCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"polyfillSetImmediate")||(e.polyfillSetImmediate=function(){K("'polyfillSetImmediate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"demangle")||(e.demangle=function(){K("'demangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"demangleAll")||(e.demangleAll=function(){K("'demangleAll' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"jsStackTrace")||(e.jsStackTrace=function(){K("'jsStackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stackTrace")||(e.stackTrace=function(){K("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getEnvStrings")||(e.getEnvStrings=function(){K("'getEnvStrings' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"checkWasiClock")||(e.checkWasiClock=function(){K("'checkWasiClock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"flush_NO_FILESYSTEM")||(e.flush_NO_FILESYSTEM=function(){K("'flush_NO_FILESYSTEM' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeI53ToI64")||(e.writeI53ToI64=function(){K("'writeI53ToI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeI53ToI64Clamped")||(e.writeI53ToI64Clamped=function(){K("'writeI53ToI64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeI53ToI64Signaling")||(e.writeI53ToI64Signaling=function(){K("'writeI53ToI64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeI53ToU64Clamped")||(e.writeI53ToU64Clamped=function(){K("'writeI53ToU64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeI53ToU64Signaling")||(e.writeI53ToU64Signaling=function(){K("'writeI53ToU64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"readI53FromI64")||(e.readI53FromI64=function(){K("'readI53FromI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"readI53FromU64")||(e.readI53FromU64=function(){K("'readI53FromU64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"convertI32PairToI53")||(e.convertI32PairToI53=function(){K("'convertI32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"convertU32PairToI53")||(e.convertU32PairToI53=function(){K("'convertU32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"uncaughtExceptionCount")||(e.uncaughtExceptionCount=function(){K("'uncaughtExceptionCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"exceptionLast")||(e.exceptionLast=function(){K("'exceptionLast' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"exceptionCaught")||(e.exceptionCaught=function(){K("'exceptionCaught' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ExceptionInfoAttrs")||(e.ExceptionInfoAttrs=function(){K("'ExceptionInfoAttrs' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ExceptionInfo")||(e.ExceptionInfo=function(){K("'ExceptionInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"CatchInfo")||(e.CatchInfo=function(){K("'CatchInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"exception_addRef")||(e.exception_addRef=function(){K("'exception_addRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"exception_decRef")||(e.exception_decRef=function(){K("'exception_decRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"Browser")||(e.Browser=function(){K("'Browser' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"funcWrappers")||(e.funcWrappers=function(){K("'funcWrappers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getFuncWrapper")||(e.getFuncWrapper=function(){K("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"setMainLoop")||(e.setMainLoop=function(){K("'setMainLoop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"FS")||(e.FS=function(){K("'FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"mmapAlloc")||(e.mmapAlloc=function(){K("'mmapAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"MEMFS")||(e.MEMFS=function(){K("'MEMFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"TTY")||(e.TTY=function(){K("'TTY' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"PIPEFS")||(e.PIPEFS=function(){K("'PIPEFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"SOCKFS")||(e.SOCKFS=function(){K("'SOCKFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"_setNetworkCallback")||(e._setNetworkCallback=function(){K("'_setNetworkCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"tempFixedLengthArray")||(e.tempFixedLengthArray=function(){K("'tempFixedLengthArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"miniTempWebGLFloatBuffers")||(e.miniTempWebGLFloatBuffers=function(){K("'miniTempWebGLFloatBuffers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"heapObjectForWebGLType")||(e.heapObjectForWebGLType=function(){K("'heapObjectForWebGLType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"heapAccessShiftForWebGLHeap")||(e.heapAccessShiftForWebGLHeap=function(){K("'heapAccessShiftForWebGLHeap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"GL")||(e.GL=function(){K("'GL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emscriptenWebGLGet")||(e.emscriptenWebGLGet=function(){K("'emscriptenWebGLGet' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"computeUnpackAlignedImageSize")||(e.computeUnpackAlignedImageSize=function(){K("'computeUnpackAlignedImageSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emscriptenWebGLGetTexPixelData")||(e.emscriptenWebGLGetTexPixelData=function(){K("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emscriptenWebGLGetUniform")||(e.emscriptenWebGLGetUniform=function(){K("'emscriptenWebGLGetUniform' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"webglGetUniformLocation")||(e.webglGetUniformLocation=function(){K("'webglGetUniformLocation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"webglPrepareUniformLocationsBeforeFirstUse")||(e.webglPrepareUniformLocationsBeforeFirstUse=function(){K("'webglPrepareUniformLocationsBeforeFirstUse' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"webglGetLeftBracePos")||(e.webglGetLeftBracePos=function(){K("'webglGetLeftBracePos' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emscriptenWebGLGetVertexAttrib")||(e.emscriptenWebGLGetVertexAttrib=function(){K("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"writeGLArray")||(e.writeGLArray=function(){K("'writeGLArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"AL")||(e.AL=function(){K("'AL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"SDL_unicode")||(e.SDL_unicode=function(){K("'SDL_unicode' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"SDL_ttfContext")||(e.SDL_ttfContext=function(){K("'SDL_ttfContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"SDL_audio")||(e.SDL_audio=function(){K("'SDL_audio' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"SDL")||(e.SDL=function(){K("'SDL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"SDL_gfx")||(e.SDL_gfx=function(){K("'SDL_gfx' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"GLUT")||(e.GLUT=function(){K("'GLUT' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"EGL")||(e.EGL=function(){K("'EGL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"GLFW_Window")||(e.GLFW_Window=function(){K("'GLFW_Window' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"GLFW")||(e.GLFW=function(){K("'GLFW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"GLEW")||(e.GLEW=function(){K("'GLEW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"IDBStore")||(e.IDBStore=function(){K("'IDBStore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"runAndAbortIfError")||(e.runAndAbortIfError=function(){K("'runAndAbortIfError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emval_handle_array")||(e.emval_handle_array=function(){K("'emval_handle_array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emval_free_list")||(e.emval_free_list=function(){K("'emval_free_list' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emval_symbols")||(e.emval_symbols=function(){K("'emval_symbols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"init_emval")||(e.init_emval=function(){K("'init_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"count_emval_handles")||(e.count_emval_handles=function(){K("'count_emval_handles' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"get_first_emval")||(e.get_first_emval=function(){K("'get_first_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getStringOrSymbol")||(e.getStringOrSymbol=function(){K("'getStringOrSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"requireHandle")||(e.requireHandle=function(){K("'requireHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emval_newers")||(e.emval_newers=function(){K("'emval_newers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"craftEmvalAllocator")||(e.craftEmvalAllocator=function(){K("'craftEmvalAllocator' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emval_get_global")||(e.emval_get_global=function(){K("'emval_get_global' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"emval_methodCallers")||(e.emval_methodCallers=function(){K("'emval_methodCallers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"InternalError")||(e.InternalError=function(){K("'InternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"BindingError")||(e.BindingError=function(){K("'BindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"UnboundTypeError")||(e.UnboundTypeError=function(){K("'UnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"PureVirtualError")||(e.PureVirtualError=function(){K("'PureVirtualError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"init_embind")||(e.init_embind=function(){K("'init_embind' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"throwInternalError")||(e.throwInternalError=function(){K("'throwInternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"throwBindingError")||(e.throwBindingError=function(){K("'throwBindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"throwUnboundTypeError")||(e.throwUnboundTypeError=function(){K("'throwUnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ensureOverloadTable")||(e.ensureOverloadTable=function(){K("'ensureOverloadTable' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"exposePublicSymbol")||(e.exposePublicSymbol=function(){K("'exposePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"replacePublicSymbol")||(e.replacePublicSymbol=function(){K("'replacePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"extendError")||(e.extendError=function(){K("'extendError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"createNamedFunction")||(e.createNamedFunction=function(){K("'createNamedFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registeredInstances")||(e.registeredInstances=function(){K("'registeredInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getBasestPointer")||(e.getBasestPointer=function(){K("'getBasestPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerInheritedInstance")||(e.registerInheritedInstance=function(){K("'registerInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"unregisterInheritedInstance")||(e.unregisterInheritedInstance=function(){K("'unregisterInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getInheritedInstance")||(e.getInheritedInstance=function(){K("'getInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getInheritedInstanceCount")||(e.getInheritedInstanceCount=function(){K("'getInheritedInstanceCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getLiveInheritedInstances")||(e.getLiveInheritedInstances=function(){K("'getLiveInheritedInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registeredTypes")||(e.registeredTypes=function(){K("'registeredTypes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"awaitingDependencies")||(e.awaitingDependencies=function(){K("'awaitingDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"typeDependencies")||(e.typeDependencies=function(){K("'typeDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registeredPointers")||(e.registeredPointers=function(){K("'registeredPointers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"registerType")||(e.registerType=function(){K("'registerType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"whenDependentTypesAreResolved")||(e.whenDependentTypesAreResolved=function(){K("'whenDependentTypesAreResolved' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"embind_charCodes")||(e.embind_charCodes=function(){K("'embind_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"embind_init_charCodes")||(e.embind_init_charCodes=function(){K("'embind_init_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"readLatin1String")||(e.readLatin1String=function(){K("'readLatin1String' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getTypeName")||(e.getTypeName=function(){K("'getTypeName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"heap32VectorToArray")||(e.heap32VectorToArray=function(){K("'heap32VectorToArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"requireRegisteredType")||(e.requireRegisteredType=function(){K("'requireRegisteredType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"getShiftFromSize")||(e.getShiftFromSize=function(){K("'getShiftFromSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"integerReadValueFromPointer")||(e.integerReadValueFromPointer=function(){K("'integerReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"enumReadValueFromPointer")||(e.enumReadValueFromPointer=function(){K("'enumReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"floatReadValueFromPointer")||(e.floatReadValueFromPointer=function(){K("'floatReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"simpleReadValueFromPointer")||(e.simpleReadValueFromPointer=function(){K("'simpleReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"runDestructors")||(e.runDestructors=function(){K("'runDestructors' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"new_")||(e.new_=function(){K("'new_' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"craftInvokerFunction")||(e.craftInvokerFunction=function(){K("'craftInvokerFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"embind__requireFunction")||(e.embind__requireFunction=function(){K("'embind__requireFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"tupleRegistrations")||(e.tupleRegistrations=function(){K("'tupleRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"structRegistrations")||(e.structRegistrations=function(){K("'structRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"genericPointerToWireType")||(e.genericPointerToWireType=function(){K("'genericPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"constNoSmartPtrRawPointerToWireType")||(e.constNoSmartPtrRawPointerToWireType=function(){K("'constNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"nonConstNoSmartPtrRawPointerToWireType")||(e.nonConstNoSmartPtrRawPointerToWireType=function(){K("'nonConstNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"init_RegisteredPointer")||(e.init_RegisteredPointer=function(){K("'init_RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"RegisteredPointer")||(e.RegisteredPointer=function(){K("'RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"RegisteredPointer_getPointee")||(e.RegisteredPointer_getPointee=function(){K("'RegisteredPointer_getPointee' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"RegisteredPointer_destructor")||(e.RegisteredPointer_destructor=function(){K("'RegisteredPointer_destructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"RegisteredPointer_deleteObject")||(e.RegisteredPointer_deleteObject=function(){K("'RegisteredPointer_deleteObject' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"RegisteredPointer_fromWireType")||(e.RegisteredPointer_fromWireType=function(){K("'RegisteredPointer_fromWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"runDestructor")||(e.runDestructor=function(){K("'runDestructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"releaseClassHandle")||(e.releaseClassHandle=function(){K("'releaseClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"finalizationGroup")||(e.finalizationGroup=function(){K("'finalizationGroup' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"detachFinalizer_deps")||(e.detachFinalizer_deps=function(){K("'detachFinalizer_deps' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"detachFinalizer")||(e.detachFinalizer=function(){K("'detachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"attachFinalizer")||(e.attachFinalizer=function(){K("'attachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"makeClassHandle")||(e.makeClassHandle=function(){K("'makeClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"init_ClassHandle")||(e.init_ClassHandle=function(){K("'init_ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ClassHandle")||(e.ClassHandle=function(){K("'ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ClassHandle_isAliasOf")||(e.ClassHandle_isAliasOf=function(){K("'ClassHandle_isAliasOf' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"throwInstanceAlreadyDeleted")||(e.throwInstanceAlreadyDeleted=function(){K("'throwInstanceAlreadyDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ClassHandle_clone")||(e.ClassHandle_clone=function(){K("'ClassHandle_clone' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ClassHandle_delete")||(e.ClassHandle_delete=function(){K("'ClassHandle_delete' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"deletionQueue")||(e.deletionQueue=function(){K("'deletionQueue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ClassHandle_isDeleted")||(e.ClassHandle_isDeleted=function(){K("'ClassHandle_isDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"ClassHandle_deleteLater")||(e.ClassHandle_deleteLater=function(){K("'ClassHandle_deleteLater' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"flushPendingDeletes")||(e.flushPendingDeletes=function(){K("'flushPendingDeletes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"delayFunction")||(e.delayFunction=function(){K("'delayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"setDelayFunction")||(e.setDelayFunction=function(){K("'setDelayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"RegisteredClass")||(e.RegisteredClass=function(){K("'RegisteredClass' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"shallowCopyInternalPointer")||(e.shallowCopyInternalPointer=function(){K("'shallowCopyInternalPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"downcastPointer")||(e.downcastPointer=function(){K("'downcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"upcastPointer")||(e.upcastPointer=function(){K("'upcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"validateThis")||(e.validateThis=function(){K("'validateThis' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"char_0")||(e.char_0=function(){K("'char_0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"char_9")||(e.char_9=function(){K("'char_9' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"makeLegalFunctionName")||(e.makeLegalFunctionName=function(){K("'makeLegalFunctionName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"bytenn_wrapper")||(e.bytenn_wrapper=function(){K("'bytenn_wrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"warnOnce")||(e.warnOnce=function(){K("'warnOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stackSave")||(e.stackSave=function(){K("'stackSave' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stackRestore")||(e.stackRestore=function(){K("'stackRestore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stackAlloc")||(e.stackAlloc=function(){K("'stackAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"AsciiToString")||(e.AsciiToString=function(){K("'AsciiToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stringToAscii")||(e.stringToAscii=function(){K("'stringToAscii' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"UTF16ToString")||(e.UTF16ToString=function(){K("'UTF16ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stringToUTF16")||(e.stringToUTF16=function(){K("'stringToUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"lengthBytesUTF16")||(e.lengthBytesUTF16=function(){K("'lengthBytesUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"UTF32ToString")||(e.UTF32ToString=function(){K("'UTF32ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"stringToUTF32")||(e.stringToUTF32=function(){K("'stringToUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"lengthBytesUTF32")||(e.lengthBytesUTF32=function(){K("'lengthBytesUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"allocateUTF8")||(e.allocateUTF8=function(){K("'allocateUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(e,"allocateUTF8OnStack")||(e.allocateUTF8OnStack=function(){K("'allocateUTF8OnStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),e.writeStackCookie=k,e.checkStackCookie=H,Object.getOwnPropertyDescriptor(e,"ALLOC_NORMAL")||Object.defineProperty(e,"ALLOC_NORMAL",{configurable:!0,get:function(){K("'ALLOC_NORMAL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(e,"ALLOC_STACK")||Object.defineProperty(e,"ALLOC_STACK",{configurable:!0,get:function(){K("'ALLOC_STACK' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Y=function e(){gt||bt(),gt||(Y=e)},e.run=bt,e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return bt(),e.ready});e.exports=n},t(r={exports:{}}),r.exports);e.exports=n},44597:(e,t,r)=>{r.d(t,{nu:()=>Y,vh:()=>f});var n=r(4975),o=r(85135),i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,d=(e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,u=(e,t)=>{for(var r in t||(t={}))c.call(t,r)&&d(e,r,t[r]);if(s)for(var r of s(t))l.call(t,r)&&d(e,r,t[r]);return e},p=(e,t,r,n)=>{for(var o,s=n>1?void 0:n?a(t,r):t,c=e.length-1;c>=0;c--)(o=e[c])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&i(t,r,s),s},_=Object.defineProperty,E=(e,t,r)=>(((e,t,r)=>{t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r),O=(e=>(e.FEED_ENTER="feed_enter",e.CLICK_COMMENT_BUTTON="click_comment_button",e.COMMENTS_LOAD_COMPLETE="comments_load_complete",e.POST_COMMENT="post_comment",e.CLOSE_COMMENT="close_comment",e.LIKE="like",e.CANCEL_LIKE="like_cancel",e.CLICK_FAVORITE_VIDEO="favourite_video",e.CANCEL_FAVORITE_VIDEO="cancel_favourite_video",e.SHARE_PANEL_SHOW="share_panel_show",e.FOLLOW="follow",e.UN_FOLLOW="unfollow",e.SHARE_VIDEO="share_video",e.INTERACT_EXISTED_VIDEO_START="interact_existed_video_start",e.INTERACT_EXISTED_VIDEO_END="interact_existed_video_end",e.BEFORE_VIDEO_PLAY="before_video_play",e.VIDEO_PLAY="video_play",e.VIDEO_PAUSE="video_pause",e.PLAY_TIME="play_time",e.CREATOR_VIDEOS_LOAD_COMPLETE="creator_videos_load_complete",e.VIDEO_PLAY_FINISH="video_play_finish",e.ON_DEVICE_ML_PREDICT="on_device_ml_predict",e))(O||{}),f=(e=>(e.TIKTOK_WEB_FYP="tiktok-web-fyp",e))(f||{}),h=(e=>(e.COMMENT="comment",e.CREATOR_VIDEOS="creator_videos",e.VIDEO_PRELOAD="video_preload",e))(h||{}),T={"tiktok-web-fyp":O},g="singleton-sibyl:collector_instance",D=Symbol("singleton-decorator:instance");function y(e){return t=>{const r=t.prototype.eventNames||[];t.prototype.eventNames=[...r,...e]}}function m(){return"undefined"!=typeof window?window:void 0!==r.g?r.g:this}m();var w=(e=>(e.SIBYL_SDK_COLLECTOR_INIT_RESULT="sibyl_sdk_collector_init_result",e.SIBYL_SDK_COLLECTOR_DESTROY_RESULT="sibyl_sdk_collector_destroy_result",e.SIBYL_SDK_ENGINE_INIT_RESULT="sibyl_sdk_engine_init_result",e.SIBYL_SDK_ENGINE_LOAD_WASM="sibyl_sdk_engine_load_wasm_result",e.SIBYL_SDK_ENGINE_DESTROY_RESULT="sibyl_sdk_engine_destroy_result",e.SIBYL_SDK_LOAD_MODEL_RESULT="sibyl_sdk_load_model_result",e.SIBYL_SDK_INFERENCE_RESULT="sibyl_sdk_inference_result",e.SIBYL_SDK_REAL_RESULT="sibyl_sdk_real_result",e))(w||{}),b=class e{static initTea(){return this._instance||(this._instance=new e),this._instance}static getTeaInstance(){return this._teaInstance||(this._teaInstance=new n.g("sibylSdkTea")),this._teaInstance}constructor(){const t=e.getTeaInstance();t.init({app_id:594856,channel:"va"}),t.start()}};E(b,"_instance"),E(b,"_teaInstance");var P=b,v=(e,t)=>{var r;null==(r=P.getTeaInstance())||r.event(e,t)},R=e=>null==e||e===-1/0||e===1/0||isNaN(e)?0:e,M=new o.A,S=class{constructor(e){this.options=null,this.options=e,this.init(),this.bind()}init(){}handler(e){void 0===this.options.groupId&&(this.options.groupId=e.data.group_id),this.observe(u({},e))}observe(e){console.log("observe: ",u({},e))}bind(){var e;null==(e=this.eventNames)||e.forEach((e=>{M.on(e,this.handler,this)}))}destroy(){this.eventNames.forEach((e=>{M.removeListener(e,this.handler,this)}))}emit(e,t){M.emit(e,t)}getFeatures(){return this.features}},I=class extends S{constructor(){super(...arguments),this.features={count:{[O.CLICK_COMMENT_BUTTON]:0,[O.FEED_ENTER]:0},open:!1,openTimes:0,hasCommentOn:!1}}observe({eventName:e,data:t}){t.group_id===this.options.groupId&&(e===O.COMMENTS_LOAD_COMPLETE&&this.features.openTimes++,e!==O.CLICK_COMMENT_BUTTON&&e!==O.FEED_ENTER||(this.features.open=!0,this.features.count[e]++),e===O.CLOSE_COMMENT&&(this.features.open=!1),e===O.POST_COMMENT&&(this.features.hasCommentOn=!0))}},A=I=p([y([O.CLICK_COMMENT_BUTTON,O.COMMENTS_LOAD_COMPLETE,O.POST_COMMENT,O.CLOSE_COMMENT,O.FEED_ENTER])],I),F={unknown:0,browser_mode:1,one_column:2},C=class extends S{constructor(){super(...arguments),this.features={duration:0,likeCount:0,shareCount:0,commentCount:0,collectCount:0,playTime:0,playCount:0,playMode:0,hasPlayed:!1,isFinish:!1,nextVideoInfo:[]}}observe({eventName:e,data:t}){var r,n,o,i,a,s,c,l;t.group_id===this.options.groupId&&(e===O.VIDEO_PLAY&&(this.features.likeCount=null!=(r=t.video_like_history)?r:0,this.features.commentCount=null!=(n=t.video_comment_history)?n:0,this.features.collectCount=null!=(o=t.video_favorite_history)?o:0,this.features.shareCount=null!=(i=t.video_share_history)?i:0,this.features.duration=null!=(a=t.video_duration)?a:0,this.features.playCount=null!=(s=t.video_vv_history)?s:0,this.features.playMode=null!=(c=F[t.play_mode])?c:0,this.features.hasPlayed=!0,this.features.nextVideoInfo=JSON.parse(null!=(l=t.video_next_info)?l:"[]")),e===O.PLAY_TIME&&(this.features.playTime+=t.duration),e===O.VIDEO_PLAY_FINISH&&(this.features.isFinish=!0))}},N=C=p([y([O.PLAY_TIME,O.VIDEO_PLAY,O.VIDEO_PLAY_FINISH])],C),U=class extends S{constructor(){super(...arguments),this.features={count:0}}observe({eventName:e,data:t}){t.group_id===this.options.groupId&&e===O.CREATOR_VIDEOS_LOAD_COMPLETE&&this.features.count++}},j=U=p([y([O.CREATOR_VIDEOS_LOAD_COMPLETE])],U),x=class extends S{constructor(){super(...arguments),this.features={likeCount:0,like:!1,shareCount:0,favorite:!1,follow:!1,followCount:0,unFollowCount:0,shareShowCount:0,likeCancelCount:0,pauseCount:0}}observe({eventName:e,data:t}){t.group_id===this.options.groupId&&(e===O.LIKE&&(this.features.likeCount++,this.features.like=!0),e===O.CANCEL_LIKE&&(this.features.like=!1,this.features.likeCancelCount++),e===O.CLICK_FAVORITE_VIDEO&&(this.features.favorite=!0),e===O.CANCEL_FAVORITE_VIDEO&&(this.features.favorite=!1),e===O.FOLLOW&&(this.features.follow=!0,this.features.followCount++),e===O.UN_FOLLOW&&(this.features.follow=!1,this.features.unFollowCount++),e===O.SHARE_PANEL_SHOW&&this.features.shareShowCount++,e===O.SHARE_VIDEO&&this.features.shareCount++,e===O.VIDEO_PAUSE&&this.features.pauseCount++)}},L=x=p([y([O.LIKE,O.CANCEL_LIKE,O.CLICK_FAVORITE_VIDEO,O.CANCEL_FAVORITE_VIDEO,O.FOLLOW,O.UN_FOLLOW,O.SHARE_PANEL_SHOW,O.SHARE_VIDEO,O.VIDEO_PAUSE])],x),k=class extends S{constructor(){super(...arguments),this.features={[h.COMMENT]:null,[h.VIDEO_PRELOAD]:null,[h.CREATOR_VIDEOS]:null}}observe({eventName:e,data:t}){t.group_id===this.options.groupId&&e===O.ON_DEVICE_ML_PREDICT&&void 0!==t.scene&&(this.features[t.scene]={hit:t.hit,predict_value:t.predict_value})}},H=k=p([y([O.ON_DEVICE_ML_PREDICT])],k),Q=class extends S{constructor(){super(...arguments),this.features=[]}init(){this.features=[]}initSubFeatures(e){var t,r,n,o;const i=this.features.findIndex((t=>{var r,n;return(null==(n=null==(r=null==t?void 0:t.video)?void 0:r.options)?void 0:n.groupId)===(null==e?void 0:e.groupId)}));if(!0==i>-1)return void(null==(o=this.features)||o.splice(null==(t=this.features)?void 0:t.length,0,null==(n=null==(r=this.features)?void 0:r.splice(i,1))?void 0:n[0]));const a=new N(e),s=new A(e),c=new j(e),l=new L(e),d=new H(e);if(10===this.features.length){const e=this.features.shift();Object.values(e).forEach((e=>{var t;return null==(t=null==e?void 0:e.destroy)?void 0:t.call(e)}))}this.features.push({video:a,comment:s,profile:c,interactive:l,inference:d})}observe({eventName:e,data:t}){e===O.BEFORE_VIDEO_PLAY&&0===(null==t?void 0:t.aweme_type)&&this.initSubFeatures({groupId:t.group_id})}getLatestVideo(){var e;return null==(e=this.features[this.features.length-1])?void 0:e.video}},X=Q=p([y([O.BEFORE_VIDEO_PLAY])],Q),V=class{constructor(e){this.options=e,this.init()}init(){this.options.biz===f.TIKTOK_WEB_FYP&&(this.collector={feed:new X({})})}getCollector(){return this.collector}},W={getCommentInputFeature(e){var t,r,n,o,i,a,s,c,l;const d=null==(t=e.feed)?void 0:t.getFeatures(),u=null!=(r=null==d?void 0:d.map((e=>e.video)))?r:[],p=u.filter((e=>e.features.hasPlayed)),_=null!=(n=null==d?void 0:d.map((e=>e.comment)))?n:[],E=null!=(o=null==d?void 0:d.map((e=>e.interactive)))?o:[],f=null!=(i=null==d?void 0:d.map((e=>e.profile)))?i:[],h=p.slice(0,-1).map((e=>e.features.playTime)),T=h.reduce(((e,t)=>e+t),0),g=T/h.length,D=_.filter((e=>e.features.hasCommentOn)).length,y=_.reduce(((e,t)=>e+t.features.count[O.CLICK_COMMENT_BUTTON]),0),m=_.reduce(((e,t)=>e+t.features.count[O.FEED_ENTER]),0),w=null==(s=null==(a=null==u?void 0:u.slice(0,-1))?void 0:a.filter((e=>{var t;return e.features.playTime>(null==(t=e.features)?void 0:t.duration)})))?void 0:s.length,b=f.reduce(((e,t)=>e+t.features.count),0),P=E.slice(0,-1).filter((e=>e.features.followCount)).length,v=E.slice(0,-1).reduce(((e,t)=>e+t.features.unFollowCount),0),M=E.slice(0,-1).reduce(((e,t)=>e+t.features.shareCount),0),S=E.slice(0,-1).reduce(((e,t)=>e+t.features.shareShowCount),0),I=E.slice(0,-1).reduce(((e,t)=>e+t.features.likeCount),0),A=E.slice(0,-1).reduce(((e,t)=>e+t.features.likeCancelCount),0),{likeCount:F=0,shareCount:C=0,commentCount:N=0,playTime:U=0,duration:j=0,playCount:x=0}=null!=(l=null==(c=null==p?void 0:p[(null==p?void 0:p.length)-1])?void 0:c.features)?l:{};return{pre_video_play_mode_list:Array(10).fill(0).map(((e,t)=>{var r,n;return t>=u.length?0:(null!=(n=null==(r=u[t])?void 0:r.features)?n:{}).playMode})),pre_video_count:u.length-1,video_time:j,play_time:U,pre_play_time_total:T,pre_play_time_avg:g,pre_play_time_min:R(Math.min(...h)),pre_play_time_max:R(Math.max(...h)),pre_comment_cnt:D,pre_click_comment_cnt:y,pre_click_video_card_cnt:m,pre_like_cnt:I,pre_like_cancel:A,pre_finish_cnt:w,pre_author_cnt:b,pre_follow_cnt:P,pre_unfollow_cnt:v,pre_share_cnt:M,pre_share_show_cnt:S,item_like_cnt:F,item_share_cnt:C,item_comment_cnt:N,item_play_cnt:x}}},$={getPlayerPreloadInputFeature(e){var t,r,n,o,i,a,s;const c=(null!=(r=null==(t=e.feed)?void 0:t.getFeatures())?r:[]).slice(0,-1).slice(-5),l=[];let d=0,u=0,p=0,_=0,E=0;const O={};for(let e=0;e<5;e++){const t=c[e];if(!t){O[`skip_${e}`]=0,O[`play_time_${e}`]=0,O[`p_comment_${e}`]=0,O[`p_duration_${e}`]=0,O[`p_like_${e}`]=0;continue}const r=t.video,n=t.comment,o=t.interactive;if(!r||!n||!o)continue;const i=r.features.playTime;l.push(i);const a=i<2e3||!r.features.hasPlayed?1:0,s=r.features.isFinish,f=o.features.like,h=n.features.hasCommentOn,T=o.features.followCount;a&&d++,f&&u++,s&&p++,h&&_++,O[`skip_${e}`]=a,O[`play_time_${e}`]=i,O[`p_comment_${e}`]=r.features.commentCount,O[`p_duration_${e}`]=r.features.duration,O[`p_like_${e}`]=r.features.likeCount,E+=T}const{median:f,avg:h,max:T,min:g,sum:D}=function(e){if(0===e.length)return{median:0,avg:0,max:0,min:0,sum:0};let t=0,r=e[0],n=e[0];for(const o of e)t+=o,r=Math.max(r,o),n=Math.min(n,o);const o=t/e.length,i=e.slice().sort(((e,t)=>e-t));let a;return a=e.length%2==1?i[Math.floor(e.length/2)]:(i[Math.floor(e.length/2)-1]+i[Math.floor(e.length/2)])/2,{median:a,avg:o,max:r,min:n,sum:t}}(l);O.play_time_mid=f,O.play_time_avg=h,O.play_time_max=T,O.play_time_min=g,O.play_time_total=D,O.skip_cnt=d,O.like_cnt=u,O.finish_cnt=p,O.comment_cnt=_,O.follow_cnt=E;const y=null==(n=e.feed)?void 0:n.getLatestVideo(),m=null!=(o=null==y?void 0:y.features.commentCount)?o:0,w=null!=(i=null==y?void 0:y.features.likeCount)?i:0,b=null!=(a=null==y?void 0:y.features.duration)?a:0;O.v_comment_cnt=m,O.v_like_cnt=w,O.v_duration=b;const P=null!=(s=null==y?void 0:y.features.nextVideoInfo)?s:[];for(let e=0;e<4;e++){const t=P[e];t?(O[`v_comment_${e}`]=t.comment_cnt,O[`v_like_${e}`]=t.like_cnt,O[`v_duration_${e}`]=t.duration):(O[`v_comment_${e}`]=0,O[`v_like_${e}`]=0,O[`v_duration_${e}`]=0)}return O}},B=m(),Y=class{constructor(e){this.options=e,this.featureCollector=new V({biz:e.biz}),this.listener=this.listener.bind(this),P.initTea()}listener(e){var t;const r=Object.values(T[this.options.biz]);null==(t=null==e?void 0:e.forEach)||t.call(e,(e=>{var t;null==(t=null==e?void 0:e.events)||t.forEach((e=>{const{event:t,params:n,session_id:o}=e,i=(e=>{try{return JSON.parse(e)}catch(e){return{}}})(n);r.includes(t)&&(M.emit(`before_${t}`,{eventName:`before_${t}`,data:i,sessionId:o}),M.emit(t,{eventName:t,data:i,sessionId:o}))}))}))}getFeatures(e){return((e,t)=>e===h.COMMENT||e===h.CREATOR_VIDEOS?W.getCommentInputFeature(t.getCollector()):e===h.VIDEO_PRELOAD?$.getPlayerPreloadInputFeature(t.getCollector()):{})(e,this.featureCollector)}observe(){var e,t;if(B[g]||(B[g]=this.featureCollector),this.options.teaInstance)return v(w.SIBYL_SDK_COLLECTOR_INIT_RESULT,{biz:null==(e=this.options)?void 0:e.biz,config:this.options}),void this.options.teaInstance.on("submit-after",this.listener);null==(t=B.collectEvent)||t.call(B,"on","submit-after",this.listener)}destroy(){var e,t,r;B[g]=null,this.options.teaInstance?null==(t=null==(e=this.options)?void 0:e.teaInstance)||t.off("submit-after",(()=>{var e;v(w.SIBYL_SDK_COLLECTOR_DESTROY_RESULT,{biz:null==(e=this.options)?void 0:e.biz,config:this.options})})):null==(r=B.collectEvent)||r.call(B,"off","submit-after",this.listener)}};Y=p([function(e){return new Proxy(e,{construct:function(e,t){return function(e,...t){return e[D]||(e[D]=new e(...t)),e[D]}(e,...t)}})}],Y)},49393:(e,t,r)=>{r.r(t),r.d(t,{EBiz:()=>ue,EScene:()=>_e,EVideoSlideSpeed:()=>pe,Engine:()=>ve,Sibyl:()=>Ae});var n=r(4975),o=r(85135),i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,d=(e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,u=(e,t)=>{for(var r in t||(t={}))c.call(t,r)&&d(e,r,t[r]);if(s)for(var r of s(t))l.call(t,r)&&d(e,r,t[r]);return e},p=(e,t,r,n)=>{for(var o,s=n>1?void 0:n?a(t,r):t,c=e.length-1;c>=0;c--)(o=e[c])&&(s=(n?o(t,r,s):o(s))||s);return n&&s&&i(t,r,s),s},_=Object.defineProperty,E=(e,t,r)=>(((e,t,r)=>{t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r),O=(e=>(e.FEED_ENTER="feed_enter",e.CLICK_COMMENT_BUTTON="click_comment_button",e.COMMENTS_LOAD_COMPLETE="comments_load_complete",e.POST_COMMENT="post_comment",e.CLOSE_COMMENT="close_comment",e.LIKE="like",e.CANCEL_LIKE="like_cancel",e.CLICK_FAVORITE_VIDEO="favourite_video",e.CANCEL_FAVORITE_VIDEO="cancel_favourite_video",e.SHARE_PANEL_SHOW="share_panel_show",e.FOLLOW="follow",e.UN_FOLLOW="unfollow",e.SHARE_VIDEO="share_video",e.INTERACT_EXISTED_VIDEO_START="interact_existed_video_start",e.INTERACT_EXISTED_VIDEO_END="interact_existed_video_end",e.BEFORE_VIDEO_PLAY="before_video_play",e.VIDEO_PLAY="video_play",e.VIDEO_PAUSE="video_pause",e.PLAY_TIME="play_time",e.CREATOR_VIDEOS_LOAD_COMPLETE="creator_videos_load_complete",e.VIDEO_PLAY_FINISH="video_play_finish",e))(O||{}),f=["play_time_0","play_time_1","play_time_2","play_time_3","play_time_4","play_time_avg","play_time_max","play_time_mid","play_time_min","play_time_total","comment_cnt","skip_cnt","like_cnt","finish_cnt","follow_cnt","skip_0","skip_1","skip_2","skip_3","skip_4","p_comment_0","p_comment_1","p_comment_2","p_comment_3","p_comment_4","p_duration_0","p_duration_1","p_duration_2","p_duration_3","p_duration_4","p_like_0","p_like_1","p_like_2","p_like_3","p_like_4","v_comment_cnt","v_comment_1","v_comment_2","v_comment_3","v_comment_4","v_duration","v_duration_1","v_duration_2","v_duration_3","v_duration_4","v_like_cnt","v_like_1","v_like_2","v_like_3","v_like_4"],h=(e=>(e.TIKTOK_WEB_FYP="tiktok-web-fyp",e))(h||{}),T=(e=>(e.COMMENT="comment",e.CREATOR_VIDEOS="creator_videos",e.VIDEO_PRELOAD="video_preload",e))(T||{}),g={"tiktok-web-fyp":O},D="singleton-sibyl:collector_instance",y=Symbol("singleton-decorator:instance");function m(e){return t=>{const r=t.prototype.eventNames||[];t.prototype.eventNames=[...r,...e]}}function w(){return"undefined"!=typeof window?window:void 0!==r.g?r.g:this}w();var b=(e=>(e.SIBYL_SDK_COLLECTOR_INIT_RESULT="sibyl_sdk_collector_init_result",e.SIBYL_SDK_COLLECTOR_DESTROY_RESULT="sibyl_sdk_collector_destroy_result",e.SIBYL_SDK_ENGINE_INIT_RESULT="sibyl_sdk_engine_init_result",e.SIBYL_SDK_ENGINE_LOAD_WASM="sibyl_sdk_engine_load_wasm_result",e.SIBYL_SDK_ENGINE_DESTROY_RESULT="sibyl_sdk_engine_destroy_result",e.SIBYL_SDK_LOAD_MODEL_RESULT="sibyl_sdk_load_model_result",e.SIBYL_SDK_INFERENCE_RESULT="sibyl_sdk_inference_result",e))(b||{}),P=class e{static initTea(){return this._instance||(this._instance=new e),this._instance}static getTeaInstance(){return this._teaInstance||(this._teaInstance=new n.g("sibylSdkTea")),this._teaInstance}constructor(){const t=e.getTeaInstance();t.init({app_id:594856,channel:"va"}),t.start()}};E(P,"_instance"),E(P,"_teaInstance");var v=P,R=(e,t)=>{var r;null==(r=v.getTeaInstance())||r.event(e,t)},M=e=>null==e||e===-1/0||e===1/0||isNaN(e)?0:e,S=new o.A,I=class{constructor(e){this.options=null,this.options=e,this.init(),this.bind()}init(){}handler(e){void 0===this.options.groupId&&(this.options.groupId=e.data.group_id),this.observe(u({},e))}observe(e){console.log("observe: ",u({},e))}bind(){var e;null==(e=this.eventNames)||e.forEach((e=>{S.on(e,this.handler,this)}))}destroy(){this.eventNames.forEach((e=>{S.removeListener(e,this.handler,this)}))}emit(e,t){S.emit(e,t)}getFeatures(){return this.features}},A=class extends I{constructor(){super(...arguments),this.features={count:{[O.CLICK_COMMENT_BUTTON]:0,[O.FEED_ENTER]:0},open:!1,openTimes:0,hasCommentOn:!1}}observe({eventName:e,data:t}){t.group_id===this.options.groupId&&(e===O.COMMENTS_LOAD_COMPLETE&&this.features.openTimes++,e!==O.CLICK_COMMENT_BUTTON&&e!==O.FEED_ENTER||(this.features.open=!0,this.features.count[e]++),e===O.CLOSE_COMMENT&&(this.features.open=!1),e===O.POST_COMMENT&&(this.features.hasCommentOn=!0))}},F=A=p([m([O.CLICK_COMMENT_BUTTON,O.COMMENTS_LOAD_COMPLETE,O.POST_COMMENT,O.CLOSE_COMMENT,O.FEED_ENTER])],A),C={unknown:0,browser_mode:1,one_column:2},N=class extends I{constructor(){super(...arguments),this.features={duration:0,likeCount:0,shareCount:0,commentCount:0,collectCount:0,playTime:0,playCount:0,playMode:0,hasPlayed:!1,isFinish:!1,nextVideoInfo:[]}}observe({eventName:e,data:t}){var r,n,o,i,a,s,c,l;t.group_id===this.options.groupId&&(e===O.VIDEO_PLAY&&(this.features.likeCount=null!=(r=t.video_like_history)?r:0,this.features.commentCount=null!=(n=t.video_comment_history)?n:0,this.features.collectCount=null!=(o=t.video_favorite_history)?o:0,this.features.shareCount=null!=(i=t.video_share_history)?i:0,this.features.duration=null!=(a=t.video_duration)?a:0,this.features.playCount=null!=(s=t.video_vv_history)?s:0,this.features.playMode=null!=(c=C[t.play_mode])?c:0,this.features.hasPlayed=!0,this.features.nextVideoInfo=JSON.parse(null!=(l=t.video_next_info)?l:"[]")),e===O.PLAY_TIME&&(this.features.playTime+=t.duration),e===O.VIDEO_PLAY_FINISH&&(this.features.isFinish=!0))}},U=N=p([m([O.PLAY_TIME,O.VIDEO_PLAY,O.VIDEO_PLAY_FINISH])],N),j=class extends I{constructor(){super(...arguments),this.features={count:0}}observe({eventName:e,data:t}){t.group_id===this.options.groupId&&e===O.CREATOR_VIDEOS_LOAD_COMPLETE&&this.features.count++}},x=j=p([m([O.CREATOR_VIDEOS_LOAD_COMPLETE])],j),L=class extends I{constructor(){super(...arguments),this.features={likeCount:0,like:!1,shareCount:0,favorite:!1,follow:!1,followCount:0,unFollowCount:0,shareShowCount:0,likeCancelCount:0,pauseCount:0}}observe({eventName:e,data:t}){t.group_id===this.options.groupId&&(e===O.LIKE&&(this.features.likeCount++,this.features.like=!0),e===O.CANCEL_LIKE&&(this.features.like=!1,this.features.likeCancelCount++),e===O.CLICK_FAVORITE_VIDEO&&(this.features.favorite=!0),e===O.CANCEL_FAVORITE_VIDEO&&(this.features.favorite=!1),e===O.FOLLOW&&(this.features.follow=!0,this.features.followCount++),e===O.UN_FOLLOW&&(this.features.follow=!1,this.features.unFollowCount++),e===O.SHARE_PANEL_SHOW&&this.features.shareShowCount++,e===O.SHARE_VIDEO&&this.features.shareCount++,e===O.VIDEO_PAUSE&&this.features.pauseCount++)}},k=L=p([m([O.LIKE,O.CANCEL_LIKE,O.CLICK_FAVORITE_VIDEO,O.CANCEL_FAVORITE_VIDEO,O.FOLLOW,O.UN_FOLLOW,O.SHARE_PANEL_SHOW,O.SHARE_VIDEO,O.VIDEO_PAUSE])],L),H=class extends I{constructor(){super(...arguments),this.features=[]}init(){this.features=[]}initSubFeatures(e){var t,r,n,o;const i=this.features.findIndex((t=>{var r,n;return(null==(n=null==(r=null==t?void 0:t.video)?void 0:r.options)?void 0:n.groupId)===(null==e?void 0:e.groupId)}));if(!0==i>-1)return void(null==(o=this.features)||o.splice(null==(t=this.features)?void 0:t.length,0,null==(n=null==(r=this.features)?void 0:r.splice(i,1))?void 0:n[0]));const a=new U(e),s=new F(e),c=new x(e),l=new k(e);if(10===this.features.length){const e=this.features.shift();Object.values(e).forEach((e=>{var t;return null==(t=null==e?void 0:e.destroy)?void 0:t.call(e)}))}this.features.push({video:a,comment:s,profile:c,interactive:l})}observe({eventName:e,data:t}){e===O.BEFORE_VIDEO_PLAY&&0===(null==t?void 0:t.aweme_type)&&this.initSubFeatures({groupId:t.group_id})}getLatestVideo(){var e;return null==(e=this.features[this.features.length-1])?void 0:e.video}},Q=H=p([m([O.BEFORE_VIDEO_PLAY])],H),X=class{constructor(e){this.options=e,this.init()}init(){this.options.biz===h.TIKTOK_WEB_FYP&&(this.collector={feed:new Q({})})}getCollector(){return this.collector}},V={getCommentInputFeature(e){var t,r,n,o,i,a,s,c,l;const d=null==(t=e.feed)?void 0:t.getFeatures(),u=null!=(r=null==d?void 0:d.map((e=>e.video)))?r:[],p=u.filter((e=>e.features.hasPlayed)),_=null!=(n=null==d?void 0:d.map((e=>e.comment)))?n:[],E=null!=(o=null==d?void 0:d.map((e=>e.interactive)))?o:[],f=null!=(i=null==d?void 0:d.map((e=>e.profile)))?i:[],h=p.slice(0,-1).map((e=>e.features.playTime)),T=h.reduce(((e,t)=>e+t),0),g=T/h.length,D=_.filter((e=>e.features.hasCommentOn)).length,y=_.reduce(((e,t)=>e+t.features.count[O.CLICK_COMMENT_BUTTON]),0),m=_.reduce(((e,t)=>e+t.features.count[O.FEED_ENTER]),0),w=null==(s=null==(a=null==u?void 0:u.slice(0,-1))?void 0:a.filter((e=>{var t;return e.features.playTime>(null==(t=e.features)?void 0:t.duration)})))?void 0:s.length,b=f.reduce(((e,t)=>e+t.features.count),0),P=E.slice(0,-1).filter((e=>e.features.followCount)).length,v=E.slice(0,-1).reduce(((e,t)=>e+t.features.unFollowCount),0),R=E.slice(0,-1).reduce(((e,t)=>e+t.features.shareCount),0),S=E.slice(0,-1).reduce(((e,t)=>e+t.features.shareShowCount),0),I=E.slice(0,-1).reduce(((e,t)=>e+t.features.likeCount),0),A=E.slice(0,-1).reduce(((e,t)=>e+t.features.likeCancelCount),0),{likeCount:F=0,shareCount:C=0,commentCount:N=0,playTime:U=0,duration:j=0,playCount:x=0}=null!=(l=null==(c=null==p?void 0:p[(null==p?void 0:p.length)-1])?void 0:c.features)?l:{};return{pre_video_play_mode_list:Array(10).fill(0).map(((e,t)=>{var r,n;return t>=u.length?0:(null!=(n=null==(r=u[t])?void 0:r.features)?n:{}).playMode})),pre_video_count:u.length-1,video_time:j,play_time:U,pre_play_time_total:T,pre_play_time_avg:g,pre_play_time_min:M(Math.min(...h)),pre_play_time_max:M(Math.max(...h)),pre_comment_cnt:D,pre_click_comment_cnt:y,pre_click_video_card_cnt:m,pre_like_cnt:I,pre_like_cancel:A,pre_finish_cnt:w,pre_author_cnt:b,pre_follow_cnt:P,pre_unfollow_cnt:v,pre_share_cnt:R,pre_share_show_cnt:S,item_like_cnt:F,item_share_cnt:C,item_comment_cnt:N,item_play_cnt:x}}},W={getPlayerPreloadInputFeature(e){var t,r,n,o,i,a,s;const c=(null!=(r=null==(t=e.feed)?void 0:t.getFeatures())?r:[]).slice(0,-1).slice(-5),l=[];let d=0,u=0,p=0,_=0,E=0;const O={};for(let e=0;e<5;e++){const t=c[e];if(!t){O[`skip_${e}`]=0,O[`play_time_${e}`]=0,O[`p_comment_${e}`]=0,O[`p_duration_${e}`]=0,O[`p_like_${e}`]=0;continue}const r=t.video,n=t.comment,o=t.interactive;if(!r||!n||!o)continue;const i=r.features.playTime;l.push(i);const a=i<2e3||!r.features.hasPlayed?1:0,s=r.features.isFinish,f=o.features.like,h=n.features.hasCommentOn,T=o.features.followCount;a&&d++,f&&u++,s&&p++,h&&_++,O[`skip_${e}`]=a,O[`play_time_${e}`]=i,O[`p_comment_${e}`]=r.features.commentCount,O[`p_duration_${e}`]=r.features.duration,O[`p_like_${e}`]=r.features.likeCount,E+=T}const{median:f,avg:h,max:T,min:g,sum:D}=function(e){if(0===e.length)return{median:0,avg:0,max:0,min:0,sum:0};let t=0,r=e[0],n=e[0];for(const o of e)t+=o,r=Math.max(r,o),n=Math.min(n,o);const o=t/e.length,i=e.slice().sort(((e,t)=>e-t));let a;return a=e.length%2==1?i[Math.floor(e.length/2)]:(i[Math.floor(e.length/2)-1]+i[Math.floor(e.length/2)])/2,{median:a,avg:o,max:r,min:n,sum:t}}(l);O.play_time_mid=f,O.play_time_avg=h,O.play_time_max=T,O.play_time_min=g,O.play_time_total=D,O.skip_cnt=d,O.like_cnt=u,O.finish_cnt=p,O.comment_cnt=_,O.follow_cnt=E;const y=null==(n=e.feed)?void 0:n.getLatestVideo(),m=null!=(o=null==y?void 0:y.features.commentCount)?o:0,w=null!=(i=null==y?void 0:y.features.likeCount)?i:0,b=null!=(a=null==y?void 0:y.features.duration)?a:0;O.v_comment_cnt=m,O.v_like_cnt=w,O.v_duration=b;const P=null!=(s=null==y?void 0:y.features.nextVideoInfo)?s:[];for(let e=0;e<4;e++){const t=P[e];t?(O[`v_comment_${e}`]=t.comment_cnt,O[`v_like_${e}`]=t.like_cnt,O[`v_duration_${e}`]=t.duration):(O[`v_comment_${e}`]=0,O[`v_like_${e}`]=0,O[`v_duration_${e}`]=0)}return O}},$=(e,t)=>e===T.COMMENT||e===T.CREATOR_VIDEOS?V.getCommentInputFeature(t.getCollector()):e===T.VIDEO_PRELOAD?W.getPlayerPreloadInputFeature(t.getCollector()):{},B=w(),Y=class{constructor(e){this.options=e,this.featureCollector=new X({biz:e.biz}),this.listener=this.listener.bind(this),v.initTea()}listener(e){var t;const r=Object.values(g[this.options.biz]);null==(t=null==e?void 0:e.forEach)||t.call(e,(e=>{var t;null==(t=null==e?void 0:e.events)||t.forEach((e=>{const{event:t,params:n,session_id:o}=e,i=(e=>{try{return JSON.parse(e)}catch(e){return{}}})(n);r.includes(t)&&(S.emit(`before_${t}`,{eventName:`before_${t}`,data:i,sessionId:o}),S.emit(t,{eventName:t,data:i,sessionId:o}))}))}))}getFeatures(e){return $(e,this.featureCollector)}observe(){var e,t;if(B[D]||(B[D]=this.featureCollector),this.options.teaInstance)return R(b.SIBYL_SDK_COLLECTOR_INIT_RESULT,{biz:null==(e=this.options)?void 0:e.biz,config:this.options}),void this.options.teaInstance.on("submit-after",this.listener);null==(t=B.collectEvent)||t.call(B,"on","submit-after",this.listener)}destroy(){var e,t,r;B[D]=null,this.options.teaInstance?null==(t=null==(e=this.options)?void 0:e.teaInstance)||t.off("submit-after",(()=>{var e;R(b.SIBYL_SDK_COLLECTOR_DESTROY_RESULT,{biz:null==(e=this.options)?void 0:e.biz,config:this.options})})):null==(r=B.collectEvent)||r.call(B,"off","submit-after",this.listener)}};Y=p([function(e){return new Proxy(e,{construct:function(e,t){return function(e,...t){return e[y]||(e[y]=new e(...t)),e[y]}(e,...t)}})}],Y);var G=e=>[...e.pre_video_play_mode_list,e.pre_play_time_total,e.pre_finish_cnt,e.pre_like_cnt,e.pre_click_comment_cnt,e.pre_comment_cnt,e.pre_like_cancel,e.pre_follow_cnt,e.pre_share_show_cnt,e.pre_share_cnt,e.pre_unfollow_cnt,e.pre_click_video_card_cnt,e.video_time,e.item_like_cnt,e.item_play_cnt,e.item_comment_cnt,e.item_share_cnt],K=e=>f.map((t=>void 0!==e[t]?e[t]:0)),z=(e,t)=>e===T.COMMENT||e===T.CREATOR_VIDEOS?G(t):e===T.VIDEO_PRELOAD?K(t):[],q=r(86736),Z=r.n(q),J=Object.defineProperty,ee=Object.defineProperties,te=Object.getOwnPropertyDescriptors,re=Object.getOwnPropertySymbols,ne=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable,ie=(e,t,r)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ae=(e,t)=>{for(var r in t||(t={}))ne.call(t,r)&&ie(e,r,t[r]);if(re)for(var r of re(t))oe.call(t,r)&&ie(e,r,t[r]);return e},se=(e,t)=>ee(e,te(t)),ce=(e,t,r)=>new Promise(((n,o)=>{var i=e=>{try{s(r.next(e))}catch(e){o(e)}},a=e=>{try{s(r.throw(e))}catch(e){o(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,a);s((r=r.apply(e,t)).next())})),le=Object.defineProperty,de=(e,t,r)=>(((e,t,r)=>{t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r),ue=(e=>(e.TIKTOK_WEB_FYP="tiktok-web-fyp",e))(ue||{}),pe=(e=>(e[e.Normal=0]="Normal",e[e.Fast=1]="Fast",e[e.Slow=2]="Slow",e))(pe||{}),_e=(e=>(e.COMMENT="comment",e.CREATOR_VIDEOS="creator_videos",e.VIDEO_PRELOAD="video_preload",e))(_e||{}),Ee="singleton-sibyl:instance",Oe="singleton-sibyl:strategy_instance",fe="singleton-sibyl:engine_instance",he="singleton-sibyl:collector_instance";function Te(){return"undefined"!=typeof window?window:void 0!==r.g?r.g:this}Symbol("singleton-decorator:instance");var ge=Te();function De(e){return(...t)=>{try{ge.location.search.indexOf("sibyl-debug")>-1&&console.log.apply(console,[`Sibyl Debug::${e}:`,...t])}catch(e){}}}var ye=(e=>(e.SIBYL_SDK_COLLECTOR_INIT_RESULT="sibyl_sdk_collector_init_result",e.SIBYL_SDK_COLLECTOR_DESTROY_RESULT="sibyl_sdk_collector_destroy_result",e.SIBYL_SDK_ENGINE_INIT_RESULT="sibyl_sdk_engine_init_result",e.SIBYL_SDK_ENGINE_LOAD_WASM="sibyl_sdk_engine_load_wasm_result",e.SIBYL_SDK_ENGINE_DESTROY_RESULT="sibyl_sdk_engine_destroy_result",e.SIBYL_SDK_LOAD_MODEL_RESULT="sibyl_sdk_load_model_result",e.SIBYL_SDK_INFERENCE_RESULT="sibyl_sdk_inference_result",e.SIBYL_SDK_REAL_RESULT="sibyl_sdk_real_result",e))(ye||{}),me=class e{static initTea(){return this._instance||(this._instance=new e),this._instance}static getTeaInstance(){return this._teaInstance||(this._teaInstance=new n.g("sibylSdkTea")),this._teaInstance}constructor(){const t=e.getTeaInstance();t.init({app_id:594856,channel:"va"}),t.start()}};de(me,"_instance"),de(me,"_teaInstance");var we=me,be=(e,t)=>{var r;null==(r=we.getTeaInstance())||r.event(e,t)},Pe=De("Engine"),ve=class{constructor(e){this.scene=e.scene,this.byteNN=e.byteNN,this.modelUrl=e.modelUrl,this.config={inputs:e.inputs,outputs:e.outputs},this.featureCollector=e.featureCollector}loadModel(e){if(null==e||0===e.length)throw new Error("model url is empty");return fetch(e).then((e=>e.arrayBuffer())).then((e=>new Uint8Array(e)))}createConfig(e){return e.join(",")}initEngine(){return ce(this,null,(function*(){const e=Date.now();try{const t=this.createConfig(this.config.inputs),r=this.createConfig(this.config.outputs),n=this.byteNN.createConfig(t,r),o=yield this.loadModel(this.modelUrl);this.engine=this.byteNN.createEngine(n,o),be(ye.SIBYL_SDK_ENGINE_INIT_RESULT,{scene:this.scene,duration:Date.now()-e,result:"success",config:JSON.stringify(this.config)})}catch(t){be(ye.SIBYL_SDK_ENGINE_INIT_RESULT,{scene:this.scene,errMsg:null==t?void 0:t.message,stack:null==t?void 0:t.stack,duration:Date.now()-e,result:"failed",config:JSON.stringify({inputConfig:this.config.inputs,outConfig:this.config.outputs,model:this.modelUrl})})}}))}getFeatureVector(e){const t=$(this.scene,this.featureCollector),r=ae(ae({},t),e.features);return z(this.scene,r)}inference(e){const t=this.getFeatureVector(e),r=Date.now(),n={scene:this.scene,config:JSON.stringify({features:t.join(","),inputConfig:this.config.inputs,outConfig:this.config.outputs,model:this.modelUrl})};try{const e=this.byteNN.runInference(this.engine,t.join(","));if(e.indexOf("Error::")>=0)throw be(ye.SIBYL_SDK_INFERENCE_RESULT,se(ae({},n),{errMsg:e,result:"failed",duration:Date.now()-r})),new Error(e);Pe("Inference Ret: ",e);const o=parseFloat(e||0);return be(ye.SIBYL_SDK_INFERENCE_RESULT,se(ae({},n),{duration:Date.now()-r,value:o,result:"success"})),o}catch(e){return be(ye.SIBYL_SDK_INFERENCE_RESULT,se(ae({},n),{errMsg:null==e?void 0:e.message,stack:JSON.stringify(null==e?void 0:e.stack),result:"failed",duration:Date.now()-r})),-1}}};var Re=De("Sibyl:StrategyEngine"),Me=class{constructor(e){this.options=e}getTickTime(){var e;return null==(e=this.options.abConfig.preload_ml)?void 0:e.run_gap}getDelayTime(){var e;return(null==(e=this.options.abConfig.preload_ml)?void 0:e.delay)||1e3}setThresholdCallback(e){const t=this.getDelayTime();clearTimeout(this.delayTimer),this.delayTimer=setTimeout((()=>{var t,r,n,o;const{scene:i,featureCollector:a,abConfig:s={}}=this.options,c=$(i,a),l=(null==(t=s.preload_ml)?void 0:t.skip_count)||0,d=(null==(r=null==s?void 0:s.preload_ml)?void 0:r.ignore_count)||0,u=null==a?void 0:a.getCollector().feed,p=(null!=(n=null==u?void 0:u.features.length)?n:0)-1,_=null==u?void 0:u.getLatestVideo(),E=null!=(o=null==_?void 0:_.features.commentCount)?o:0;p"predict_bin"===e.op)))||{},y=null!=(c=null==(s=D.labels)?void 0:s.indexOf("true"))?c:-1,m=null!=(d=null==(l=D.args)?void 0:l[y])?d:0,w=null==(E=null==(_=null==(p=null==(u=this.options)?void 0:u.abConfig)?void 0:p.preload_ml)?void 0:_.engine_config)?void 0:E.inputs,b=null==(T=null==(h=null==(f=null==(O=this.options)?void 0:O.abConfig)?void 0:f.preload_ml)?void 0:h.engine_config)?void 0:T.outputs;return{modelUrl:g,thresholdValue:m,scene:this.options.scene,inputs:w,outputs:b}}hitThresholdValue(e){const{thresholdValue:t=.5}=this.getInferenceStrategy();return e>=t}reportInferenceResult(){const{scene:e,featureCollector:t}=this.options,r=function(e,t){return e===_e.VIDEO_PRELOAD?function(e,t){var r,n,o,i,a;const s=(null!=(n=null==(r=t.getCollector().feed)?void 0:r.getFeatures())?n:[]).slice(0,-1).slice(-5);if(s.length<5)return;const c=null==(a=null==(i=null==(o=s[0])?void 0:o.inference)?void 0:i.features)?void 0:a[e];if(!c)return;const l=$(e,t);return l.play_time_mid&&l.play_time_mid/1e3>=12?ae({f_real:1},c):ae({f_real:0},c)}(e,t):e===_e.COMMENT?function(e,t){var r,n,o,i,a;const s=t.getCollector().feed,c=null==s?void 0:s.features[length-2],l=null!=(o=null==(n=null==(r=null==c?void 0:c.comment)?void 0:r.features)?void 0:n.open)&&o,d=null==(a=null==(i=null==c?void 0:c.inference)?void 0:i.features)?void 0:a[e];if(d)return ae(l?{f_real:1}:{f_real:0},d)}(e,t):void 0}(e,t),{thresholdValue:n,modelUrl:o}=this.getInferenceStrategy();Re("fRealResult:",r),r&&be(ye.SIBYL_SDK_REAL_RESULT,{scene:e,threshold:n,model:o,hit:r.hit,f_real:r.f_real,predict_value:r.predict_value})}},Se=Te();Se[Ee]=Se[Ee]||null,Se[Oe]=Se[Oe]||{},Se[fe]=Se[fe]||{};var Ie=De("Sibyl"),Ae=class{constructor(e){if(this.engineCache={},this.byteNN=null,this.byteNNInitStatus="before",this.initByteNNQueue=[],this.playTimeList=[],Se[Ee])return Ie("create from cache",e),Se[Ee];Ie("create",e),this.options=e,this.initObserver(),we.initTea(),Se[Ee]=this}getFeatures(e){return $(e,Se[he])}getFeatureVector(e){return z(e,this.getFeatures(e))}initObserver(){this.observer=Se["singleton-sibyl:observer_instance"]||new Y({biz:this.options.biz})}strategyInference(e){var t;const{scene:r,abConfig:{slideStrategy:n=[]}}=e;if(r===_e.VIDEO_PRELOAD){const e=null!=(t=this.getFeatures(_e.VIDEO_PRELOAD))?t:{play_time_avg:0},{play_time_avg:r=0}=e,o=n[0],i=n[1],a=Number(r)/1e3;if(a>=i)return pe.Slow;if(a<=o)return pe.Fast}return pe.Normal}createStrategyEngine(e){const t=`${this.options.biz}_${e.scene}`;return Se[Oe][t]&&Se[he]?(Ie("create Strategy from cache",t),Se[Oe][t]):(Se[he]&&(Se[Oe][t]=new Me(se(ae({},e),{featureCollector:Se[he]}))),Se[Oe][t])}createSingleByteNN(){return this.byteNN||"before"!==this.byteNNInitStatus?this.byteNN||"pending"!==this.byteNNInitStatus?Promise.resolve(this.byteNN):new Promise((e=>{this.initByteNNQueue.push(e)})):(Z()({locateFile:()=>"https://sf16-sg.tiktokcdn.com/obj/eden-sg/azboeh7uhbfnuptbvg/webapp/sibyl/sibyl.wasm",print:(...e)=>{try{Ie(...e)}catch(e){}},printErr:(...e)=>{try{Ie(...e)}catch(e){}}}).then((e=>{this.byteNN=e,this.byteNNInitStatus="after",this.initByteNNQueue.forEach((t=>t(e)))})).catch((()=>{this.byteNNInitStatus="before"})).then((()=>{this.initByteNNQueue=[]})),this.byteNNInitStatus="pending",new Promise((e=>{this.initByteNNQueue.push(e)})))}createEngine(e){return ce(this,null,(function*(){var t,r;const n=Date.now();try{yield this.createSingleByteNN()}catch(e){be(ye.SIBYL_SDK_ENGINE_LOAD_WASM,{scene:null==(t=this.options)?void 0:t.biz,duration:Date.now()-n,result:"error",config:JSON.stringify(this.options)})}const o=`${this.options.biz}_${e.scene}`;if(Se[fe][o])return Ie("create Engine from cache",o),Se[fe][o];be(ye.SIBYL_SDK_ENGINE_LOAD_WASM,{scene:null==(r=this.options)?void 0:r.biz,duration:Date.now()-n,result:"success",config:JSON.stringify(this.options)}),Ie("create Engine",e);const i=new ve(se(ae({},e),{byteNN:this.byteNN,featureCollector:Se[he]}));return yield i.initEngine(),Se[fe][o]=i,i}))}destroy(){this.observer.destroy(),this.byteNN=void 0,Se[Ee]=null,Se[Oe]={},Se[fe]={}}}}}]);