w-converhp 2.0.28 → 2.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/w-converhp-client.umd.js +2 -2
- package/dist/w-converhp-client.umd.js.map +1 -1
- package/dist/w-converhp-server.umd.js +2 -2
- package/dist/w-converhp-server.umd.js.map +1 -1
- package/docs/WConverhpClient.html +2 -2
- package/docs/WConverhpClient.mjs.html +11 -5
- package/docs/WConverhpServer.html +1 -1
- package/docs/WConverhpServer.mjs.html +1 -1
- package/docs/index.html +1 -1
- package/package.json +2 -2
- package/src/WConverhpClient.mjs +10 -4
- package/src/mergeFiles.wk.umd.js +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* w-converhp-server v2.0.
|
|
2
|
+
* w-converhp-server v2.0.30
|
|
3
3
|
* (c) 2018-2021 yuda-lyu(semisphere)
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("path"),require("fs"),require("stream"),require("@hapi/hapi"),require("@hapi/inert"),require("crypto"),require("worker_threads")):"function"==typeof define&&define.amd?define(["path","fs","stream","@hapi/hapi","@hapi/inert","crypto","worker_threads"],t):(e="undefined"!=typeof globalThis?globalThis:e||self)["w-converhp-server"]=t(e.path,e.fs,e.stream,e["@hapi/hapi"],e["@hapi/inert"],e.crypto,e.require$$0)}(this,(function(e,t,n,r,o,i,c){"use strict";var l=Array.isArray,a="object"==typeof global&&global&&global.Object===Object&&global,u="object"==typeof self&&self&&self.Object===Object&&self,s=a||u||Function("return this")(),d=s.Symbol,g=Object.prototype,I=g.hasOwnProperty,p=g.toString,C=d?d.toStringTag:void 0;var f=Object.prototype.toString;var y="[object Null]",h="[object Undefined]",m=d?d.toStringTag:void 0;function b(e){return null==e?void 0===e?h:y:m&&m in Object(e)?function(e){var t=I.call(e,C),n=e[C];try{e[C]=void 0;var r=!0}catch(e){}var o=p.call(e);return r&&(t?e[C]=n:delete e[C]),o}(e):function(e){return f.call(e)}(e)}function A(e){return null!=e&&"object"==typeof e}var v="[object Symbol]";function Z(e){return"symbol"==typeof e||A(e)&&b(e)==v}var X=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,K=/^\w*$/;function G(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var W="[object AsyncFunction]",H="[object Function]",V="[object GeneratorFunction]",w="[object Proxy]";function J(e){if(!G(e))return!1;var t=b(e);return t==H||t==V||t==W||t==w}var Y,j=s["__core-js_shared__"],S=(Y=/[^.]+$/.exec(j&&j.keys&&j.keys.IE_PROTO||""))?"Symbol(src)_1."+Y:"";var x=Function.prototype.toString;var B=/^\[object .+?Constructor\]$/,R=Function.prototype,T=Object.prototype,Q=R.toString,k=T.hasOwnProperty,P=RegExp("^"+Q.call(k).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function N(e){return!(!G(e)||(t=e,S&&S in t))&&(J(e)?P:B).test(function(e){if(null!=e){try{return x.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t}function L(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return N(n)?n:void 0}var F=L(Object,"create");var O=Object.prototype.hasOwnProperty;var U=Object.prototype.hasOwnProperty;function z(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function _(e,t){for(var n,r,o=e.length;o--;)if((n=e[o][0])===(r=t)||n!=n&&r!=r)return o;return-1}z.prototype.clear=function(){this.__data__=F?F(null):{},this.size=0},z.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},z.prototype.get=function(e){var t=this.__data__;if(F){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return O.call(t,e)?t[e]:void 0},z.prototype.has=function(e){var t=this.__data__;return F?void 0!==t[e]:U.call(t,e)},z.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=F&&void 0===t?"__lodash_hash_undefined__":t,this};var M=Array.prototype.splice;function E(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}E.prototype.clear=function(){this.__data__=[],this.size=0},E.prototype.delete=function(e){var t=this.__data__,n=_(t,e);return!(n<0)&&(n==t.length-1?t.pop():M.call(t,n,1),--this.size,!0)},E.prototype.get=function(e){var t=this.__data__,n=_(t,e);return n<0?void 0:t[n][1]},E.prototype.has=function(e){return _(this.__data__,e)>-1},E.prototype.set=function(e,t){var n=this.__data__,r=_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};var D=L(s,"Map");function q(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function $(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}$.prototype.clear=function(){this.size=0,this.__data__={hash:new z,map:new(D||E),string:new z}},$.prototype.delete=function(e){var t=q(this,e).delete(e);return this.size-=t?1:0,t},$.prototype.get=function(e){return q(this,e).get(e)},$.prototype.has=function(e){return q(this,e).has(e)},$.prototype.set=function(e,t){var n=q(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};var ee="Expected a function";function te(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(ee);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var c=e.apply(this,r);return n.cache=i.set(o,c)||i,c};return n.cache=new(te.Cache||$),n}te.Cache=$;var ne,re,oe,ie=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ce=/\\(\\)?/g,le=(ne=function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ie,(function(e,n,r,o){t.push(r?o.replace(ce,"$1"):n||e)})),t},re=te(ne,(function(e){return 500===oe.size&&oe.clear(),e})),oe=re.cache,re),ae=le;var ue=1/0,se=d?d.prototype:void 0,de=se?se.toString:void 0;function ge(e){if("string"==typeof e)return e;if(l(e))return function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}(e,ge)+"";if(Z(e))return de?de.call(e):"";var t=e+"";return"0"==t&&1/e==-ue?"-0":t}function Ie(e){return null==e?"":ge(e)}function pe(e,t){return l(e)?e:function(e,t){if(l(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Z(e))||K.test(e)||!X.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:ae(Ie(e))}var Ce=1/0;function fe(e){if("string"==typeof e||Z(e))return e;var t=e+"";return"0"==t&&1/e==-Ce?"-0":t}function ye(e,t,n){var r=null==e?void 0:function(e,t){for(var n=0,r=(t=pe(t,e)).length;null!=e&&n<r;)e=e[fe(t[n++])];return n&&n==r?e:void 0}(e,t);return void 0===r?n:r}var he="[object Number]";function me(e){return"number"==typeof e||A(e)&&b(e)==he}function be(){let e,t,n=new Promise((function(){e=arguments[0],t=arguments[1]}));return n.resolve=e,n.reject=t,n}var Ae="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},ve={};!function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function i(e,t,r,i,c){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new o(r,i||e,c),a=n?n+t:t;return e._events[a]?e._events[a].fn?e._events[a]=[e._events[a],l]:e._events[a].push(l):(e._events[a]=l,e._eventsCount++),e}function c(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),l.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},l.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,c=new Array(i);o<i;o++)c[o]=r[o].fn;return c},l.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},l.prototype.emit=function(e,t,r,o,i,c){var l=n?n+e:e;if(!this._events[l])return!1;var a,u,s=this._events[l],d=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),d){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,r),!0;case 4:return s.fn.call(s.context,t,r,o),!0;case 5:return s.fn.call(s.context,t,r,o,i),!0;case 6:return s.fn.call(s.context,t,r,o,i,c),!0}for(u=1,a=new Array(d-1);u<d;u++)a[u-1]=arguments[u];s.fn.apply(s.context,a)}else{var g,I=s.length;for(u=0;u<I;u++)switch(s[u].once&&this.removeListener(e,s[u].fn,void 0,!0),d){case 1:s[u].fn.call(s[u].context);break;case 2:s[u].fn.call(s[u].context,t);break;case 3:s[u].fn.call(s[u].context,t,r);break;case 4:s[u].fn.call(s[u].context,t,r,o);break;default:if(!a)for(g=1,a=new Array(d-1);g<d;g++)a[g-1]=arguments[g];s[u].fn.apply(s[u].context,a)}}return!0},l.prototype.on=function(e,t,n){return i(this,e,t,n,!1)},l.prototype.once=function(e,t,n){return i(this,e,t,n,!0)},l.prototype.removeListener=function(e,t,r,o){var i=n?n+e:e;if(!this._events[i])return this;if(!t)return c(this,i),this;var l=this._events[i];if(l.fn)l.fn!==t||o&&!l.once||r&&l.context!==r||c(this,i);else{for(var a=0,u=[],s=l.length;a<s;a++)(l[a].fn!==t||o&&!l[a].once||r&&l[a].context!==r)&&u.push(l[a]);u.length?this._events[i]=1===u.length?u[0]:u:c(this,i)}return this},l.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&c(this,t)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,e.exports=l}({get exports(){return ve},set exports(e){ve=e}});var Ze=ve;function Xe(e){return"[object Object]"===Object.prototype.toString.call(e)}function Ke(e){if(Xe(e)){for(let t in e)return!0;return!1}return!1}function Ge(e){return"[object String]"===Object.prototype.toString.call(e)}function We(e){return!(!Ge(e)||""===e)}var He=/\s/;var Ve=/^\s+/;function we(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&He.test(e.charAt(t)););return t}(e)+1).replace(Ve,""):e}var Je=NaN,Ye=/^[-+]0x[0-9a-f]+$/i,je=/^0b[01]+$/i,Se=/^0o[0-7]+$/i,xe=parseInt;function Be(e){if("number"==typeof e)return e;if(Z(e))return Je;if(G(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=G(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=we(e);var n=je.test(e);return n||Se.test(e)?xe(e.slice(2),n?2:8):Ye.test(e)?Je:+e}var Re=1/0,Te=17976931348623157e292;function Qe(e){return e?(e=Be(e))===Re||e===-Re?(e<0?-1:1)*Te:e==e?e:0:0===e?e:0}function ke(e){var t=Qe(e),n=t%1;return t==t?n?t-n:t:0}function Pe(e){return e!=e}function Ne(e){let t=!1;if(We(e))t=!isNaN(Number(e));else if(function(e){return"[object Number]"===Object.prototype.toString.call(e)}(e)){if(Pe(e))return!1;t=!0}return t}function Le(e){if(!Ne(e))return 0;return Qe(e)}function Fe(e){return!!Ne(e)&&(e=Le(e),"number"==typeof(t=e)&&t==ke(t));var t}var Oe=s.isFinite,Ue=Math.min;var ze=function(e){var t=Math[e];return function(e,n){if(e=Be(e),(n=null==n?0:Ue(ke(n),292))&&Oe(e)){var r=(Ie(e)+"e").split("e");return+((r=(Ie(t(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return t(e)}}("round"),_e=ze;function Me(e){if(!Ne(e))return 0;e=Le(e);let t=_e(e);return"0"===String(t)?0:t}function Ee(e){if(!Fe(e))return!1;return Me(e)>=0}function De(e){return"[object Array]"===Object.prototype.toString.call(e)}function qe(e){if(Xe(e)){for(let t in e)return!1;return!0}return!1}function $e(e){return!!function(e){return"[object Undefined]"===Object.prototype.toString.call(e)}(e)||(!!function(e){return"[object Null]"===Object.prototype.toString.call(e)}(e)||(!!qe(e)||(!!function(e){return!(!Ge(e)||""!==e)}(e)||(!!function(e){return!!De(e)&&0===e.length}(e)||!!Pe(e)))))}function et(e){return!!De(e)&&(0!==e.length&&(1!==e.length||!$e(e[0])))}var tt="[object Boolean]";function nt(e){return!0===(t=e)||!1===t||A(t)&&b(t)==tt;var t}function rt(e){let t,n=Object.prototype.toString.call(e);if(t="[object Promise]"===n,t)return!0;if("[object Function]"!==n)return!1;try{t="function"!=typeof e.subscribe&&"function"==typeof e.then}catch(e){}return t}function ot(e){if(!We(e)&&!Ne(e)&&!Z(e))return"";let t="";try{t=String(e)}catch(e){}try{t=e.toString()}catch(e){}return t}var it={};var ct,lt={},at={get exports(){return lt},set exports(e){lt=e}};function ut(){return ct||(ct=1,function(e,t){var n;e.exports=(n=n||function(e,t){var n;if("undefined"!=typeof window&&window.crypto&&(n=window.crypto),"undefined"!=typeof self&&self.crypto&&(n=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(n=globalThis.crypto),!n&&"undefined"!=typeof window&&window.msCrypto&&(n=window.msCrypto),!n&&void 0!==Ae&&Ae.crypto&&(n=Ae.crypto),!n)try{n=require("crypto")}catch(e){}var r=function(){if(n){if("function"==typeof n.getRandomValues)try{return n.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof n.randomBytes)try{return n.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),i={},c=i.lib={},l=c.Base={extend:function(e){var t=o(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=c.WordArray=l.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||s).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,o=e.sigBytes;if(this.clamp(),r%4)for(var i=0;i<o;i++){var c=n[i>>>2]>>>24-i%4*8&255;t[r+i>>>2]|=c<<24-(r+i)%4*8}else for(var l=0;l<o;l+=4)t[r+l>>>2]=n[l>>>2];return this.sigBytes+=o,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=l.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n<e;n+=4)t.push(r());return new a.init(t,e)}}),u=i.enc={},s=u.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],o=0;o<n;o++){var i=t[o>>>2]>>>24-o%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new a.init(n,t/2)}},d=u.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],o=0;o<n;o++){var i=t[o>>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(i))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new a.init(n,t)}},g=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(d.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return d.parse(unescape(encodeURIComponent(e)))}},I=c.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=g.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n,r=this._data,o=r.words,i=r.sigBytes,c=this.blockSize,l=i/(4*c),u=(l=t?e.ceil(l):e.max((0|l)-this._minBufferSize,0))*c,s=e.min(4*u,i);if(u){for(var d=0;d<u;d+=c)this._doProcessBlock(o,d);n=o.splice(0,u),r.sigBytes-=s}return new a.init(n,s)},clone:function(){var e=l.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});c.Hasher=I.extend({cfg:l.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){I.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new p.HMAC.init(e,n).finalize(t)}}});var p=i.algo={};return i}(Math),n)}(at)),lt}!function(e,t){e.exports=ut().enc.Utf8}({get exports(){return it},set exports(e){it=e}});var st=it,dt={};!function(e,t){var n;e.exports=(n=ut(),function(){var e=n,t=e.lib.WordArray;function r(e,n,r){for(var o=[],i=0,c=0;c<n;c++)if(c%4){var l=r[e.charCodeAt(c-1)]<<c%4*2|r[e.charCodeAt(c)]>>>6-c%4*2;o[i>>>2]|=l<<24-i%4*8,i++}return t.create(o,i)}e.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var o=[],i=0;i<n;i+=3)for(var c=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,l=0;l<4&&i+.75*l<n;l++)o.push(r.charAt(c>>>6*(3-l)&63));var a=r.charAt(64);if(a)for(;o.length%4;)o.push(a);return o.join("")},parse:function(e){var t=e.length,n=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var i=0;i<n.length;i++)o[n.charCodeAt(i)]=i}var c=n.charAt(64);if(c){var l=e.indexOf(c);-1!==l&&(t=l)}return r(e,t,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),n.enc.Base64)}({get exports(){return dt},set exports(e){dt=e}});var gt=dt;function It(e){if(!We(e))return"";let t=st.parse(e);return gt.stringify(t)}function pt(e,t){return!!Xe(e)&&(!(!We(t)&&!Ne(t))&&t in e)}function Ct(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}var ft,yt=function(e,t,n){for(var r=-1,o=Object(e),i=n(e),c=i.length;c--;){var l=i[ft?c:++r];if(!1===t(o[l],l,o))break}return e};function ht(e){return A(e)&&"[object Arguments]"==b(e)}var mt=Object.prototype,bt=mt.hasOwnProperty,At=mt.propertyIsEnumerable,vt=ht(function(){return arguments}())?ht:function(e){return A(e)&&bt.call(e,"callee")&&!At.call(e,"callee")},Zt=vt;var Xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Kt=Xt&&"object"==typeof module&&module&&!module.nodeType&&module,Gt=Kt&&Kt.exports===Xt?s.Buffer:void 0,Wt=(Gt?Gt.isBuffer:void 0)||function(){return!1},Ht=9007199254740991,Vt=/^(?:0|[1-9]\d*)$/;function wt(e,t){var n=typeof e;return!!(t=null==t?Ht:t)&&("number"==n||"symbol"!=n&&Vt.test(e))&&e>-1&&e%1==0&&e<t}var Jt=9007199254740991;function Yt(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=Jt}var jt={};jt["[object Float32Array]"]=jt["[object Float64Array]"]=jt["[object Int8Array]"]=jt["[object Int16Array]"]=jt["[object Int32Array]"]=jt["[object Uint8Array]"]=jt["[object Uint8ClampedArray]"]=jt["[object Uint16Array]"]=jt["[object Uint32Array]"]=!0,jt["[object Arguments]"]=jt["[object Array]"]=jt["[object ArrayBuffer]"]=jt["[object Boolean]"]=jt["[object DataView]"]=jt["[object Date]"]=jt["[object Error]"]=jt["[object Function]"]=jt["[object Map]"]=jt["[object Number]"]=jt["[object Object]"]=jt["[object RegExp]"]=jt["[object Set]"]=jt["[object String]"]=jt["[object WeakMap]"]=!1;var St="object"==typeof exports&&exports&&!exports.nodeType&&exports,xt=St&&"object"==typeof module&&module&&!module.nodeType&&module,Bt=xt&&xt.exports===St&&a.process,Rt=function(){try{var e=xt&&xt.require&&xt.require("util").types;return e||Bt&&Bt.binding&&Bt.binding("util")}catch(e){}}(),Tt=Rt&&Rt.isTypedArray,Qt=Tt?function(e){return function(t){return e(t)}}(Tt):function(e){return A(e)&&Yt(e.length)&&!!jt[b(e)]},kt=Qt,Pt=Object.prototype.hasOwnProperty;function Nt(e,t){var n=l(e),r=!n&&Zt(e),o=!n&&!r&&Wt(e),i=!n&&!r&&!o&&kt(e),c=n||r||o||i,a=c?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],u=a.length;for(var s in e)!t&&!Pt.call(e,s)||c&&("length"==s||o&&("offset"==s||"parent"==s)||i&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||wt(s,u))||a.push(s);return a}var Lt=Object.prototype;function Ft(e,t){return function(n){return e(t(n))}}var Ot=Ft(Object.keys,Object),Ut=Object.prototype.hasOwnProperty;function zt(e){if(n=(t=e)&&t.constructor,t!==("function"==typeof n&&n.prototype||Lt))return Ot(e);var t,n,r=[];for(var o in Object(e))Ut.call(e,o)&&"constructor"!=o&&r.push(o);return r}function _t(e){return null!=e&&Yt(e.length)&&!J(e)}function Mt(e){return _t(e)?Nt(e):zt(e)}var Et=function(e,t){return function(n,r){if(null==n)return n;if(!_t(n))return e(n,r);for(var o=n.length,i=t?o:-1,c=Object(n);(t?i--:++i<o)&&!1!==r(c[i],i,c););return n}}((function(e,t){return e&&yt(e,t,Mt)})),Dt=Et;function qt(e){return e}function $t(e,t){var n;return(l(e)?Ct:Dt)(e,"function"==typeof(n=t)?n:qt)}function en(e){return"[object ArrayBuffer]"===Object.prototype.toString.call(e)}function tn(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)}function nn(e){return"[object Uint16Array]"===Object.prototype.toString.call(e)}function rn(e){if(!(en(e)||(t=e,"[object Blob]"===Object.prototype.toString.call(t))||tn(e)||nn(e)))return null;var t;try{if(e.byteLength)return e.byteLength}catch(e){}try{if(e.length)return e.length}catch(e){}try{if(e.size)return e.size}catch(e){}return null}var on=Ft(Object.getPrototypeOf,Object),cn="[object Object]",ln=Function.prototype,an=Object.prototype,un=ln.toString,sn=an.hasOwnProperty,dn=un.call(Object);var gn="[object DOMException]",In="[object Error]";function pn(e){if(!A(e))return!1;var t=b(e);return t==In||t==gn||"string"==typeof e.message&&"string"==typeof e.name&&!function(e){if(!A(e)||b(e)!=cn)return!1;var t=on(e);if(null===t)return!0;var n=sn.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&un.call(n)==dn}(e)}function Cn(e){if(!We(e))return new Uint8Array;let t;try{t=function(e){if(!Ge(e))return new Uint8Array;let t=gt.parse(e),n=t.words,r=t.sigBytes,o=new Uint8Array(r);for(let e=0;e<r;e++){let t=n[e>>>2]>>>24-e%4*8&255;o[e]=t}return o}(It(e))}catch(e){return new Uint8Array}return t}function fn(e,t){return function(e,t,n,r,o,i){if(!Ne(e))return null;if(!tn(t))return null;if(!Fe(n))return null;if(!nt(r))return null;if(!Fe(o))return null;if(!Fe(i))return null;let c,l,a;e=Le(e);let u=8*i-o-1,s=(1<<u)-1,d=s>>1,g=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,I=r?i-1:0,p=r?-1:1,C=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(l=isNaN(e)?1:0,c=s):(c=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-c))<1&&(c--,a*=2),(e+=c+d>=1?g/a:g*Math.pow(2,1-d))*a>=2&&(c++,a/=2),c+d>=s?(l=0,c=s):c+d>=1?(l=(e*a-1)*Math.pow(2,o),c+=d):(l=e*Math.pow(2,d-1)*Math.pow(2,o),c=0));o>=8;t[n+I]=255&l,I+=p,l/=256,o-=8);for(c=c<<o|l,u+=o;u>0;t[n+I]=255&c,I+=p,c/=256,u-=8);return t[n+I-p]|=128*C,null}(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,!(arguments.length>3&&void 0!==arguments[3])||arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:52,arguments.length>5&&void 0!==arguments[5]?arguments[5]:8)}function yn(e){let t=[],n=[];if(!et(e)&&!Ke(e))return null;let r=[],o=[];function i(e){r.push(rn(e)),o.push(e)}try{let c=function(e){if(!Xe(e))return{results:"",binarys:[]};if(qe(e))return{results:"",binarys:[]};let t="",n=[];try{let r=-1;t=JSON.stringify(e,(function(e,t){if(tn(t)){r+=1;let e=`[Uint8Array]::${r}`;return n.push(t),e}if(nn(t)){r+=1;let e=`[Uint16Array]::${r}`;return n.push(t),e}if(en(t)){r+=1;let e=`[ArrayBuffer]::${r}`;return n.push(t),e}return pn(t)&&(t=t.toString()),t}))}catch(e){}return{results:t,binarys:n}}(e);i(Cn(c.results)),$t(c.binarys,(e=>{i(e)}));let l=r,a=Cn(JSON.stringify(l)),u=new Uint8Array(8);fn(rn(a),u),t.push(u),t.push(a),$t(o,(e=>{t.push(e)})),$t(t,(e=>{n=function(e,t){let n=rn(e),r=rn(t),o=new Uint8Array(n+r);return o.set(new Uint8Array(e),0),o.set(new Uint8Array(t),n),o}(n,e)}))}catch(e){return null}return n}function hn(e){return function(e,t,n,r,o){if(!tn(e))return null;if(!Fe(t))return null;if(!nt(n))return null;if(!Fe(r))return null;if(!Fe(o))return null;let i,c,l=8*o-r-1,a=(1<<l)-1,u=a>>1,s=-7,d=n?0:o-1,g=n?1:-1,I=e[t+d];for(d+=g,i=I&(1<<-s)-1,I>>=-s,s+=l;s>0;i=256*i+e[t+d],d+=g,s-=8);for(c=i&(1<<-s)-1,i>>=-s,s+=r;s>0;c=256*c+e[t+d],d+=g,s-=8);if(0===i)i=1-u;else{if(i===a)return c?NaN:1/0*(I?-1:1);c+=Math.pow(2,r),i-=u}return(I?-1:1)*c*Math.pow(2,i-r)}(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,!(arguments.length>2&&void 0!==arguments[2])||arguments[2],arguments.length>3&&void 0!==arguments[3]?arguments[3]:52,arguments.length>4&&void 0!==arguments[4]?arguments[4]:8)}var mn={};!function(e,t){var n;e.exports=(n=ut(),function(){if("function"==typeof ArrayBuffer){var e=n.lib.WordArray,t=e.init,r=e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var n=e.byteLength,r=[],o=0;o<n;o++)r[o>>>2]|=e[o]<<24-o%4*8;t.call(this,r,n)}else t.apply(this,arguments)};r.prototype=e}}(),n.lib.WordArray)}({get exports(){return mn},set exports(e){mn=e}});var bn=mn;function An(e){if(!tn(e))return"";let t;try{n=function(e){return tn(e)?bn.create(e).toString(gt):""}(e),t=We(n)?gt.parse(n).toString(st):""}catch(e){return""}var n;return t}function vn(e){let t=null;if(!tn(e))return null;try{let n=8,r=e.slice(0,n),o=e.slice(n,rn(e)),i=hn(r),c=o.slice(0,i),l=o.slice(i,rn(o)),a=An(c),u=function(e,t){let n=0,r=0,o=[];return $t(t,(t=>{r=n+t;let i=e.slice(n,r);n=r,o.push(i)})),o}(l,JSON.parse(a));t=function(e){if(!Ke(e))return{};let{results:t,binarys:n}=e;if(!We(t))return{};if(!De(n))return{};let r={};try{r=JSON.parse(t,(function(e,t){if(We(t)){if(t.indexOf("[Uint8Array]::")>=0){let e=Me(t.replace("[Uint8Array]::",""));return n[e]}if(t.indexOf("[Uint16Array]::")>=0){let e=Me(t.replace("[Uint16Array]::",""));return n[e]}if(t.indexOf("[ArrayBuffer]::")>=0){let e=Me(t.replace("[ArrayBuffer]::",""));return n[e]}}return t}))}catch(e){}return r}({results:An(u.shift()),binarys:u})}catch(e){}return t}function Zn(e){return!!t.existsSync(e)&&(!t.lstatSync(e).isDirectory()&&!t.lstatSync(e).isSymbolicLink())}function Xn(e){return!!t.existsSync(e)&&(!t.lstatSync(e).isFile()&&!t.lstatSync(e).isSymbolicLink())}function Kn(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=ye(n,"type","");We(r)||(r="sha512");let o=ye(n,"useSync","");nt(o)||(o=!0);let c="";return c=o?function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"sha512";if(!Zn(e))throw new Error(`fp[${e}] is not a file`);let r=t.readFileSync(e),o=i.createHash(n);return o.update(r,"utf8"),o.digest("hex")}(e,r):function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"sha512",r=be();Zn(e)||r.reject(`fp[${e}] is not a file`);try{let o=i.createHash(n),c=t.createReadStream(e);c.on("readable",(()=>{let e=c.read();e?o.update(e):r.resolve(o.digest("hex"))})),c.on("error",(e=>{r.reject(e.toString())}))}catch(e){r.reject(e.toString())}return r}(e,r),c}var Gn={};!function(e,t){e.exports=function(e){var t={};!function(t,n){t.exports=function(e){var t={};!function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function i(e,t,r,i,c){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new o(r,i||e,c),a=n?n+t:t;return e._events[a]?e._events[a].fn?e._events[a]=[e._events[a],l]:e._events[a].push(l):(e._events[a]=l,e._eventsCount++),e}function c(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),l.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},l.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,c=new Array(i);o<i;o++)c[o]=r[o].fn;return c},l.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},l.prototype.emit=function(e,t,r,o,i,c){var l=n?n+e:e;if(!this._events[l])return!1;var a,u,s=this._events[l],d=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),d){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,r),!0;case 4:return s.fn.call(s.context,t,r,o),!0;case 5:return s.fn.call(s.context,t,r,o,i),!0;case 6:return s.fn.call(s.context,t,r,o,i,c),!0}for(u=1,a=new Array(d-1);u<d;u++)a[u-1]=arguments[u];s.fn.apply(s.context,a)}else{var g,I=s.length;for(u=0;u<I;u++)switch(s[u].once&&this.removeListener(e,s[u].fn,void 0,!0),d){case 1:s[u].fn.call(s[u].context);break;case 2:s[u].fn.call(s[u].context,t);break;case 3:s[u].fn.call(s[u].context,t,r);break;case 4:s[u].fn.call(s[u].context,t,r,o);break;default:if(!a)for(g=1,a=new Array(d-1);g<d;g++)a[g-1]=arguments[g];s[u].fn.apply(s[u].context,a)}}return!0},l.prototype.on=function(e,t,n){return i(this,e,t,n,!1)},l.prototype.once=function(e,t,n){return i(this,e,t,n,!0)},l.prototype.removeListener=function(e,t,r,o){var i=n?n+e:e;if(!this._events[i])return this;if(!t)return c(this,i),this;var l=this._events[i];if(l.fn)l.fn!==t||o&&!l.once||r&&l.context!==r||c(this,i);else{for(var a=0,u=[],s=l.length;a<s;a++)(l[a].fn!==t||o&&!l[a].once||r&&l[a].context!==r)&&u.push(l[a]);u.length?this._events[i]=1===u.length?u[0]:u:c(this,i)}return this},l.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&c(this,t)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,e.exports=l}({get exports(){return t},set exports(e){t=e}});var n=t;let r;!function(){if("nodejs"!=("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let t=(o="CgogICAgICAgIC8vaW1wb3J0IHsgcGFyZW50UG9ydCB9IGZyb20gJ3dvcmtlcl90aHJlYWRzJwogICAgICAgIGxldCB7IHBhcmVudFBvcnQgfSA9IHJlcXVpcmUoJ3dvcmtlcl90aHJlYWRzJykgLy/lm6BwYWNrYWdlLmpzb27kuI3ntaZ0eXBlPW1vZHVsZeaVheeEoeazleaUr+aPtGVzNiBpbXBvcnQsIOW+l+S9v+eUqHJlcXVpcmUKICAgICAgICAvL+iLpeimgeaWvG5vZGVqcyB3b3JrZXLlhafkvb/nlKjnhKHms5Xnt6jora/nmoTljp/nlJ/lpZfku7bkvovlpoJmcywg6YG/5YWN5L2/55So6aCC5bGkaW1wb3J05Yqg6LyJ5L2/55SoLCDlm6DnhKHms5Xnt6jora/mnIPnm7TmjqXkv53nlZkKICAgICAgICAvL+S4puWboGltcG9ydOS9jeaWvHdvcmtlcuWkluWxpOmZkOWumueCunJlcXVpcmXljYAocGFja2FnZS5qc29u5LiN57WmdHlwZT1tb2R1bGUpLCDmlYXlh7rnj77pjK/oqqTnhKHms5Xnt6jora8KICAgICAgICAKCiJ1c2Ugc3RyaWN0Ijt2YXIgdD1yZXF1aXJlKCJwYXRoIikscj1yZXF1aXJlKCJmcyIpO2Z1bmN0aW9uIGUoKXtsZXQgdCxyLGU9bmV3IFByb21pc2UoKGZ1bmN0aW9uKCl7dD1hcmd1bWVudHNbMF0scj1hcmd1bWVudHNbMV19KSk7cmV0dXJuIGUucmVzb2x2ZT10LGUucmVqZWN0PXIsZX1mdW5jdGlvbiBuKHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gaSh0KXtpZihmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCkpe2ZvcihsZXQgciBpbiB0KXJldHVybiExO3JldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIG8odCl7cmV0dXJuIltvYmplY3QgU3RyaW5nXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdCE9dH1mdW5jdGlvbiBjKHQpe3JldHVybiEhZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgVW5kZWZpbmVkXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9KHQpfHwoISFmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBOdWxsXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9KHQpfHwoISFpKHQpfHwoISFmdW5jdGlvbih0KXtyZXR1cm4hKCFvKHQpfHwiIiE9PXQpfSh0KXx8KCEhZnVuY3Rpb24odCl7cmV0dXJuISFuKHQpJiYwPT09dC5sZW5ndGh9KHQpfHwhIXUodCkpKSkpfWZ1bmN0aW9uIGYodCl7cmV0dXJuISghbyh0KXx8IiI9PT10KX12YXIgbD0vXHMvO3ZhciBhPS9eXHMrLztmdW5jdGlvbiBzKHQpe3JldHVybiB0P3Quc2xpY2UoMCxmdW5jdGlvbih0KXtmb3IodmFyIHI9dC5sZW5ndGg7ci0tJiZsLnRlc3QodC5jaGFyQXQocikpOyk7cmV0dXJuIHJ9KHQpKzEpLnJlcGxhY2UoYSwiIik6dH1mdW5jdGlvbiBwKHQpe3ZhciByPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PXJ8fCJmdW5jdGlvbiI9PXIpfXZhciB5PSJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWwmJmdsb2JhbC5PYmplY3Q9PT1PYmplY3QmJmdsb2JhbCxiPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGYsaD15fHxifHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpLHY9aC5TeW1ib2wsZz1PYmplY3QucHJvdG90eXBlLGo9Zy5oYXNPd25Qcm9wZXJ0eSxTPWcudG9TdHJpbmcsZD12P3YudG9TdHJpbmdUYWc6dm9pZCAwO3ZhciBtPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7dmFyIE89IltvYmplY3QgTnVsbF0iLHg9IltvYmplY3QgVW5kZWZpbmVkXSIsUj12P3YudG9TdHJpbmdUYWc6dm9pZCAwO2Z1bmN0aW9uIHcodCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwPT09dD94Ok86UiYmUiBpbiBPYmplY3QodCk/ZnVuY3Rpb24odCl7dmFyIHI9ai5jYWxsKHQsZCksZT10W2RdO3RyeXt0W2RdPXZvaWQgMDt2YXIgbj0hMH1jYXRjaCh0KXt9dmFyIGk9Uy5jYWxsKHQpO3JldHVybiBuJiYocj90W2RdPWU6ZGVsZXRlIHRbZF0pLGl9KHQpOmZ1bmN0aW9uKHQpe3JldHVybiBtLmNhbGwodCl9KHQpfXZhciBOPSJbb2JqZWN0IFN5bWJvbF0iO2Z1bmN0aW9uICQodCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHxmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dCYmIm9iamVjdCI9PXR5cGVvZiB0fSh0KSYmdyh0KT09Tn12YXIgQT1OYU4saz0vXlstK10weFswLTlhLWZdKyQvaSxGPS9eMGJbMDFdKyQvaSxJPS9eMG9bMC03XSskL2kscT1wYXJzZUludDtmdW5jdGlvbiBFKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigkKHQpKXJldHVybiBBO2lmKHAodCkpe3ZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiB0LnZhbHVlT2Y/dC52YWx1ZU9mKCk6dDt0PXAocik/cisiIjpyfWlmKCJzdHJpbmciIT10eXBlb2YgdClyZXR1cm4gMD09PXQ/dDordDt0PXModCk7dmFyIGU9Ri50ZXN0KHQpO3JldHVybiBlfHxJLnRlc3QodCk/cSh0LnNsaWNlKDIpLGU/Mjo4KTprLnRlc3QodCk/QTordH12YXIgTD0xLzAsTT0xNzk3NjkzMTM0ODYyMzE1N2UyOTI7ZnVuY3Rpb24gUCh0KXtyZXR1cm4gdD8odD1FKHQpKT09PUx8fHQ9PT0tTD8odDwwPy0xOjEpKk06dD09dD90OjA6MD09PXQ/dDowfWZ1bmN0aW9uIFQodCl7dmFyIHI9UCh0KSxlPXIlMTtyZXR1cm4gcj09cj9lP3ItZTpyOjB9ZnVuY3Rpb24gVSh0KXtsZXQgcj0hMTtpZihmKHQpKXI9IWlzTmFOKE51bWJlcih0KSk7ZWxzZSBpZihmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBOdW1iZXJdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCkpe2lmKHUodCkpcmV0dXJuITE7cj0hMH1yZXR1cm4gcn1mdW5jdGlvbiBEKHQpe2lmKCFVKHQpKXJldHVybiAwO3JldHVybiBQKHQpfWZ1bmN0aW9uIFcodCl7cmV0dXJuISFVKHQpJiYodD1EKHQpLCJudW1iZXIiPT10eXBlb2Yocj10KSYmcj09VChyKSk7dmFyIHJ9dmFyIF89QXJyYXkuaXNBcnJheSx6PTEvMCxCPXY/di5wcm90b3R5cGU6dm9pZCAwLEM9Qj9CLnRvU3RyaW5nOnZvaWQgMDtmdW5jdGlvbiBHKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gdDtpZihfKHQpKXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aCxpPUFycmF5KG4pOysrZTxuOylpW2VdPXIodFtlXSxlLHQpO3JldHVybiBpfSh0LEcpKyIiO2lmKCQodCkpcmV0dXJuIEM/Qy5jYWxsKHQpOiIiO3ZhciByPXQrIiI7cmV0dXJuIjAiPT1yJiYxL3Q9PS16PyItMCI6cn1mdW5jdGlvbiBIKHQpe3JldHVybiBudWxsPT10PyIiOkcodCl9dmFyIEo9aC5pc0Zpbml0ZSxLPU1hdGgubWluO3ZhciBRLFY9KFE9TWF0aFsicm91bmQiXSxmdW5jdGlvbih0LHIpe2lmKHQ9RSh0KSwocj1udWxsPT1yPzA6SyhUKHIpLDI5MikpJiZKKHQpKXt2YXIgZT0oSCh0KSsiZSIpLnNwbGl0KCJlIik7cmV0dXJuKygoZT0oSChRKGVbMF0rImUiKygrZVsxXStyKSkpKyJlIikuc3BsaXQoImUiKSlbMF0rImUiKygrZVsxXS1yKSl9cmV0dXJuIFEodCl9KTtmdW5jdGlvbiBYKHQpe2lmKCFVKHQpKXJldHVybiAwO3Q9RCh0KTtsZXQgcj1WKHQpO3JldHVybiIwIj09PVN0cmluZyhyKT8wOnJ9ZnVuY3Rpb24gWSh0KXtpZighVyh0KSlyZXR1cm4hMTtyZXR1cm4gWCh0KT49MH1mdW5jdGlvbiBaKHQscil7aWYoIWYodCkpcmV0dXJuIiI7aWYoIVkocikpcmV0dXJuIiI7aWYoMD09PShyPVgocikpKXJldHVybiIiO2xldCBlPXQubGVuZ3RoLXI7cmV0dXJuIGU8MCYmKGU9MCksdC5zdWJzdHJpbmcoZSxlK3IpfWZ1bmN0aW9uIHR0KHQscil7cmV0dXJuIGYodCkmJlkocik/MD09PShyPVgocikpP3Q6ZnVuY3Rpb24odCxyKXtyZXR1cm4gZih0KSYmWShyKT8wPT09KHI9WChyKSk/IiI6dC5zdWJzdHJpbmcoMCxyKToiIn0odCx0Lmxlbmd0aC1yKToiIn1mdW5jdGlvbiBydCh0KXtpZighZih0KSlyZXR1cm57cGF0aDoiIixpc1Jvb3Q6ITF9O2Zvcig7dC5pbmRleE9mKCJcXFxcIik+PTA7KXQ9dC5yZXBsYWNlKCJcXFxcIiwiXFwiKTtmb3IoO3QuaW5kZXhPZigiLy8iKT49MDspdD10LnJlcGxhY2UoIi8vIiwiLyIpO2lmKCI6Ij09PVoodCwxKSlyZXR1cm57cGF0aDpgJHt0fVxcYCxpc1Jvb3Q6ITB9O2lmKCJcXCI9PT1aKHQsMSkpe2xldCByPXR0KHQsMSk7cmV0dXJuIjoiPT09WihyLDEpP3twYXRoOnQsaXNSb290OiEwfTp7cGF0aDpyLGlzUm9vdDohMX19aWYoIi8iPT09Wih0LDEpKXtsZXQgcj10dCh0LDEpO3JldHVybiAwPT09ci5sZW5ndGg/e3BhdGg6dCxpc1Jvb3Q6ITB9OntwYXRoOnIsaXNSb290OiExfX1yZXR1cm57cGF0aDp0LGlzUm9vdDohMX19ZnVuY3Rpb24gZXQodCl7aWYoIWYodCkpcmV0dXJuIiI7bGV0IHI9cnQodCk7aWYoci5pc1Jvb3QpcmV0dXJuIHIucGF0aDtsZXQgZT1mdW5jdGlvbih0KXtpZighZih0KSlyZXR1cm4iIjtsZXQgcj1ydCh0KTtpZihyLmlzUm9vdClyZXR1cm4gci5wYXRoO2xldCBlPXIucGF0aDt0cnl7ZT1lLnNwbGl0KCJcXCIpLnBvcCgpLnNwbGl0KCIvIikucG9wKCl9Y2F0Y2godCl7fXJldHVybiBlfSh0PXIucGF0aCk7aWYoIWYoZSkpcmV0dXJuIHQ7bGV0IG49cnQodD10dCh0LGUubGVuZ3RoKSk7cmV0dXJuIG4uaXNSb290LG4ucGF0aH1mdW5jdGlvbiBudCh0KXtyZXR1cm4hIXIuZXhpc3RzU3luYyh0KSYmKCFyLmxzdGF0U3luYyh0KS5pc0ZpbGUoKSYmIXIubHN0YXRTeW5jKHQpLmlzU3ltYm9saWNMaW5rKCkpfWZ1bmN0aW9uIGl0KHQpe3JldHVybiEhci5leGlzdHNTeW5jKHQpJiYoIXIubHN0YXRTeW5jKHQpLmlzRGlyZWN0b3J5KCkmJiFyLmxzdGF0U3luYyh0KS5pc1N5bWJvbGljTGluaygpKX1mdW5jdGlvbiBvdCh0KXtpZighci5leGlzdHNTeW5jKHQpKXJldHVybntzdWNjZXNzOiJmaWxlIGRvZXMgbm90IGV4aXN0OiAiK3R9O2lmKCFpdCh0KSlyZXR1cm57ZXJyb3I6ImlucHV0IHBhdGggaXMgbm90IGEgZmlsZTogIit0fTt0cnl7ci51bmxpbmtTeW5jKHQpfWNhdGNoKHQpe3JldHVybntlcnJvcjp0fX1yZXR1cm57c3VjY2VzczoiZG9uZTogIit0fX1hc3luYyBmdW5jdGlvbiB1dCh0LGksbyl7bGV0IHU9IiI7aWYoIW4oZj1pKXx8MD09PWYubGVuZ3RofHwxPT09Zi5sZW5ndGgmJmMoZlswXSkpdGhyb3cgbmV3IEVycm9yKCJmcHNJbiBpbiBub3QgYW4gZWZmZWN0aXZlIGFycmF5Iik7dmFyIGY7bGV0IGw9ZXQobyk7bnQobCl8fGZ1bmN0aW9uKHQpe2lmKG50KHQpKXJldHVybntzdWNjZXNzOiJpbnB1dCBmb2xkZXIgaXMgYWxyZWFkeSBleGlzdHM6ICIrdH07aWYoci5leGlzdHNTeW5jKHQpKXJldHVybntlcnJvcjoiaW5wdXQgcGF0aCBhbHJlYWR5IGV4aXN0czogIit0fTt0cnl7ci5ta2RpclN5bmModCx7cmVjdXJzaXZlOiEwfSl9Y2F0Y2godCl7cmV0dXJue2Vycm9yOnR9fX0obCk7bGV0IGE9ZSgpO3RyeXtsZXQgbj1yLmNyZWF0ZVdyaXRlU3RyZWFtKG8pO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtsZXQgbz1pW3RdO2lmKCFpdChvKSl0aHJvdyBuZXcgRXJyb3IoYGZwSW5bJHtvfV0gaXMgbm90IGEgZmlsZWApO2xldCBjPSgpPT57bGV0IHQ9ZSgpLGk9ci5jcmVhdGVSZWFkU3RyZWFtKG8pO3JldHVybiBpLm9uKCJlcnJvciIsKHI9Pnt1PXIubWVzc2FnZSx0LnJlamVjdChyKX0pKSxpLm9uKCJlbmQiLCgoKT0+e290KG8pLHQucmVzb2x2ZSgpfSkpLGkucGlwZShuLHtlbmQ6ITF9KSx0fTthd2FpdCBjKCl9bi5lbmQoKSxuLm9uKCJlcnJvciIsKHQ9Pnt1PXQubWVzc2FnZSxhLnJlamVjdCh1KX0pKSxuLm9uKCJmaW5pc2giLCgoKT0+e2xldCByPXtmaWxlbmFtZTp0LHBhdGg6b307YS5yZXNvbHZlKHIpfSkpfWNhdGNoKHQpe3U9dC5tZXNzYWdlLGEucmVqZWN0KHUpfXJldHVybiBhfWxldCBtZXJnZUZpbGVzPWFzeW5jKHIsZSxuLGkpPT57bGV0IG89W107Zm9yKGxldCBpPTA7aTxuO2krKyl7bGV0IG49dC5qb2luKHIsYCR7ZX1fJHtpfWApO28ucHVzaChuKX1sZXQgdT10LmpvaW4ocixlKTtyZXR1cm4gYXdhaXQgdXQoaSxvLHUpfTsKCgpsZXQgaW5zdGFuY2UgPSBudWxsCmZ1bmN0aW9uIGluaXQoaW5wdXQpewoKICAgIC8vaW5pdAogICAgbGV0IHIKICAgIAogICAgICAgIHIgPSB7CiAgICAgICAgICAgIG1haW46IG1lcmdlRmlsZXMKICAgICAgICB9CiAgICAgICAgCgogICAgLy9vbgogICAgCgogICAgLy9zYXZlCiAgICBpbnN0YW5jZSA9IHIKCn0KCmZ1bmN0aW9uIHNlbmRNZXNzYWdlKGRhdGEpIHsKICAgIAogICAgICAgIHBhcmVudFBvcnQucG9zdE1lc3NhZ2UoZGF0YSkKICAgICAgICAKfQoKYXN5bmMgZnVuY3Rpb24gcnVuKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcnVuJyxkYXRhKQoKICAgIC8vbW9kZQogICAgbGV0IG1vZGUgPSBkYXRhLm1vZGUKCiAgICAvL2NoZWNrCiAgICBpZihtb2RlICE9PSAnaW5pdCcgJiYgbW9kZSAhPT0gJ2NhbGwnKXsKICAgICAgICByZXR1cm4KICAgIH0KCiAgICAvL2luaXQKICAgIGlmKG1vZGUgPT09ICdpbml0Jyl7CiAgICAgICAgCiAgICAgICAgdHJ5ewoKICAgICAgICAgICAgLy90eXBlCiAgICAgICAgICAgIGxldCB0eXBlID0gZGF0YS50eXBlCgogICAgICAgICAgICAvL2lucHV0CiAgICAgICAgICAgIGxldCBpbnB1dCA9IGRhdGEuaW5wdXQKICAgIAogICAgICAgICAgICAvL2luc3RhbmNlCiAgICAgICAgICAgIGlmKHR5cGUgPT09ICdmdW5jdGlvbicpewogICAgICAgICAgICAgICAgaW5pdCguLi5pbnB1dCkKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKHR5cGUgPT09ICdvYmplY3QnKXsKICAgICAgICAgICAgICAgIGluc3RhbmNlID0gbWVyZ2VGaWxlcwogICAgICAgICAgICB9CgogICAgICAgIH0KICAgICAgICBjYXRjaChlcnIpewogICAgICAgIAogICAgICAgICAgICAvL3NlbmRNZXNzYWdlCiAgICAgICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgICAgICBtb2RlOiAnZW1pdCcsCiAgICAgICAgICAgICAgICBldk5hbWU6ICdlcnJvcicsCiAgICAgICAgICAgICAgICBtc2c6IGVyciwKICAgICAgICAgICAgfQogICAgICAgICAgICBzZW5kTWVzc2FnZShyZXMpCgogICAgICAgIH0KICAgICAgICAgICAgCiAgICB9CgogICAgLy9jaGVjawogICAgaWYobW9kZSA9PT0gJ2NhbGwnKXsKICAgICAgICBsZXQgc3RhdGUgPSAnJwogICAgICAgIGxldCBtc2cgPSBudWxsCgogICAgICAgIHRyeXsKCiAgICAgICAgICAgIC8vZnVuCiAgICAgICAgICAgIGxldCBmdW4gPSBpbnN0YW5jZVtkYXRhLmZ1bl0KCiAgICAgICAgICAgIC8vaW5wdXQKICAgICAgICAgICAgbGV0IGlucHV0ID0gZGF0YS5pbnB1dAoKICAgICAgICAgICAgLy9leGVjCiAgICAgICAgICAgIGF3YWl0IGZ1biguLi5pbnB1dCkKICAgICAgICAgICAgICAgIC50aGVuKChzdWMpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nc3VjY2VzcycKICAgICAgICAgICAgICAgICAgICBtc2c9c3VjCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nZXJyb3InCiAgICAgICAgICAgICAgICAgICAgbXNnPWVycgogICAgICAgICAgICAgICAgfSkKCiAgICAgICAgfQogICAgICAgIGNhdGNoKGVycil7CiAgICAgICAgICAgIHN0YXRlID0gJ2Vycm9yJwogICAgICAgICAgICBtc2cgPSBlcnIKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy9zZW5kTWVzc2FnZQogICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgIG1vZGU6ICdyZXR1cm4nLAogICAgICAgICAgICBpZDogZGF0YS5pZCwKICAgICAgICAgICAgZnVuOiBkYXRhLmZ1biwKICAgICAgICAgICAgc3RhdGUsCiAgICAgICAgICAgIG1zZywKICAgICAgICB9CiAgICAgICAgc2VuZE1lc3NhZ2UocmVzKQoKICAgIH0KCn0KCmZ1bmN0aW9uIHJlY3ZNZXNzYWdlKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcmVjdjonLCBkYXRhKQoKICAgIC8vZGF0YVJlY3YKICAgIGxldCBkYXRhUmVjdiA9IGRhdGEKCiAgICAvL3J1bgogICAgcnVuKGRhdGFSZWN2KQoKfQoKCiAgICAgICAgcGFyZW50UG9ydC5vbignbWVzc2FnZScsIHJlY3ZNZXNzYWdlKQogICAgICAgIAoKdHJ5ewogICAgcHJvY2Vzcy5vbigndW5oYW5kbGVkUmVqZWN0aW9uJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmhhbmRsZWRSZWplY3Rpb24nLCBlcnIpCiAgICB9KQogICAgcHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuY2F1Z2h0RXhjZXB0aW9uJywgZXJyKQogICAgfSkKICAgIHByb2Nlc3Mub24oJ3VuY2F1Z2h0RXhjZXB0aW9uTW9uaXRvcicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5jYXVnaHRFeGNlcHRpb25Nb25pdG9yJywgZXJyKQogICAgfSkKfQpjYXRjaChlcnIpe30KCg==",Buffer.from(o,"base64").toString("utf8"));var o;function i(){let r=new n,o=function(t){try{return new e.Worker(t,{eval:!0})}catch(e){c(e)}}(t);if(!o)return c("invalid worker"),null;function i(){let e=function(){let e,t,n=new Promise((function(){e=arguments[0],t=arguments[1]}));return n.resolve=e,n.reject=t,n}(),t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=[],n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),r=n.length;for(let o=0;o<e;o++)t[o]=n[0|Math.random()*r];return t.join("")}(),n={mode:"call",id:t,fun:"main",input:[...arguments]};return o.postMessage(n),r.once(t,(t=>{"success"===t.state?e.resolve(t.msg):e.reject(t.msg)})),e}function c(e){r.emit("error",e)}return o.on("message",(function(e){let t=e,n=t.mode;"emit"!==n&&"return"!==n||("emit"===n&&r.emit(t.evName,t.msg),"return"===n&&r.emit(t.id,t))})),o.on("error",c),o.on("exit",(e=>{1!==e&&c("exit code["+e+"] !== 1")})),function(){let e={mode:"init",type:"function",input:[...arguments]};o.postMessage(e)}([...arguments]),r.main=i,r.main=i,r.terminate=function(){o?(o.terminate(),o=void 0):c("worker has been terminated")},r}r=async function(){let e=[...arguments],t=i();return await t.main(...e).finally((()=>{t.terminate()}))}}();try{process.on("unhandledRejection",(e=>{console.log("outer:unhandledRejection",e)})),process.on("uncaughtException",(e=>{console.log("outer:uncaughtException",e)})),process.on("uncaughtExceptionMonitor",(e=>{console.log("outer:uncaughtExceptionMonitor",e)}))}catch(e){}return r}(e)}({get exports(){return t},set exports(e){t=e}});var n=t,r={};!function(e,t){e.exports=function(){const e="function"==typeof Buffer,t="function"==typeof TextDecoder?new TextDecoder:void 0,n=(e=>{let t={};return e.forEach(((e,n)=>t[e]=n)),t})(("function"==typeof TextEncoder&&new TextEncoder,Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="))),r=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,o=String.fromCharCode.bind(String),i="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),c=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),l=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,a=e=>{switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return o(55296+(t>>>10))+o(56320+(1023&t));case 3:return o((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return o((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},u=e=>e.replace(l,a),s=e=>{if(e=e.replace(/\s+/g,""),!r.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let t,i,c,l="";for(let r=0;r<e.length;)t=n[e.charAt(r++)]<<18|n[e.charAt(r++)]<<12|(i=n[e.charAt(r++)])<<6|(c=n[e.charAt(r++)]),l+=64===i?o(t>>16&255):64===c?o(t>>16&255,t>>8&255):o(t>>16&255,t>>8&255,255&t);return l},d="function"==typeof atob?e=>atob(c(e)):e?e=>Buffer.from(e,"base64").toString("binary"):s,g=e?e=>i(Buffer.from(e,"base64")):e=>i(d(e).split("").map((e=>e.charCodeAt(0)))),I=e?e=>Buffer.from(e,"base64").toString("utf8"):t?e=>t.decode(g(e)):e=>u(d(e)),p=e=>c(e.replace(/[-_]/g,(e=>"-"==e?"+":"/"))),C=e=>I(p(e)),f=C;var y={};!function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function i(e,t,r,i,c){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new o(r,i||e,c),a=n?n+t:t;return e._events[a]?e._events[a].fn?e._events[a]=[e._events[a],l]:e._events[a].push(l):(e._events[a]=l,e._eventsCount++),e}function c(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),l.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},l.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,c=new Array(i);o<i;o++)c[o]=r[o].fn;return c},l.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},l.prototype.emit=function(e,t,r,o,i,c){var l=n?n+e:e;if(!this._events[l])return!1;var a,u,s=this._events[l],d=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),d){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,r),!0;case 4:return s.fn.call(s.context,t,r,o),!0;case 5:return s.fn.call(s.context,t,r,o,i),!0;case 6:return s.fn.call(s.context,t,r,o,i,c),!0}for(u=1,a=new Array(d-1);u<d;u++)a[u-1]=arguments[u];s.fn.apply(s.context,a)}else{var g,I=s.length;for(u=0;u<I;u++)switch(s[u].once&&this.removeListener(e,s[u].fn,void 0,!0),d){case 1:s[u].fn.call(s[u].context);break;case 2:s[u].fn.call(s[u].context,t);break;case 3:s[u].fn.call(s[u].context,t,r);break;case 4:s[u].fn.call(s[u].context,t,r,o);break;default:if(!a)for(g=1,a=new Array(d-1);g<d;g++)a[g-1]=arguments[g];s[u].fn.apply(s[u].context,a)}}return!0},l.prototype.on=function(e,t,n){return i(this,e,t,n,!1)},l.prototype.once=function(e,t,n){return i(this,e,t,n,!0)},l.prototype.removeListener=function(e,t,r,o){var i=n?n+e:e;if(!this._events[i])return this;if(!t)return c(this,i),this;var l=this._events[i];if(l.fn)l.fn!==t||o&&!l.once||r&&l.context!==r||c(this,i);else{for(var a=0,u=[],s=l.length;a<s;a++)(l[a].fn!==t||o&&!l[a].once||r&&l[a].context!==r)&&u.push(l[a]);u.length?this._events[i]=1===u.length?u[0]:u:c(this,i)}return this},l.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&c(this,t)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,e.exports=l}({get exports(){return y},set exports(e){y=e}});var h=y;let m;!function(){if("browser"!=("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let e=f("CgoKInVzZSBzdHJpY3QiO3ZhciB0PXJlcXVpcmUoInBhdGgiKSxyPXJlcXVpcmUoImZzIik7ZnVuY3Rpb24gZSgpe2xldCB0LHIsZT1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oKXt0PWFyZ3VtZW50c1swXSxyPWFyZ3VtZW50c1sxXX0pKTtyZXR1cm4gZS5yZXNvbHZlPXQsZS5yZWplY3Q9cixlfWZ1bmN0aW9uIG4odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBpKHQpe2lmKGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSh0KSl7Zm9yKGxldCByIGluIHQpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gbyh0KXtyZXR1cm4iW29iamVjdCBTdHJpbmddIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiB1KHQpe3JldHVybiB0IT10fWZ1bmN0aW9uIGModCl7cmV0dXJuISFmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBVbmRlZmluZWRdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCl8fCghIWZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IE51bGxdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCl8fCghIWkodCl8fCghIWZ1bmN0aW9uKHQpe3JldHVybiEoIW8odCl8fCIiIT09dCl9KHQpfHwoISFmdW5jdGlvbih0KXtyZXR1cm4hIW4odCkmJjA9PT10Lmxlbmd0aH0odCl8fCEhdSh0KSkpKSl9ZnVuY3Rpb24gZih0KXtyZXR1cm4hKCFvKHQpfHwiIj09PXQpfXZhciBsPS9ccy87dmFyIGE9L15ccysvO2Z1bmN0aW9uIHModCl7cmV0dXJuIHQ/dC5zbGljZSgwLGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10Lmxlbmd0aDtyLS0mJmwudGVzdCh0LmNoYXJBdChyKSk7KTtyZXR1cm4gcn0odCkrMSkucmVwbGFjZShhLCIiKTp0fWZ1bmN0aW9uIHAodCl7dmFyIHI9dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09cnx8ImZ1bmN0aW9uIj09cil9dmFyIHk9Im9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbCYmZ2xvYmFsLk9iamVjdD09PU9iamVjdCYmZ2xvYmFsLGI9Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmJiZzZWxmLk9iamVjdD09PU9iamVjdCYmc2VsZixoPXl8fGJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCksdj1oLlN5bWJvbCxnPU9iamVjdC5wcm90b3R5cGUsaj1nLmhhc093blByb3BlcnR5LFM9Zy50b1N0cmluZyxkPXY/di50b1N0cmluZ1RhZzp2b2lkIDA7dmFyIG09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzt2YXIgTz0iW29iamVjdCBOdWxsXSIseD0iW29iamVjdCBVbmRlZmluZWRdIixSPXY/di50b1N0cmluZ1RhZzp2b2lkIDA7ZnVuY3Rpb24gdyh0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10P3g6TzpSJiZSIGluIE9iamVjdCh0KT9mdW5jdGlvbih0KXt2YXIgcj1qLmNhbGwodCxkKSxlPXRbZF07dHJ5e3RbZF09dm9pZCAwO3ZhciBuPSEwfWNhdGNoKHQpe312YXIgaT1TLmNhbGwodCk7cmV0dXJuIG4mJihyP3RbZF09ZTpkZWxldGUgdFtkXSksaX0odCk6ZnVuY3Rpb24odCl7cmV0dXJuIG0uY2FsbCh0KX0odCl9dmFyIE49IltvYmplY3QgU3ltYm9sXSI7ZnVuY3Rpb24gJCh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fGZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHR9KHQpJiZ3KHQpPT1OfXZhciBBPU5hTixrPS9eWy0rXTB4WzAtOWEtZl0rJC9pLEY9L14wYlswMV0rJC9pLEk9L14wb1swLTddKyQvaSxxPXBhcnNlSW50O2Z1bmN0aW9uIEUodCl7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0O2lmKCQodCkpcmV0dXJuIEE7aWYocCh0KSl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9cChyKT9yKyIiOnJ9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9cyh0KTt2YXIgZT1GLnRlc3QodCk7cmV0dXJuIGV8fEkudGVzdCh0KT9xKHQuc2xpY2UoMiksZT8yOjgpOmsudGVzdCh0KT9BOit0fXZhciBMPTEvMCxNPTE3OTc2OTMxMzQ4NjIzMTU3ZTI5MjtmdW5jdGlvbiBQKHQpe3JldHVybiB0Pyh0PUUodCkpPT09THx8dD09PS1MPyh0PDA/LTE6MSkqTTp0PT10P3Q6MDowPT09dD90OjB9ZnVuY3Rpb24gVCh0KXt2YXIgcj1QKHQpLGU9ciUxO3JldHVybiByPT1yP2U/ci1lOnI6MH1mdW5jdGlvbiBVKHQpe2xldCByPSExO2lmKGYodCkpcj0haXNOYU4oTnVtYmVyKHQpKTtlbHNlIGlmKGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IE51bWJlcl0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSh0KSl7aWYodSh0KSlyZXR1cm4hMTtyPSEwfXJldHVybiByfWZ1bmN0aW9uIEQodCl7aWYoIVUodCkpcmV0dXJuIDA7cmV0dXJuIFAodCl9ZnVuY3Rpb24gVyh0KXtyZXR1cm4hIVUodCkmJih0PUQodCksIm51bWJlciI9PXR5cGVvZihyPXQpJiZyPT1UKHIpKTt2YXIgcn12YXIgXz1BcnJheS5pc0FycmF5LHo9MS8wLEI9dj92LnByb3RvdHlwZTp2b2lkIDAsQz1CP0IudG9TdHJpbmc6dm9pZCAwO2Z1bmN0aW9uIEcodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O2lmKF8odCkpcmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLGk9QXJyYXkobik7KytlPG47KWlbZV09cih0W2VdLGUsdCk7cmV0dXJuIGl9KHQsRykrIiI7aWYoJCh0KSlyZXR1cm4gQz9DLmNhbGwodCk6IiI7dmFyIHI9dCsiIjtyZXR1cm4iMCI9PXImJjEvdD09LXo/Ii0wIjpyfWZ1bmN0aW9uIEgodCl7cmV0dXJuIG51bGw9PXQ/IiI6Ryh0KX12YXIgSj1oLmlzRmluaXRlLEs9TWF0aC5taW47dmFyIFEsVj0oUT1NYXRoWyJyb3VuZCJdLGZ1bmN0aW9uKHQscil7aWYodD1FKHQpLChyPW51bGw9PXI/MDpLKFQociksMjkyKSkmJkoodCkpe3ZhciBlPShIKHQpKyJlIikuc3BsaXQoImUiKTtyZXR1cm4rKChlPShIKFEoZVswXSsiZSIrKCtlWzFdK3IpKSkrImUiKS5zcGxpdCgiZSIpKVswXSsiZSIrKCtlWzFdLXIpKX1yZXR1cm4gUSh0KX0pO2Z1bmN0aW9uIFgodCl7aWYoIVUodCkpcmV0dXJuIDA7dD1EKHQpO2xldCByPVYodCk7cmV0dXJuIjAiPT09U3RyaW5nKHIpPzA6cn1mdW5jdGlvbiBZKHQpe2lmKCFXKHQpKXJldHVybiExO3JldHVybiBYKHQpPj0wfWZ1bmN0aW9uIFoodCxyKXtpZighZih0KSlyZXR1cm4iIjtpZighWShyKSlyZXR1cm4iIjtpZigwPT09KHI9WChyKSkpcmV0dXJuIiI7bGV0IGU9dC5sZW5ndGgtcjtyZXR1cm4gZTwwJiYoZT0wKSx0LnN1YnN0cmluZyhlLGUrcil9ZnVuY3Rpb24gdHQodCxyKXtyZXR1cm4gZih0KSYmWShyKT8wPT09KHI9WChyKSk/dDpmdW5jdGlvbih0LHIpe3JldHVybiBmKHQpJiZZKHIpPzA9PT0ocj1YKHIpKT8iIjp0LnN1YnN0cmluZygwLHIpOiIifSh0LHQubGVuZ3RoLXIpOiIifWZ1bmN0aW9uIHJ0KHQpe2lmKCFmKHQpKXJldHVybntwYXRoOiIiLGlzUm9vdDohMX07Zm9yKDt0LmluZGV4T2YoIlxcXFwiKT49MDspdD10LnJlcGxhY2UoIlxcXFwiLCJcXCIpO2Zvcig7dC5pbmRleE9mKCIvLyIpPj0wOyl0PXQucmVwbGFjZSgiLy8iLCIvIik7aWYoIjoiPT09Wih0LDEpKXJldHVybntwYXRoOmAke3R9XFxgLGlzUm9vdDohMH07aWYoIlxcIj09PVoodCwxKSl7bGV0IHI9dHQodCwxKTtyZXR1cm4iOiI9PT1aKHIsMSk/e3BhdGg6dCxpc1Jvb3Q6ITB9OntwYXRoOnIsaXNSb290OiExfX1pZigiLyI9PT1aKHQsMSkpe2xldCByPXR0KHQsMSk7cmV0dXJuIDA9PT1yLmxlbmd0aD97cGF0aDp0LGlzUm9vdDohMH06e3BhdGg6cixpc1Jvb3Q6ITF9fXJldHVybntwYXRoOnQsaXNSb290OiExfX1mdW5jdGlvbiBldCh0KXtpZighZih0KSlyZXR1cm4iIjtsZXQgcj1ydCh0KTtpZihyLmlzUm9vdClyZXR1cm4gci5wYXRoO2xldCBlPWZ1bmN0aW9uKHQpe2lmKCFmKHQpKXJldHVybiIiO2xldCByPXJ0KHQpO2lmKHIuaXNSb290KXJldHVybiByLnBhdGg7bGV0IGU9ci5wYXRoO3RyeXtlPWUuc3BsaXQoIlxcIikucG9wKCkuc3BsaXQoIi8iKS5wb3AoKX1jYXRjaCh0KXt9cmV0dXJuIGV9KHQ9ci5wYXRoKTtpZighZihlKSlyZXR1cm4gdDtsZXQgbj1ydCh0PXR0KHQsZS5sZW5ndGgpKTtyZXR1cm4gbi5pc1Jvb3Qsbi5wYXRofWZ1bmN0aW9uIG50KHQpe3JldHVybiEhci5leGlzdHNTeW5jKHQpJiYoIXIubHN0YXRTeW5jKHQpLmlzRmlsZSgpJiYhci5sc3RhdFN5bmModCkuaXNTeW1ib2xpY0xpbmsoKSl9ZnVuY3Rpb24gaXQodCl7cmV0dXJuISFyLmV4aXN0c1N5bmModCkmJighci5sc3RhdFN5bmModCkuaXNEaXJlY3RvcnkoKSYmIXIubHN0YXRTeW5jKHQpLmlzU3ltYm9saWNMaW5rKCkpfWZ1bmN0aW9uIG90KHQpe2lmKCFyLmV4aXN0c1N5bmModCkpcmV0dXJue3N1Y2Nlc3M6ImZpbGUgZG9lcyBub3QgZXhpc3Q6ICIrdH07aWYoIWl0KHQpKXJldHVybntlcnJvcjoiaW5wdXQgcGF0aCBpcyBub3QgYSBmaWxlOiAiK3R9O3RyeXtyLnVubGlua1N5bmModCl9Y2F0Y2godCl7cmV0dXJue2Vycm9yOnR9fXJldHVybntzdWNjZXNzOiJkb25lOiAiK3R9fWFzeW5jIGZ1bmN0aW9uIHV0KHQsaSxvKXtsZXQgdT0iIjtpZighbihmPWkpfHwwPT09Zi5sZW5ndGh8fDE9PT1mLmxlbmd0aCYmYyhmWzBdKSl0aHJvdyBuZXcgRXJyb3IoImZwc0luIGluIG5vdCBhbiBlZmZlY3RpdmUgYXJyYXkiKTt2YXIgZjtsZXQgbD1ldChvKTtudChsKXx8ZnVuY3Rpb24odCl7aWYobnQodCkpcmV0dXJue3N1Y2Nlc3M6ImlucHV0IGZvbGRlciBpcyBhbHJlYWR5IGV4aXN0czogIit0fTtpZihyLmV4aXN0c1N5bmModCkpcmV0dXJue2Vycm9yOiJpbnB1dCBwYXRoIGFscmVhZHkgZXhpc3RzOiAiK3R9O3RyeXtyLm1rZGlyU3luYyh0LHtyZWN1cnNpdmU6ITB9KX1jYXRjaCh0KXtyZXR1cm57ZXJyb3I6dH19fShsKTtsZXQgYT1lKCk7dHJ5e2xldCBuPXIuY3JlYXRlV3JpdGVTdHJlYW0obyk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0Kyspe2xldCBvPWlbdF07aWYoIWl0KG8pKXRocm93IG5ldyBFcnJvcihgZnBJblske299XSBpcyBub3QgYSBmaWxlYCk7bGV0IGM9KCk9PntsZXQgdD1lKCksaT1yLmNyZWF0ZVJlYWRTdHJlYW0obyk7cmV0dXJuIGkub24oImVycm9yIiwocj0+e3U9ci5tZXNzYWdlLHQucmVqZWN0KHIpfSkpLGkub24oImVuZCIsKCgpPT57b3QobyksdC5yZXNvbHZlKCl9KSksaS5waXBlKG4se2VuZDohMX0pLHR9O2F3YWl0IGMoKX1uLmVuZCgpLG4ub24oImVycm9yIiwodD0+e3U9dC5tZXNzYWdlLGEucmVqZWN0KHUpfSkpLG4ub24oImZpbmlzaCIsKCgpPT57bGV0IHI9e2ZpbGVuYW1lOnQscGF0aDpvfTthLnJlc29sdmUocil9KSl9Y2F0Y2godCl7dT10Lm1lc3NhZ2UsYS5yZWplY3QodSl9cmV0dXJuIGF9bGV0IG1lcmdlRmlsZXM9YXN5bmMocixlLG4saSk9PntsZXQgbz1bXTtmb3IobGV0IGk9MDtpPG47aSsrKXtsZXQgbj10LmpvaW4ocixgJHtlfV8ke2l9YCk7by5wdXNoKG4pfWxldCB1PXQuam9pbihyLGUpO3JldHVybiBhd2FpdCB1dChpLG8sdSl9OwoKCmxldCBpbnN0YW5jZSA9IG51bGwKZnVuY3Rpb24gaW5pdChpbnB1dCl7CgogICAgLy9pbml0CiAgICBsZXQgcgogICAgCiAgICAgICAgciA9IHsKICAgICAgICAgICAgbWFpbjogbWVyZ2VGaWxlcwogICAgICAgIH0KICAgICAgICAKCiAgICAvL29uCiAgICAKCiAgICAvL3NhdmUKICAgIGluc3RhbmNlID0gcgoKfQoKZnVuY3Rpb24gc2VuZE1lc3NhZ2UoZGF0YSkgewogICAgCiAgICAgICAgc2VsZi5wb3N0TWVzc2FnZShkYXRhKQogICAgICAgIAp9Cgphc3luYyBmdW5jdGlvbiBydW4oZGF0YSkgewogICAgLy8gY29uc29sZS5sb2coJ2lubmVyIHdvcmtlciBydW4nLGRhdGEpCgogICAgLy9tb2RlCiAgICBsZXQgbW9kZSA9IGRhdGEubW9kZQoKICAgIC8vY2hlY2sKICAgIGlmKG1vZGUgIT09ICdpbml0JyAmJiBtb2RlICE9PSAnY2FsbCcpewogICAgICAgIHJldHVybgogICAgfQoKICAgIC8vaW5pdAogICAgaWYobW9kZSA9PT0gJ2luaXQnKXsKICAgICAgICAKICAgICAgICB0cnl7CgogICAgICAgICAgICAvL3R5cGUKICAgICAgICAgICAgbGV0IHR5cGUgPSBkYXRhLnR5cGUKCiAgICAgICAgICAgIC8vaW5wdXQKICAgICAgICAgICAgbGV0IGlucHV0ID0gZGF0YS5pbnB1dAogICAgCiAgICAgICAgICAgIC8vaW5zdGFuY2UKICAgICAgICAgICAgaWYodHlwZSA9PT0gJ2Z1bmN0aW9uJyl7CiAgICAgICAgICAgICAgICBpbml0KC4uLmlucHV0KQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYodHlwZSA9PT0gJ29iamVjdCcpewogICAgICAgICAgICAgICAgaW5zdGFuY2UgPSBtZXJnZUZpbGVzCiAgICAgICAgICAgIH0KCiAgICAgICAgfQogICAgICAgIGNhdGNoKGVycil7CiAgICAgICAgCiAgICAgICAgICAgIC8vc2VuZE1lc3NhZ2UKICAgICAgICAgICAgbGV0IHJlcyA9IHsKICAgICAgICAgICAgICAgIG1vZGU6ICdlbWl0JywKICAgICAgICAgICAgICAgIGV2TmFtZTogJ2Vycm9yJywKICAgICAgICAgICAgICAgIG1zZzogZXJyLAogICAgICAgICAgICB9CiAgICAgICAgICAgIHNlbmRNZXNzYWdlKHJlcykKCiAgICAgICAgfQogICAgICAgICAgICAKICAgIH0KCiAgICAvL2NoZWNrCiAgICBpZihtb2RlID09PSAnY2FsbCcpewogICAgICAgIGxldCBzdGF0ZSA9ICcnCiAgICAgICAgbGV0IG1zZyA9IG51bGwKCiAgICAgICAgdHJ5ewoKICAgICAgICAgICAgLy9mdW4KICAgICAgICAgICAgbGV0IGZ1biA9IGluc3RhbmNlW2RhdGEuZnVuXQoKICAgICAgICAgICAgLy9pbnB1dAogICAgICAgICAgICBsZXQgaW5wdXQgPSBkYXRhLmlucHV0CgogICAgICAgICAgICAvL2V4ZWMKICAgICAgICAgICAgYXdhaXQgZnVuKC4uLmlucHV0KQogICAgICAgICAgICAgICAgLnRoZW4oKHN1YykgPT4gewogICAgICAgICAgICAgICAgICAgIHN0YXRlPSdzdWNjZXNzJwogICAgICAgICAgICAgICAgICAgIG1zZz1zdWMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4gewogICAgICAgICAgICAgICAgICAgIHN0YXRlPSdlcnJvcicKICAgICAgICAgICAgICAgICAgICBtc2c9ZXJyCiAgICAgICAgICAgICAgICB9KQoKICAgICAgICB9CiAgICAgICAgY2F0Y2goZXJyKXsKICAgICAgICAgICAgc3RhdGUgPSAnZXJyb3InCiAgICAgICAgICAgIG1zZyA9IGVycgogICAgICAgIH0KICAgICAgICAKICAgICAgICAvL3NlbmRNZXNzYWdlCiAgICAgICAgbGV0IHJlcyA9IHsKICAgICAgICAgICAgbW9kZTogJ3JldHVybicsCiAgICAgICAgICAgIGlkOiBkYXRhLmlkLAogICAgICAgICAgICBmdW46IGRhdGEuZnVuLAogICAgICAgICAgICBzdGF0ZSwKICAgICAgICAgICAgbXNnLAogICAgICAgIH0KICAgICAgICBzZW5kTWVzc2FnZShyZXMpCgogICAgfQoKfQoKZnVuY3Rpb24gcmVjdk1lc3NhZ2UoZGF0YSkgewogICAgLy8gY29uc29sZS5sb2coJ2lubmVyIHdvcmtlciByZWN2OicsIGRhdGEpCgogICAgLy9kYXRhUmVjdgogICAgbGV0IGRhdGFSZWN2ID0gZGF0YQoKICAgIC8vcnVuCiAgICBydW4oZGF0YVJlY3YpCgp9CgoKICAgICAgICBzZWxmLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIHJlY3ZNZXNzYWdlKGUuZGF0YSkKICAgICAgICB9CiAgICAgICAgCgp0cnl7CiAgICBwcm9jZXNzLm9uKCd1bmhhbmRsZWRSZWplY3Rpb24nLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuaGFuZGxlZFJlamVjdGlvbicsIGVycikKICAgIH0pCiAgICBwcm9jZXNzLm9uKCd1bmNhdWdodEV4Y2VwdGlvbicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5jYXVnaHRFeGNlcHRpb24nLCBlcnIpCiAgICB9KQogICAgcHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb25Nb25pdG9yJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmNhdWdodEV4Y2VwdGlvbk1vbml0b3InLCBlcnIpCiAgICB9KQp9CmNhdGNoKGVycil7fQoK");function t(){let t=new h,n=function(e){try{let t=new Blob([e]),n=window.URL||window.webkitURL;return new Worker(n.createObjectURL(t))}catch(e){o(e)}}(e);if(!n)return o("invalid worker"),null;function r(){let e=function(){let e,t,n=new Promise((function(){e=arguments[0],t=arguments[1]}));return n.resolve=e,n.reject=t,n}(),r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=[],n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),r=n.length;for(let o=0;o<e;o++)t[o]=n[0|Math.random()*r];return t.join("")}(),o={mode:"call",id:r,fun:"main",input:[...arguments]};return n.postMessage(o),t.once(r,(t=>{"success"===t.state?e.resolve(t.msg):e.reject(t.msg)})),e}function o(e){t.emit("error",e)}return n.onmessage=function(e){!function(e){let n=e,r=n.mode;"emit"!==r&&"return"!==r||("emit"===r&&t.emit(n.evName,n.msg),"return"===r&&t.emit(n.id,n))}(e.data)},n.onerror=o,n.onmessageerror=function(e){o(e.data)},function(){let e={mode:"init",type:"function",input:[...arguments]};n.postMessage(e)}([...arguments]),t.main=r,t.main=r,t.terminate=function(){n?(n.terminate(),n=void 0):o("worker has been terminated")},t}m=async function(){let e=[...arguments],n=t();return await n.main(...e).finally((()=>{n.terminate()}))}}();try{process.on("unhandledRejection",(e=>{console.log("outer:unhandledRejection",e)})),process.on("uncaughtException",(e=>{console.log("outer:uncaughtException",e)})),process.on("uncaughtExceptionMonitor",(e=>{console.log("outer:uncaughtExceptionMonitor",e)}))}catch(e){}return m}()}({get exports(){return r},set exports(e){r=e}});var o=r;let i;return i="undefined"!=typeof window&&void 0!==window.document?o:n,i}(c)}({get exports(){return Gn},set exports(e){Gn=e}});var Wn=Gn;return function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=ye(i,"port");var l;Fe(l=c)&&Me(l)>0||(c=8080);let a=ye(i,"useInert");nt(a)||(a=!0);let u=ye(i,"pathStaticFiles");We(u)||(u="dist");let s=ye(i,"apiName");We(s)||(s="api");let d=ye(i,"pathUploadTemp");We(d)||(d="./uploadTemp"),Xn(d)||function(e){if(Xn(e))return{success:"input folder is already exists: "+e};if(t.existsSync(e))return{error:"input path already exists: "+e};try{t.mkdirSync(e,{recursive:!0})}catch(e){return{error:e}}}(d);let g=ye(i,"tokenType");We(g)||(g="Bearer");let I=ye(i,"verifyConn");(function(e){let t=Object.prototype.toString.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t})(I)||(I=()=>!0);let p=ye(i,"corsOrigins",[]);et(p)||(p=["*"]);let C=ye(i,"delayForBasic","");Ee(C)||(C=0),C=Me(C);let f=ye(i,"delayForSlice","");Ee(f)||(f=100),f=Me(f);let y=null;y=ye(i,"serverHapi")?i.serverHapi:r.server({port:c,routes:{timeout:{server:!1,socket:!1},cors:{origin:p,credentials:!1}}});let h=new Ze,m=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];setTimeout((()=>{h.emit(e,...n)}),1)};async function b(e){let t=be(),n=be();return n.then((e=>{t.resolve(e)})).catch((e=>{t.reject(e)})),m("download",e,n),t}function A(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=new n.Readable;o._read=()=>{},o.push(t),o.push(null);let i=ye(r,"returnType",""),c=ye(r,"returnMsg",""),l=e.response(o).header("Cache-Control","no-cache, no-store, must-revalidate").header("Content-Type","application/octet-stream").header("Content-Length",o.readableLength);return We(i)&&l.header("Return-Type",i),We(c)&&l.header("Return-Msg",c),l}function v(e,t){return We(t)||(console.log("msg",t),console.log("msg is not an effective string, set msg=''"),t=""),A(e,yn({error:t}),{returnType:"error",returnMsg:t})}let Z={path:`/${s}`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,output:"stream",parse:!1},timeout:{server:!1,socket:!1}},handler:async function(e,t){let r=ye(e,"headers");r=Ke(r)?r:"";let o=ye(e,"query");o=Ke(o)?o:"";let i=ye(r,"authorization","");i=We(i)?i:"";{let e=I({apiType:"main",authorization:i,headers:r,query:o});if(rt(e)&&(e=await e),!0!==e)return v(t,"permission denied")}m("handler",{api:"apiMain",headers:r,query:o});let c=await(()=>{let t=be(),r=[],o=new n.Writable({write(e,t,n){r.push(e),setTimeout((()=>{n()}),C)}});return e.payload.pipe(o),e.payload.on("end",(()=>{let e=Buffer.concat(r);r=[],t.resolve(e)})),e.payload.on("error",(e=>{m("error","receive payload err"),t.reject(e.message)})),t})(),l=vn(new Uint8Array(c)),a={},u="",s="";return await async function(e){let t=be(),n=be();n.then((n=>{e.output=n,delete e.input,t.resolve(e)})).catch((e=>{t.reject(e)}));{let t=ye(e,"func",""),r=ye(e,"input",null);m("execute",t,r,n)}return t}(l).then((e=>{a.success=e,u="success",s="need to parse"})).catch((e=>{a.error=e,u="error",s="need to parse"})),A(t,yn(a),{returnType:u,returnMsg:s})}},X={path:`/${s}ulckh`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(t,n){let r=ye(t,"headers");r=Ke(r)?r:"";let o=ye(t,"query");o=Ke(o)?o:"";let i=ye(r,"authorization","");i=We(i)?i:"";{let e=I({apiType:"upload-check-slice-hash",authorization:i,headers:r,query:o});if(rt(e)&&(e=await e),!0!==e)return v(n,"permission denied")}m("handler",{api:"apiUploadCheckHash",headers:r,query:o});let c=ye(t,"payload.filename",""),l=ye(t,"payload.fileHash","");if(!We(c))return v(n,"invalid filename in payload");if(!We(l))return v(n,"invalid fileHash in payload");let a=e.join(d,c);if(!Zn(a)){return A(n,yn({success:{existed:!1,msg:"not exist"}}),{returnType:"success",returnMsg:"need to parse"})}if(l!==await Kn(a,{useSync:!1,type:"sha256"})){return A(n,yn({success:{existed:!1,msg:"not equal"}}),{returnType:"success",returnMsg:"need to parse"})}return A(n,yn({success:{existed:!0,msg:"equal",path:a}}),{returnType:"success",returnMsg:"need to parse"})}},K={path:`/${s}slc`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,output:"stream",parse:!1},timeout:{server:!1,socket:!1}},handler:async function(n,r){let o=ye(n,"headers");o=Ke(o)?o:"";let i=ye(n,"query");i=Ke(i)?i:"";let c=ye(o,"authorization","");c=We(c)?c:"";{let e=I({apiType:"upload-slice",authorization:c,headers:o,query:i});if(rt(e)&&(e=await e),!0!==e)return v(r,"permission denied")}m("handler",{api:"apiUploadSlice",headers:o,query:i});let l=ye(o,"chunk-index",""),a=ye(o,"chunk-total",""),u=ye(o,"package-id","");if(!Ee(l))return console.log("invalid chunkIndex in headers"),r.response({error:"invalid chunkIndex in headers"}).code(400);if(l=Me(l),!Ee(a))return console.log("invalid chunkTotal in headers"),r.response({error:"invalid chunkTotal in headers"}).code(400);if(a=Me(a),!We(u))return console.log("invalid packageId in headers"),r.response({error:"invalid packageId in headers"}).code(400);let s=e.join(d,`${u}_${l}`),g=t.createWriteStream(s),p={},C="",y="";return await(()=>{let e=be();return n.payload.pipe(g),n.payload.on("end",(()=>{setTimeout((()=>{e.resolve(`chunk[${l}/${a}] of packageId[${u}] done`)}),f)})),n.payload.on("error",(t=>{m("error",`receive chunk[${l}/${a}] of packageId[${u}] err`),e.reject(`apiUploadSlice receive error: ${t.message}`)})),e})().then((e=>{p.success=e,C="success",y="need to parse"})).catch((e=>{p.error=e,C="error",y="need to parse",m("error",e)})),A(r,yn(p),{returnType:C,returnMsg:y})}},G={path:`/${s}slcm`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(e,t){let n=ye(e,"headers");n=Ke(n)?n:"";let r=ye(e,"query");r=Ke(r)?r:"";let o=ye(n,"authorization","");o=We(o)?o:"";{let e=I({apiType:"upload-slice-merge",authorization:o,headers:n,query:r});if(rt(e)&&(e=await e),!0!==e)return v(t,"permission denied")}m("handler",{api:"apiUploadSliceMerge",headers:n,query:r});let i=ye(e,"payload.filename",""),c=ye(e,"payload.chunk-total",""),l=ye(e,"payload.package-id","");if(!We(i))return console.log("invalid filename in payload"),t.response({error:"invalid filename in payload"}).code(400);if(!Ee(c))return console.log("invalid chunkTotal in payload"),t.response({error:"invalid chunkTotal in payload"}).code(400);if(c=Me(c),!We(l))return console.log("invalid packageId in payload"),t.response({error:"invalid packageId in payload"}).code(400);let a={},u="",s="";return await(async()=>{let e=await Wn(d,l,c,i);return await async function(e){let t=be(),n=be();return n.then((e=>{t.resolve(e)})).catch((e=>{t.reject(e)})),m("upload",e,n),t}(e)})().then((e=>{a.success=e,u="success",s="need to parse"})).catch((e=>{a.error=e,u="error",s="need to parse",m("error",`${e.message}`)})),A(t,yn(a),{returnType:u,returnMsg:s})}},W={path:`/${s}dwgfn`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(e,t){let n=ye(e,"headers");n=Ke(n)?n:"";let r=ye(e,"query");r=Ke(r)?r:"";let o=ye(n,"authorization","");o=We(o)?o:"";{let e=I({apiType:"download-get-filename",authorization:o,headers:n,query:r});if(rt(e)&&(e=await e),!0!==e)return v(t,"permission denied")}m("handler",{api:"apiDownloadGetFilename",headers:n,query:r});let i=ye(e,"payload.fileId","");if(!We(i))return v(t,"invalid fileId in payload");let c={fileId:i},l={},a="",u="";await b(c).then((e=>{l.success=e,a="success",u="need to parse"})).catch((e=>{l.error=e,a="error",u="need to parse"}));let s=ye(l,"success"),d=ye(s,"streamRead");try{d.destroy()}catch(e){}let g=ye(s,"filename");return We(g)?(l={success:{filename:g}},A(t,yn(l),{returnType:a,returnMsg:u})):v(t,"invalid filename")}},H={path:`/${s}dwgf`,method:"GET",options:{timeout:{server:!1,socket:!1}},handler:async function(e,t){let n=ye(e,"headers");n=Ke(n)?n:"";let r=ye(e,"query");r=Ke(r)?r:"";let o=ye(r,"token","");o=We(o)?o:"";let i="";We(o)&&(i=`${g} ${o}`);{let e=I({apiType:"download-get-file",authorization:i,headers:n,query:r});if(rt(e)&&(e=await e),!0!==e)return v(t,"permission denied")}m("handler",{api:"apiDownloadGetFilename",headers:n,query:r});let c=ye(r,"fileId","");if(c=We(c)?c:"",!We(c))return v(t,"invalid fileId in query");let l={fileId:c},a={};if(await b(l).then((e=>{a.success=e})).catch((e=>{a.error=e})),pt(a,"error"))return v(t,"can not get file from fileId");let u=ye(a,"success"),s=ye(u,"streamRead"),d=ye(u,"fileSize");if(!me(d)){try{s.destroy()}catch(e){}return v(t,"invalid fileSize")}let p=ye(u,"fileType");if(!We(p)){try{s.destroy()}catch(e){}return v(t,"invalid fileType")}return p=ot(p),t.response(s).type(p).header("Content-Length",d)}},V={path:`/${s}dw`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(e,t){let n=ye(e,"headers");n=Ke(n)?n:"";let r=ye(e,"query");r=Ke(r)?r:"";let o=ye(n,"authorization","");o=We(o)?o:"";{let e=I({apiType:"download",authorization:o,headers:n,query:r});if(rt(e)&&(e=await e),!0!==e)return v(t,"permission denied")}m("handler",{api:"apiDownload",headers:n,query:r});let i=ye(e,"payload.fileId","");if(!We(i))return v(t,"invalid fileId in payload");let c={fileId:i},l={};if(await b(c).then((e=>{l.success=e})).catch((e=>{l.error=e})),pt(l,"error"))return v(t,"can not get file from fileId");let a=ye(l,"success"),u=ye(a,"streamRead"),s=ye(a,"filename");if(!We(s)){try{u.destroy()}catch(e){}return v(t,"invalid filename")}s=It(s);let d=ye(a,"fileSize");if(!me(d)){try{u.destroy()}catch(e){}return v(t,"invalid fileSize")}let g=ye(a,"fileType");if(!We(g)){try{u.destroy()}catch(e){}return v(t,"invalid fileType")}return g=ot(g),t.response(u).type(g).header("Content-Disposition",`attachment; filename="${s}"`).header("Content-Length",d)}};return ye(i,"serverHapi")?y.route([Z,X,K,G,W,H,V]):async function(){a&&await y.register(o);let e=[];if(a){let t={method:"GET",path:"/{file*}",handler:{directory:{path:`${u}/`}}};e=[...e,t]}e=[...e,Z,X,K,G,W,H,V],y.route(e),await y.start(),console.log(`Server running at: ${y.info.uri}`)}(),h.stop=()=>{y.stop()},h}}));
|
|
6
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("path"),require("fs"),require("stream"),require("@hapi/hapi"),require("@hapi/inert"),require("crypto"),require("worker_threads")):"function"==typeof define&&define.amd?define(["path","fs","stream","@hapi/hapi","@hapi/inert","crypto","worker_threads"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-converhp-server"]=e(t.path,t.fs,t.stream,t["@hapi/hapi"],t["@hapi/inert"],t.crypto,t.require$$0)}(this,(function(t,e,n,r,i,o,c){"use strict";var l=Array.isArray,d="object"==typeof global&&global&&global.Object===Object&&global,u="object"==typeof self&&self&&self.Object===Object&&self,a=d||u||Function("return this")(),s=a.Symbol,I=Object.prototype,p=I.hasOwnProperty,g=I.toString,C=s?s.toStringTag:void 0;var m=Object.prototype.toString;var y="[object Null]",b="[object Undefined]",h=s?s.toStringTag:void 0;function f(t){return null==t?void 0===t?b:y:h&&h in Object(t)?function(t){var e=p.call(t,C),n=t[C];try{t[C]=void 0;var r=!0}catch(t){}var i=g.call(t);return r&&(e?t[C]=n:delete t[C]),i}(t):function(t){return m.call(t)}(t)}function X(t){return null!=t&&"object"==typeof t}var Z="[object Symbol]";function A(t){return"symbol"==typeof t||X(t)&&f(t)==Z}var K=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,G=/^\w*$/;function v(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var W="[object AsyncFunction]",H="[object Function]",V="[object GeneratorFunction]",Y="[object Proxy]";function x(t){if(!v(t))return!1;var e=f(t);return e==H||e==V||e==W||e==Y}var S,J=a["__core-js_shared__"],R=(S=/[^.]+$/.exec(J&&J.keys&&J.keys.IE_PROTO||""))?"Symbol(src)_1."+S:"";var w=Function.prototype.toString;var j=/^\[object .+?Constructor\]$/,P=Function.prototype,Q=Object.prototype,B=P.toString,L=Q.hasOwnProperty,T=RegExp("^"+B.call(L).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function N(t){return!(!v(t)||(e=t,R&&R in e))&&(x(t)?T:j).test(function(t){if(null!=t){try{return w.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t));var e}function k(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return N(n)?n:void 0}var F=k(Object,"create");var U=Object.prototype.hasOwnProperty;var O=Object.prototype.hasOwnProperty;function z(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function M(t,e){for(var n,r,i=t.length;i--;)if((n=t[i][0])===(r=e)||n!=n&&r!=r)return i;return-1}z.prototype.clear=function(){this.__data__=F?F(null):{},this.size=0},z.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},z.prototype.get=function(t){var e=this.__data__;if(F){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return U.call(e,t)?e[t]:void 0},z.prototype.has=function(t){var e=this.__data__;return F?void 0!==e[t]:O.call(e,t)},z.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=F&&void 0===e?"__lodash_hash_undefined__":e,this};var D=Array.prototype.splice;function E(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}E.prototype.clear=function(){this.__data__=[],this.size=0},E.prototype.delete=function(t){var e=this.__data__,n=M(e,t);return!(n<0)&&(n==e.length-1?e.pop():D.call(e,n,1),--this.size,!0)},E.prototype.get=function(t){var e=this.__data__,n=M(e,t);return n<0?void 0:e[n][1]},E.prototype.has=function(t){return M(this.__data__,t)>-1},E.prototype.set=function(t,e){var n=this.__data__,r=M(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var _=k(a,"Map");function q(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function $(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}$.prototype.clear=function(){this.size=0,this.__data__={hash:new z,map:new(_||E),string:new z}},$.prototype.delete=function(t){var e=q(this,t).delete(t);return this.size-=e?1:0,e},$.prototype.get=function(t){return q(this,t).get(t)},$.prototype.has=function(t){return q(this,t).has(t)},$.prototype.set=function(t,e){var n=q(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};var tt="Expected a function";function et(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(tt);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var c=t.apply(this,r);return n.cache=o.set(i,c)||o,c};return n.cache=new(et.Cache||$),n}et.Cache=$;var nt,rt,it,ot=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ct=/\\(\\)?/g,lt=(nt=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(ot,(function(t,n,r,i){e.push(r?i.replace(ct,"$1"):n||t)})),e},rt=et(nt,(function(t){return 500===it.size&&it.clear(),t})),it=rt.cache,rt),dt=lt;var ut=1/0,at=s?s.prototype:void 0,st=at?at.toString:void 0;function It(t){if("string"==typeof t)return t;if(l(t))return function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}(t,It)+"";if(A(t))return st?st.call(t):"";var e=t+"";return"0"==e&&1/t==-ut?"-0":e}function pt(t){return null==t?"":It(t)}function gt(t,e){return l(t)?t:function(t,e){if(l(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!A(t))||G.test(t)||!K.test(t)||null!=e&&t in Object(e)}(t,e)?[t]:dt(pt(t))}var Ct=1/0;function mt(t){if("string"==typeof t||A(t))return t;var e=t+"";return"0"==e&&1/t==-Ct?"-0":e}function yt(t,e,n){var r=null==t?void 0:function(t,e){for(var n=0,r=(e=gt(e,t)).length;null!=t&&n<r;)t=t[mt(e[n++])];return n&&n==r?t:void 0}(t,e);return void 0===r?n:r}var bt="[object Number]";function ht(t){return"number"==typeof t||X(t)&&f(t)==bt}function ft(){let t,e,n=new Promise((function(){t=arguments[0],e=arguments[1]}));return n.resolve=t,n.reject=e,n}var Xt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Zt={};!function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function o(t,e,r,o,c){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new i(r,o||t,c),d=n?n+e:e;return t._events[d]?t._events[d].fn?t._events[d]=[t._events[d],l]:t._events[d].push(l):(t._events[d]=l,t._eventsCount++),t}function c(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),l.prototype.eventNames=function(){var t,r,i=[];if(0===this._eventsCount)return i;for(r in t=this._events)e.call(t,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},l.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,c=new Array(o);i<o;i++)c[i]=r[i].fn;return c},l.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},l.prototype.emit=function(t,e,r,i,o,c){var l=n?n+t:t;if(!this._events[l])return!1;var d,u,a=this._events[l],s=arguments.length;if(a.fn){switch(a.once&&this.removeListener(t,a.fn,void 0,!0),s){case 1:return a.fn.call(a.context),!0;case 2:return a.fn.call(a.context,e),!0;case 3:return a.fn.call(a.context,e,r),!0;case 4:return a.fn.call(a.context,e,r,i),!0;case 5:return a.fn.call(a.context,e,r,i,o),!0;case 6:return a.fn.call(a.context,e,r,i,o,c),!0}for(u=1,d=new Array(s-1);u<s;u++)d[u-1]=arguments[u];a.fn.apply(a.context,d)}else{var I,p=a.length;for(u=0;u<p;u++)switch(a[u].once&&this.removeListener(t,a[u].fn,void 0,!0),s){case 1:a[u].fn.call(a[u].context);break;case 2:a[u].fn.call(a[u].context,e);break;case 3:a[u].fn.call(a[u].context,e,r);break;case 4:a[u].fn.call(a[u].context,e,r,i);break;default:if(!d)for(I=1,d=new Array(s-1);I<s;I++)d[I-1]=arguments[I];a[u].fn.apply(a[u].context,d)}}return!0},l.prototype.on=function(t,e,n){return o(this,t,e,n,!1)},l.prototype.once=function(t,e,n){return o(this,t,e,n,!0)},l.prototype.removeListener=function(t,e,r,i){var o=n?n+t:t;if(!this._events[o])return this;if(!e)return c(this,o),this;var l=this._events[o];if(l.fn)l.fn!==e||i&&!l.once||r&&l.context!==r||c(this,o);else{for(var d=0,u=[],a=l.length;d<a;d++)(l[d].fn!==e||i&&!l[d].once||r&&l[d].context!==r)&&u.push(l[d]);u.length?this._events[o]=1===u.length?u[0]:u:c(this,o)}return this},l.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&c(this,e)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,t.exports=l}({get exports(){return Zt},set exports(t){Zt=t}});var At=Zt;function Kt(t){return"[object Object]"===Object.prototype.toString.call(t)}function Gt(t){if(Kt(t)){for(let e in t)return!0;return!1}return!1}function vt(t){return"[object String]"===Object.prototype.toString.call(t)}function Wt(t){return!(!vt(t)||""===t)}var Ht=/\s/;var Vt=/^\s+/;function Yt(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Ht.test(t.charAt(e)););return e}(t)+1).replace(Vt,""):t}var xt=NaN,St=/^[-+]0x[0-9a-f]+$/i,Jt=/^0b[01]+$/i,Rt=/^0o[0-7]+$/i,wt=parseInt;function jt(t){if("number"==typeof t)return t;if(A(t))return xt;if(v(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=v(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Yt(t);var n=Jt.test(t);return n||Rt.test(t)?wt(t.slice(2),n?2:8):St.test(t)?xt:+t}var Pt=1/0,Qt=17976931348623157e292;function Bt(t){return t?(t=jt(t))===Pt||t===-Pt?(t<0?-1:1)*Qt:t==t?t:0:0===t?t:0}function Lt(t){var e=Bt(t),n=e%1;return e==e?n?e-n:e:0}function Tt(t){return t!=t}function Nt(t){let e=!1;if(Wt(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(Tt(t))return!1;e=!0}return e}function kt(t){if(!Nt(t))return 0;return Bt(t)}function Ft(t){return!!Nt(t)&&(t=kt(t),"number"==typeof(e=t)&&e==Lt(e));var e}var Ut=a.isFinite,Ot=Math.min;var zt=function(t){var e=Math[t];return function(t,n){if(t=jt(t),(n=null==n?0:Ot(Lt(n),292))&&Ut(t)){var r=(pt(t)+"e").split("e");return+((r=(pt(e(r[0]+"e"+(+r[1]+n)))+"e").split("e"))[0]+"e"+(+r[1]-n))}return e(t)}}("round"),Mt=zt;function Dt(t){if(!Nt(t))return 0;t=kt(t);let e=Mt(t);return"0"===String(e)?0:e}function Et(t){if(!Ft(t))return!1;return Dt(t)>=0}function _t(t){return"[object Array]"===Object.prototype.toString.call(t)}function qt(t){if(Kt(t)){for(let e in t)return!1;return!0}return!1}function $t(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!qt(t)||(!!function(t){return!(!vt(t)||""!==t)}(t)||(!!function(t){return!!_t(t)&&0===t.length}(t)||!!Tt(t)))))}function te(t){return!!_t(t)&&(0!==t.length&&(1!==t.length||!$t(t[0])))}var ee="[object Boolean]";function ne(t){return!0===(e=t)||!1===e||X(e)&&f(e)==ee;var e}function re(t){let e,n=Object.prototype.toString.call(t);if(e="[object Promise]"===n,e)return!0;if("[object Function]"!==n)return!1;try{e="function"!=typeof t.subscribe&&"function"==typeof t.then}catch(t){}return e}function ie(t){if(!Wt(t)&&!Nt(t)&&!A(t))return"";let e="";try{e=String(t)}catch(t){}try{e=t.toString()}catch(t){}return e}var oe={};var ce,le={},de={get exports(){return le},set exports(t){le=t}};function ue(){return ce||(ce=1,function(t,e){var n;t.exports=(n=n||function(t,e){var n;if("undefined"!=typeof window&&window.crypto&&(n=window.crypto),"undefined"!=typeof self&&self.crypto&&(n=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(n=globalThis.crypto),!n&&"undefined"!=typeof window&&window.msCrypto&&(n=window.msCrypto),!n&&void 0!==Xt&&Xt.crypto&&(n=Xt.crypto),!n)try{n=require("crypto")}catch(t){}var r=function(){if(n){if("function"==typeof n.getRandomValues)try{return n.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof n.randomBytes)try{return n.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function t(){}return function(e){var n;return t.prototype=e,n=new t,t.prototype=null,n}}(),o={},c=o.lib={},l=c.Base={extend:function(t){var e=i(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},d=c.WordArray=l.extend({init:function(t,n){t=this.words=t||[],this.sigBytes=n!=e?n:4*t.length},toString:function(t){return(t||a).stringify(this)},concat:function(t){var e=this.words,n=t.words,r=this.sigBytes,i=t.sigBytes;if(this.clamp(),r%4)for(var o=0;o<i;o++){var c=n[o>>>2]>>>24-o%4*8&255;e[r+o>>>2]|=c<<24-(r+o)%4*8}else for(var l=0;l<i;l+=4)e[r+l>>>2]=n[l>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-n%4*8,e.length=t.ceil(n/4)},clone:function(){var t=l.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],n=0;n<t;n+=4)e.push(r());return new d.init(e,t)}}),u=o.enc={},a=u.Hex={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],i=0;i<n;i++){var o=e[i>>>2]>>>24-i%4*8&255;r.push((o>>>4).toString(16)),r.push((15&o).toString(16))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r<e;r+=2)n[r>>>3]|=parseInt(t.substr(r,2),16)<<24-r%8*4;return new d.init(n,e/2)}},s=u.Latin1={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],i=0;i<n;i++){var o=e[i>>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(o))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r<e;r++)n[r>>>2]|=(255&t.charCodeAt(r))<<24-r%4*8;return new d.init(n,e)}},I=u.Utf8={stringify:function(t){try{return decodeURIComponent(escape(s.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return s.parse(unescape(encodeURIComponent(t)))}},p=c.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=I.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var n,r=this._data,i=r.words,o=r.sigBytes,c=this.blockSize,l=o/(4*c),u=(l=e?t.ceil(l):t.max((0|l)-this._minBufferSize,0))*c,a=t.min(4*u,o);if(u){for(var s=0;s<u;s+=c)this._doProcessBlock(i,s);n=i.splice(0,u),r.sigBytes-=a}return new d.init(n,a)},clone:function(){var t=l.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});c.Hasher=p.extend({cfg:l.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){p.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,n){return new t.init(n).finalize(e)}},_createHmacHelper:function(t){return function(e,n){return new g.HMAC.init(t,n).finalize(e)}}});var g=o.algo={};return o}(Math),n)}(de)),le}!function(t,e){t.exports=ue().enc.Utf8}({get exports(){return oe},set exports(t){oe=t}});var ae=oe,se={};!function(t,e){var n;t.exports=(n=ue(),function(){var t=n,e=t.lib.WordArray;function r(t,n,r){for(var i=[],o=0,c=0;c<n;c++)if(c%4){var l=r[t.charCodeAt(c-1)]<<c%4*2|r[t.charCodeAt(c)]>>>6-c%4*2;i[o>>>2]|=l<<24-o%4*8,o++}return e.create(i,o)}t.enc.Base64={stringify:function(t){var e=t.words,n=t.sigBytes,r=this._map;t.clamp();for(var i=[],o=0;o<n;o+=3)for(var c=(e[o>>>2]>>>24-o%4*8&255)<<16|(e[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|e[o+2>>>2]>>>24-(o+2)%4*8&255,l=0;l<4&&o+.75*l<n;l++)i.push(r.charAt(c>>>6*(3-l)&63));var d=r.charAt(64);if(d)for(;i.length%4;)i.push(d);return i.join("")},parse:function(t){var e=t.length,n=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var o=0;o<n.length;o++)i[n.charCodeAt(o)]=o}var c=n.charAt(64);if(c){var l=t.indexOf(c);-1!==l&&(e=l)}return r(t,e,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),n.enc.Base64)}({get exports(){return se},set exports(t){se=t}});var Ie=se;function pe(t){if(!Wt(t))return"";let e=ae.parse(t);return Ie.stringify(e)}function ge(t,e){return!!Kt(t)&&(!(!Wt(e)&&!Nt(e))&&e in t)}function Ce(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}var me,ye=function(t,e,n){for(var r=-1,i=Object(t),o=n(t),c=o.length;c--;){var l=o[me?c:++r];if(!1===e(i[l],l,i))break}return t};function be(t){return X(t)&&"[object Arguments]"==f(t)}var he=Object.prototype,fe=he.hasOwnProperty,Xe=he.propertyIsEnumerable,Ze=be(function(){return arguments}())?be:function(t){return X(t)&&fe.call(t,"callee")&&!Xe.call(t,"callee")},Ae=Ze;var Ke="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ge=Ke&&"object"==typeof module&&module&&!module.nodeType&&module,ve=Ge&&Ge.exports===Ke?a.Buffer:void 0,We=(ve?ve.isBuffer:void 0)||function(){return!1},He=9007199254740991,Ve=/^(?:0|[1-9]\d*)$/;function Ye(t,e){var n=typeof t;return!!(e=null==e?He:e)&&("number"==n||"symbol"!=n&&Ve.test(t))&&t>-1&&t%1==0&&t<e}var xe=9007199254740991;function Se(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=xe}var Je={};Je["[object Float32Array]"]=Je["[object Float64Array]"]=Je["[object Int8Array]"]=Je["[object Int16Array]"]=Je["[object Int32Array]"]=Je["[object Uint8Array]"]=Je["[object Uint8ClampedArray]"]=Je["[object Uint16Array]"]=Je["[object Uint32Array]"]=!0,Je["[object Arguments]"]=Je["[object Array]"]=Je["[object ArrayBuffer]"]=Je["[object Boolean]"]=Je["[object DataView]"]=Je["[object Date]"]=Je["[object Error]"]=Je["[object Function]"]=Je["[object Map]"]=Je["[object Number]"]=Je["[object Object]"]=Je["[object RegExp]"]=Je["[object Set]"]=Je["[object String]"]=Je["[object WeakMap]"]=!1;var Re="object"==typeof exports&&exports&&!exports.nodeType&&exports,we=Re&&"object"==typeof module&&module&&!module.nodeType&&module,je=we&&we.exports===Re&&d.process,Pe=function(){try{var t=we&&we.require&&we.require("util").types;return t||je&&je.binding&&je.binding("util")}catch(t){}}(),Qe=Pe&&Pe.isTypedArray,Be=Qe?function(t){return function(e){return t(e)}}(Qe):function(t){return X(t)&&Se(t.length)&&!!Je[f(t)]},Le=Be,Te=Object.prototype.hasOwnProperty;function Ne(t,e){var n=l(t),r=!n&&Ae(t),i=!n&&!r&&We(t),o=!n&&!r&&!i&&Le(t),c=n||r||i||o,d=c?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],u=d.length;for(var a in t)!e&&!Te.call(t,a)||c&&("length"==a||i&&("offset"==a||"parent"==a)||o&&("buffer"==a||"byteLength"==a||"byteOffset"==a)||Ye(a,u))||d.push(a);return d}var ke=Object.prototype;function Fe(t,e){return function(n){return t(e(n))}}var Ue=Fe(Object.keys,Object),Oe=Object.prototype.hasOwnProperty;function ze(t){if(n=(e=t)&&e.constructor,e!==("function"==typeof n&&n.prototype||ke))return Ue(t);var e,n,r=[];for(var i in Object(t))Oe.call(t,i)&&"constructor"!=i&&r.push(i);return r}function Me(t){return null!=t&&Se(t.length)&&!x(t)}function De(t){return Me(t)?Ne(t):ze(t)}var Ee=function(t,e){return function(n,r){if(null==n)return n;if(!Me(n))return t(n,r);for(var i=n.length,o=e?i:-1,c=Object(n);(e?o--:++o<i)&&!1!==r(c[o],o,c););return n}}((function(t,e){return t&&ye(t,e,De)})),_e=Ee;function qe(t){return t}function $e(t,e){var n;return(l(t)?Ce:_e)(t,"function"==typeof(n=e)?n:qe)}function tn(t){return"[object ArrayBuffer]"===Object.prototype.toString.call(t)}function en(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}function nn(t){return"[object Uint16Array]"===Object.prototype.toString.call(t)}function rn(t){if(!(tn(t)||(e=t,"[object Blob]"===Object.prototype.toString.call(e))||en(t)||nn(t)))return null;var e;try{if(t.byteLength)return t.byteLength}catch(t){}try{if(t.length)return t.length}catch(t){}try{if(t.size)return t.size}catch(t){}return null}var on=Fe(Object.getPrototypeOf,Object),cn="[object Object]",ln=Function.prototype,dn=Object.prototype,un=ln.toString,an=dn.hasOwnProperty,sn=un.call(Object);var In="[object DOMException]",pn="[object Error]";function gn(t){if(!X(t))return!1;var e=f(t);return e==pn||e==In||"string"==typeof t.message&&"string"==typeof t.name&&!function(t){if(!X(t)||f(t)!=cn)return!1;var e=on(t);if(null===e)return!0;var n=an.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&un.call(n)==sn}(t)}function Cn(t){if(!Wt(t))return new Uint8Array;let e;try{e=function(t){if(!vt(t))return new Uint8Array;let e=Ie.parse(t),n=e.words,r=e.sigBytes,i=new Uint8Array(r);for(let t=0;t<r;t++){let e=n[t>>>2]>>>24-t%4*8&255;i[t]=e}return i}(pe(t))}catch(t){return new Uint8Array}return e}function mn(t,e){return function(t,e,n,r,i,o){if(!Nt(t))return null;if(!en(e))return null;if(!Ft(n))return null;if(!ne(r))return null;if(!Ft(i))return null;if(!Ft(o))return null;let c,l,d;t=kt(t);let u=8*o-i-1,a=(1<<u)-1,s=a>>1,I=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?o-1:0,g=r?-1:1,C=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,c=a):(c=Math.floor(Math.log(t)/Math.LN2),t*(d=Math.pow(2,-c))<1&&(c--,d*=2),(t+=c+s>=1?I/d:I*Math.pow(2,1-s))*d>=2&&(c++,d/=2),c+s>=a?(l=0,c=a):c+s>=1?(l=(t*d-1)*Math.pow(2,i),c+=s):(l=t*Math.pow(2,s-1)*Math.pow(2,i),c=0));i>=8;e[n+p]=255&l,p+=g,l/=256,i-=8);for(c=c<<i|l,u+=i;u>0;e[n+p]=255&c,p+=g,c/=256,u-=8);return e[n+p-g]|=128*C,null}(t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,!(arguments.length>3&&void 0!==arguments[3])||arguments[3],arguments.length>4&&void 0!==arguments[4]?arguments[4]:52,arguments.length>5&&void 0!==arguments[5]?arguments[5]:8)}function yn(t){let e=[],n=[];if(!te(t)&&!Gt(t))return null;let r=[],i=[];function o(t){r.push(rn(t)),i.push(t)}try{let c=function(t){if(!Kt(t))return{results:"",binarys:[]};if(qt(t))return{results:"",binarys:[]};let e="",n=[];try{let r=-1;e=JSON.stringify(t,(function(t,e){if(en(e)){r+=1;let t=`[Uint8Array]::${r}`;return n.push(e),t}if(nn(e)){r+=1;let t=`[Uint16Array]::${r}`;return n.push(e),t}if(tn(e)){r+=1;let t=`[ArrayBuffer]::${r}`;return n.push(e),t}return gn(e)&&(e=e.toString()),e}))}catch(t){}return{results:e,binarys:n}}(t);o(Cn(c.results)),$e(c.binarys,(t=>{o(t)}));let l=r,d=Cn(JSON.stringify(l)),u=new Uint8Array(8);mn(rn(d),u),e.push(u),e.push(d),$e(i,(t=>{e.push(t)})),$e(e,(t=>{n=function(t,e){let n=rn(t),r=rn(e),i=new Uint8Array(n+r);return i.set(new Uint8Array(t),0),i.set(new Uint8Array(e),n),i}(n,t)}))}catch(t){return null}return n}function bn(t){return function(t,e,n,r,i){if(!en(t))return null;if(!Ft(e))return null;if(!ne(n))return null;if(!Ft(r))return null;if(!Ft(i))return null;let o,c,l=8*i-r-1,d=(1<<l)-1,u=d>>1,a=-7,s=n?0:i-1,I=n?1:-1,p=t[e+s];for(s+=I,o=p&(1<<-a)-1,p>>=-a,a+=l;a>0;o=256*o+t[e+s],s+=I,a-=8);for(c=o&(1<<-a)-1,o>>=-a,a+=r;a>0;c=256*c+t[e+s],s+=I,a-=8);if(0===o)o=1-u;else{if(o===d)return c?NaN:1/0*(p?-1:1);c+=Math.pow(2,r),o-=u}return(p?-1:1)*c*Math.pow(2,o-r)}(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,!(arguments.length>2&&void 0!==arguments[2])||arguments[2],arguments.length>3&&void 0!==arguments[3]?arguments[3]:52,arguments.length>4&&void 0!==arguments[4]?arguments[4]:8)}var hn={};!function(t,e){var n;t.exports=(n=ue(),function(){if("function"==typeof ArrayBuffer){var t=n.lib.WordArray,e=t.init,r=t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var n=t.byteLength,r=[],i=0;i<n;i++)r[i>>>2]|=t[i]<<24-i%4*8;e.call(this,r,n)}else e.apply(this,arguments)};r.prototype=t}}(),n.lib.WordArray)}({get exports(){return hn},set exports(t){hn=t}});var fn=hn;function Xn(t){if(!en(t))return"";let e;try{n=function(t){return en(t)?fn.create(t).toString(Ie):""}(t),e=Wt(n)?Ie.parse(n).toString(ae):""}catch(t){return""}var n;return e}function Zn(t){let e=null;if(!en(t))return null;try{let n=8,r=t.slice(0,n),i=t.slice(n,rn(t)),o=bn(r),c=i.slice(0,o),l=i.slice(o,rn(i)),d=Xn(c),u=function(t,e){let n=0,r=0,i=[];return $e(e,(e=>{r=n+e;let o=t.slice(n,r);n=r,i.push(o)})),i}(l,JSON.parse(d));e=function(t){if(!Gt(t))return{};let{results:e,binarys:n}=t;if(!Wt(e))return{};if(!_t(n))return{};let r={};try{r=JSON.parse(e,(function(t,e){if(Wt(e)){if(e.indexOf("[Uint8Array]::")>=0){let t=Dt(e.replace("[Uint8Array]::",""));return n[t]}if(e.indexOf("[Uint16Array]::")>=0){let t=Dt(e.replace("[Uint16Array]::",""));return n[t]}if(e.indexOf("[ArrayBuffer]::")>=0){let t=Dt(e.replace("[ArrayBuffer]::",""));return n[t]}}return e}))}catch(t){}return r}({results:Xn(u.shift()),binarys:u})}catch(t){}return e}function An(t){return function(t){let e=yt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs");return!!e.existsSync(t)&&!e.lstatSync(t).isDirectory()&&!e.lstatSync(t).isSymbolicLink()}(t,{fs:e})}function Kn(t){let e=yt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs");if(!e.existsSync(t))return!1;let n=e.lstatSync(t);return!n.isFile()&&!n.isSymbolicLink()}function Gn(t){return function(t){let e=yt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs");if(Kn(t,{fs:e}))return{success:"input folder is already exists: "+t};if(e.existsSync(t))return{error:"input path already exists: "+t};try{e.mkdirSync(t,{recursive:!0})}catch(t){return{error:t}}return{success:"done: "+t}}(t,{fs:e})}function vn(t){return vn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vn(t)}function Wn(t){var e=function(t,e){if("object"!==vn(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!==vn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===vn(e)?e:String(e)}function Hn(t,e,n){return(e=Wn(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Vn(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=yt(e,"fs"),r=yt(e,"crypto"),i=yt(e,"type","");Wt(i)||(i="sha512");let o=yt(e,"useSync","");ne(o)||(o=!0);let c="";return c=o?function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"sha512",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=yt(n,"fs"),i=yt(n,"crypto");if(!An(t))throw new Error(`fp[${t}] is not a file`);let o=r.readFileSync(t),c=i.createHash(e);return c.update(o,"utf8"),c.digest("hex")}(t,i,{fs:n,crypto:r}):function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"sha512",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=yt(n,"fs"),i=yt(n,"crypto"),o=ft();if(!An(t))return o.reject(`fp[${t}] is not a file`),o;try{let n=i.createHash(e),c=r.createReadStream(t);c.on("readable",(()=>{let t=c.read();t?n.update(t):o.resolve(n.digest("hex"))})),c.on("error",(t=>{o.reject(t.toString())}))}catch(t){o.reject(t.toString())}return o}(t,i,{fs:n,crypto:r}),c}function Yn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function xn(t){return Vn(t,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Yn(Object(n),!0).forEach((function(e){Hn(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Yn(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({fs:e,crypto:o},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}var Sn={};!function(t,e){t.exports=function(t){var e={};!function(e,n){e.exports=function(t){var e={};!function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function o(t,e,r,o,c){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new i(r,o||t,c),d=n?n+e:e;return t._events[d]?t._events[d].fn?t._events[d]=[t._events[d],l]:t._events[d].push(l):(t._events[d]=l,t._eventsCount++),t}function c(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),l.prototype.eventNames=function(){var t,r,i=[];if(0===this._eventsCount)return i;for(r in t=this._events)e.call(t,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},l.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,c=new Array(o);i<o;i++)c[i]=r[i].fn;return c},l.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},l.prototype.emit=function(t,e,r,i,o,c){var l=n?n+t:t;if(!this._events[l])return!1;var d,u,a=this._events[l],s=arguments.length;if(a.fn){switch(a.once&&this.removeListener(t,a.fn,void 0,!0),s){case 1:return a.fn.call(a.context),!0;case 2:return a.fn.call(a.context,e),!0;case 3:return a.fn.call(a.context,e,r),!0;case 4:return a.fn.call(a.context,e,r,i),!0;case 5:return a.fn.call(a.context,e,r,i,o),!0;case 6:return a.fn.call(a.context,e,r,i,o,c),!0}for(u=1,d=new Array(s-1);u<s;u++)d[u-1]=arguments[u];a.fn.apply(a.context,d)}else{var I,p=a.length;for(u=0;u<p;u++)switch(a[u].once&&this.removeListener(t,a[u].fn,void 0,!0),s){case 1:a[u].fn.call(a[u].context);break;case 2:a[u].fn.call(a[u].context,e);break;case 3:a[u].fn.call(a[u].context,e,r);break;case 4:a[u].fn.call(a[u].context,e,r,i);break;default:if(!d)for(I=1,d=new Array(s-1);I<s;I++)d[I-1]=arguments[I];a[u].fn.apply(a[u].context,d)}}return!0},l.prototype.on=function(t,e,n){return o(this,t,e,n,!1)},l.prototype.once=function(t,e,n){return o(this,t,e,n,!0)},l.prototype.removeListener=function(t,e,r,i){var o=n?n+t:t;if(!this._events[o])return this;if(!e)return c(this,o),this;var l=this._events[o];if(l.fn)l.fn!==e||i&&!l.once||r&&l.context!==r||c(this,o);else{for(var d=0,u=[],a=l.length;d<a;d++)(l[d].fn!==e||i&&!l[d].once||r&&l[d].context!==r)&&u.push(l[d]);u.length?this._events[o]=1===u.length?u[0]:u:c(this,o)}return this},l.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&c(this,e)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,t.exports=l}({get exports(){return e},set exports(t){e=t}});var n=e;let r;!function(){if("nodejs"!=("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let e=(i="CgogICAgICAgIC8vaW1wb3J0IHsgcGFyZW50UG9ydCB9IGZyb20gJ3dvcmtlcl90aHJlYWRzJwogICAgICAgIGxldCB7IHBhcmVudFBvcnQgfSA9IHJlcXVpcmUoJ3dvcmtlcl90aHJlYWRzJykgLy/lm6BwYWNrYWdlLmpzb27kuI3ntaZ0eXBlPW1vZHVsZeaVheeEoeazleaUr+aPtGVzNiBpbXBvcnQsIOW+l+S9v+eUqHJlcXVpcmUKICAgICAgICAvL+iLpeimgeaWvG5vZGVqcyB3b3JrZXLlhafkvb/nlKjnhKHms5Xnt6jora/nmoTljp/nlJ/lpZfku7bkvovlpoJmcywg6YG/5YWN5L2/55So6aCC5bGkaW1wb3J05Yqg6LyJ5L2/55SoLCDlm6DnhKHms5Xnt6jora/mnIPnm7TmjqXkv53nlZkKICAgICAgICAvL+S4puWboGltcG9ydOS9jeaWvHdvcmtlcuWkluWxpOmZkOWumueCunJlcXVpcmXljYAocGFja2FnZS5qc29u5LiN57WmdHlwZT1tb2R1bGUpLCDmlYXlh7rnj77pjK/oqqTnhKHms5Xnt6jora8KICAgICAgICAKCiJ1c2Ugc3RyaWN0Ijt2YXIgdD1yZXF1aXJlKCJwYXRoIikscj1yZXF1aXJlKCJmcyIpLGU9QXJyYXkuaXNBcnJheSxuPSJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWwmJmdsb2JhbC5PYmplY3Q9PT1PYmplY3QmJmdsb2JhbCxvPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGYsaT1ufHxvfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpLHU9aS5TeW1ib2wsYT1PYmplY3QucHJvdG90eXBlLGM9YS5oYXNPd25Qcm9wZXJ0eSxzPWEudG9TdHJpbmcsZj11P3UudG9TdHJpbmdUYWc6dm9pZCAwO3ZhciBsPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7dmFyIHA9IltvYmplY3QgTnVsbF0iLGg9IltvYmplY3QgVW5kZWZpbmVkXSIseT11P3UudG9TdHJpbmdUYWc6dm9pZCAwO2Z1bmN0aW9uIHYodCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwPT09dD9oOnA6eSYmeSBpbiBPYmplY3QodCk/ZnVuY3Rpb24odCl7dmFyIHI9Yy5jYWxsKHQsZiksZT10W2ZdO3RyeXt0W2ZdPXZvaWQgMDt2YXIgbj0hMH1jYXRjaCh0KXt9dmFyIG89cy5jYWxsKHQpO3JldHVybiBuJiYocj90W2ZdPWU6ZGVsZXRlIHRbZl0pLG99KHQpOmZ1bmN0aW9uKHQpe3JldHVybiBsLmNhbGwodCl9KHQpfXZhciBfPSJbb2JqZWN0IFN5bWJvbF0iO2Z1bmN0aW9uIGQodCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHxmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dCYmIm9iamVjdCI9PXR5cGVvZiB0fSh0KSYmdih0KT09X312YXIgYj0vXC58XFsoPzpbXltcXV0qfChbIiddKSg/Oig/IVwxKVteXFxdfFxcLikqP1wxKVxdLyxnPS9eXHcqJC87ZnVuY3Rpb24gaih0KXt2YXIgcj10eXBlb2YgdDtyZXR1cm4gbnVsbCE9dCYmKCJvYmplY3QiPT1yfHwiZnVuY3Rpb24iPT1yKX12YXIgUz0iW29iamVjdCBBc3luY0Z1bmN0aW9uXSIsTz0iW29iamVjdCBGdW5jdGlvbl0iLG09IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIix3PSJbb2JqZWN0IFByb3h5XSI7dmFyICQseD1pWyJfX2NvcmUtanNfc2hhcmVkX18iXSxSPSgkPS9bXi5dKyQvLmV4ZWMoeCYmeC5rZXlzJiZ4LmtleXMuSUVfUFJPVE98fCIiKSk/IlN5bWJvbChzcmMpXzEuIiskOiIiO3ZhciB6PUZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZzt2YXIgQT0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxGPUZ1bmN0aW9uLnByb3RvdHlwZSxOPU9iamVjdC5wcm90b3R5cGUsUD1GLnRvU3RyaW5nLGs9Ti5oYXNPd25Qcm9wZXJ0eSxFPVJlZ0V4cCgiXiIrUC5jYWxsKGspLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2Z1bmN0aW9uIEModCl7aWYoIWoodCl8fChyPXQsUiYmUiBpbiByKSlyZXR1cm4hMTt2YXIgcixlPWZ1bmN0aW9uKHQpe2lmKCFqKHQpKXJldHVybiExO3ZhciByPXYodCk7cmV0dXJuIHI9PU98fHI9PW18fHI9PVN8fHI9PXd9KHQpP0U6QTtyZXR1cm4gZS50ZXN0KGZ1bmN0aW9uKHQpe2lmKG51bGwhPXQpe3RyeXtyZXR1cm4gei5jYWxsKHQpfWNhdGNoKHQpe310cnl7cmV0dXJuIHQrIiJ9Y2F0Y2godCl7fX1yZXR1cm4iIn0odCkpfWZ1bmN0aW9uIEkodCxyKXt2YXIgZT1mdW5jdGlvbih0LHIpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W3JdfSh0LHIpO3JldHVybiBDKGUpP2U6dm9pZCAwfXZhciBUPUkoT2JqZWN0LCJjcmVhdGUiKTt2YXIgTT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBxPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gTCh0KXt2YXIgcj0tMSxlPW51bGw9PXQ/MDp0Lmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrcjxlOyl7dmFyIG49dFtyXTt0aGlzLnNldChuWzBdLG5bMV0pfX1mdW5jdGlvbiBVKHQscil7Zm9yKHZhciBlLG4sbz10Lmxlbmd0aDtvLS07KWlmKChlPXRbb11bMF0pPT09KG49cil8fGUhPWUmJm4hPW4pcmV0dXJuIG87cmV0dXJuLTF9TC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPVQ/VChudWxsKTp7fSx0aGlzLnNpemU9MH0sTC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuaGFzKHQpJiZkZWxldGUgdGhpcy5fX2RhdGFfX1t0XTtyZXR1cm4gdGhpcy5zaXplLT1yPzE6MCxyfSxMLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXztpZihUKXt2YXIgZT1yW3RdO3JldHVybiJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fIj09PWU/dm9pZCAwOmV9cmV0dXJuIE0uY2FsbChyLHQpP3JbdF06dm9pZCAwfSxMLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXztyZXR1cm4gVD92b2lkIDAhPT1yW3RdOnEuY2FsbChyLHQpfSxMLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLl9fZGF0YV9fO3JldHVybiB0aGlzLnNpemUrPXRoaXMuaGFzKHQpPzA6MSxlW3RdPVQmJnZvaWQgMD09PXI/Il9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iOnIsdGhpc307dmFyIEQ9QXJyYXkucHJvdG90eXBlLnNwbGljZTtmdW5jdGlvbiBHKHQpe3ZhciByPS0xLGU9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytyPGU7KXt2YXIgbj10W3JdO3RoaXMuc2V0KG5bMF0sblsxXSl9fUcucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1bXSx0aGlzLnNpemU9MH0sRy5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuX19kYXRhX18sZT1VKHIsdCk7cmV0dXJuIShlPDApJiYoZT09ci5sZW5ndGgtMT9yLnBvcCgpOkQuY2FsbChyLGUsMSksLS10aGlzLnNpemUsITApfSxHLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXyxlPVUocix0KTtyZXR1cm4gZTwwP3ZvaWQgMDpyW2VdWzFdfSxHLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIFUodGhpcy5fX2RhdGFfXyx0KT4tMX0sRy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQscil7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPVUoZSx0KTtyZXR1cm4gbjwwPygrK3RoaXMuc2l6ZSxlLnB1c2goW3Qscl0pKTplW25dWzFdPXIsdGhpc307dmFyIFc9SShpLCJNYXAiKTtmdW5jdGlvbiBCKHQscil7dmFyIGUsbixvPXQuX19kYXRhX187cmV0dXJuKCJzdHJpbmciPT0obj10eXBlb2YoZT1yKSl8fCJudW1iZXIiPT1ufHwic3ltYm9sIj09bnx8ImJvb2xlYW4iPT1uPyJfX3Byb3RvX18iIT09ZTpudWxsPT09ZSk/b1sic3RyaW5nIj09dHlwZW9mIHI/InN0cmluZyI6Imhhc2giXTpvLm1hcH1mdW5jdGlvbiBIKHQpe3ZhciByPS0xLGU9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytyPGU7KXt2YXIgbj10W3JdO3RoaXMuc2V0KG5bMF0sblsxXSl9fUgucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5zaXplPTAsdGhpcy5fX2RhdGFfXz17aGFzaDpuZXcgTCxtYXA6bmV3KFd8fEcpLHN0cmluZzpuZXcgTH19LEgucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0KXt2YXIgcj1CKHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPXI/MTowLHJ9LEgucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gQih0aGlzLHQpLmdldCh0KX0sSC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiBCKHRoaXMsdCkuaGFzKHQpfSxILnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyKXt2YXIgZT1CKHRoaXMsdCksbj1lLnNpemU7cmV0dXJuIGUuc2V0KHQsciksdGhpcy5zaXplKz1lLnNpemU9PW4/MDoxLHRoaXN9O3ZhciBKPSJFeHBlY3RlZCBhIGZ1bmN0aW9uIjtmdW5jdGlvbiBLKHQscil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IG5ldyBUeXBlRXJyb3IoSik7dmFyIGU9ZnVuY3Rpb24oKXt2YXIgbj1hcmd1bWVudHMsbz1yP3IuYXBwbHkodGhpcyxuKTpuWzBdLGk9ZS5jYWNoZTtpZihpLmhhcyhvKSlyZXR1cm4gaS5nZXQobyk7dmFyIHU9dC5hcHBseSh0aGlzLG4pO3JldHVybiBlLmNhY2hlPWkuc2V0KG8sdSl8fGksdX07cmV0dXJuIGUuY2FjaGU9bmV3KEsuQ2FjaGV8fEgpLGV9Sy5DYWNoZT1IO3ZhciBRLFYsWCxZPS9bXi5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCQpKS9nLFo9L1xcKFxcKT8vZyx0dD0oUT1mdW5jdGlvbih0KXt2YXIgcj1bXTtyZXR1cm4gNDY9PT10LmNoYXJDb2RlQXQoMCkmJnIucHVzaCgiIiksdC5yZXBsYWNlKFksKGZ1bmN0aW9uKHQsZSxuLG8pe3IucHVzaChuP28ucmVwbGFjZShaLCIkMSIpOmV8fHQpfSkpLHJ9LFY9SyhRLChmdW5jdGlvbih0KXtyZXR1cm4gNTAwPT09WC5zaXplJiZYLmNsZWFyKCksdH0pKSxYPVYuY2FjaGUsVikscnQ9dHQ7dmFyIGV0PTEvMCxudD11P3UucHJvdG90eXBlOnZvaWQgMCxvdD1udD9udC50b1N0cmluZzp2b2lkIDA7ZnVuY3Rpb24gaXQodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O2lmKGUodCkpcmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLG89QXJyYXkobik7KytlPG47KW9bZV09cih0W2VdLGUsdCk7cmV0dXJuIG99KHQsaXQpKyIiO2lmKGQodCkpcmV0dXJuIG90P290LmNhbGwodCk6IiI7dmFyIHI9dCsiIjtyZXR1cm4iMCI9PXImJjEvdD09LWV0PyItMCI6cn1mdW5jdGlvbiB1dCh0KXtyZXR1cm4gbnVsbD09dD8iIjppdCh0KX1mdW5jdGlvbiBhdCh0LHIpe3JldHVybiBlKHQpP3Q6ZnVuY3Rpb24odCxyKXtpZihlKHQpKXJldHVybiExO3ZhciBuPXR5cGVvZiB0O3JldHVybiEoIm51bWJlciIhPW4mJiJzeW1ib2wiIT1uJiYiYm9vbGVhbiIhPW4mJm51bGwhPXQmJiFkKHQpKXx8Zy50ZXN0KHQpfHwhYi50ZXN0KHQpfHxudWxsIT1yJiZ0IGluIE9iamVjdChyKX0odCxyKT9bdF06cnQodXQodCkpfXZhciBjdD0xLzA7ZnVuY3Rpb24gc3QodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0fHxkKHQpKXJldHVybiB0O3ZhciByPXQrIiI7cmV0dXJuIjAiPT1yJiYxL3Q9PS1jdD8iLTAiOnJ9ZnVuY3Rpb24gZnQodCxyLGUpe3ZhciBuPW51bGw9PXQ/dm9pZCAwOmZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPTAsbj0ocj1hdChyLHQpKS5sZW5ndGg7bnVsbCE9dCYmZTxuOyl0PXRbc3QocltlKytdKV07cmV0dXJuIGUmJmU9PW4/dDp2b2lkIDB9KHQscik7cmV0dXJuIHZvaWQgMD09PW4/ZTpufWZ1bmN0aW9uIGx0KCl7bGV0IHQscixlPW5ldyBQcm9taXNlKChmdW5jdGlvbigpe3Q9YXJndW1lbnRzWzBdLHI9YXJndW1lbnRzWzFdfSkpO3JldHVybiBlLnJlc29sdmU9dCxlLnJlamVjdD1yLGV9ZnVuY3Rpb24gcHQodCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBodCh0KXtpZihmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCkpe2ZvcihsZXQgciBpbiB0KXJldHVybiExO3JldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIHl0KHQpe3JldHVybiJbb2JqZWN0IFN0cmluZ10iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIHZ0KHQpe3JldHVybiB0IT10fWZ1bmN0aW9uIF90KHQpe3JldHVybiEhZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgVW5kZWZpbmVkXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9KHQpfHwoISFmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBOdWxsXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9KHQpfHwoISFodCh0KXx8KCEhZnVuY3Rpb24odCl7cmV0dXJuISgheXQodCl8fCIiIT09dCl9KHQpfHwoISFmdW5jdGlvbih0KXtyZXR1cm4hIXB0KHQpJiYwPT09dC5sZW5ndGh9KHQpfHwhIXZ0KHQpKSkpKX1mdW5jdGlvbiBkdCh0KXtyZXR1cm4hKCF5dCh0KXx8IiI9PT10KX12YXIgYnQ9L1xzLzt2YXIgZ3Q9L15ccysvO2Z1bmN0aW9uIGp0KHQpe3JldHVybiB0P3Quc2xpY2UoMCxmdW5jdGlvbih0KXtmb3IodmFyIHI9dC5sZW5ndGg7ci0tJiZidC50ZXN0KHQuY2hhckF0KHIpKTspO3JldHVybiByfSh0KSsxKS5yZXBsYWNlKGd0LCIiKTp0fXZhciBTdD1OYU4sT3Q9L15bLStdMHhbMC05YS1mXSskL2ksbXQ9L14wYlswMV0rJC9pLHd0PS9eMG9bMC03XSskL2ksJHQ9cGFyc2VJbnQ7ZnVuY3Rpb24geHQodCl7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0O2lmKGQodCkpcmV0dXJuIFN0O2lmKGoodCkpe3ZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiB0LnZhbHVlT2Y/dC52YWx1ZU9mKCk6dDt0PWoocik/cisiIjpyfWlmKCJzdHJpbmciIT10eXBlb2YgdClyZXR1cm4gMD09PXQ/dDordDt0PWp0KHQpO3ZhciBlPW10LnRlc3QodCk7cmV0dXJuIGV8fHd0LnRlc3QodCk/JHQodC5zbGljZSgyKSxlPzI6OCk6T3QudGVzdCh0KT9TdDordH12YXIgUnQ9MS8wLHp0PTE3OTc2OTMxMzQ4NjIzMTU3ZTI5MjtmdW5jdGlvbiBBdCh0KXtyZXR1cm4gdD8odD14dCh0KSk9PT1SdHx8dD09PS1SdD8odDwwPy0xOjEpKnp0OnQ9PXQ/dDowOjA9PT10P3Q6MH1mdW5jdGlvbiBGdCh0KXt2YXIgcj1BdCh0KSxlPXIlMTtyZXR1cm4gcj09cj9lP3ItZTpyOjB9ZnVuY3Rpb24gTnQodCl7bGV0IHI9ITE7aWYoZHQodCkpcj0haXNOYU4oTnVtYmVyKHQpKTtlbHNlIGlmKGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IE51bWJlcl0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSh0KSl7aWYodnQodCkpcmV0dXJuITE7cj0hMH1yZXR1cm4gcn1mdW5jdGlvbiBQdCh0KXtpZighTnQodCkpcmV0dXJuIDA7cmV0dXJuIEF0KHQpfWZ1bmN0aW9uIGt0KHQpe3JldHVybiEhTnQodCkmJih0PVB0KHQpLCJudW1iZXIiPT10eXBlb2Yocj10KSYmcj09RnQocikpO3ZhciByfXZhciBFdD1pLmlzRmluaXRlLEN0PU1hdGgubWluO3ZhciBJdD1mdW5jdGlvbih0KXt2YXIgcj1NYXRoW3RdO3JldHVybiBmdW5jdGlvbih0LGUpe2lmKHQ9eHQodCksKGU9bnVsbD09ZT8wOkN0KEZ0KGUpLDI5MikpJiZFdCh0KSl7dmFyIG49KHV0KHQpKyJlIikuc3BsaXQoImUiKTtyZXR1cm4rKChuPSh1dChyKG5bMF0rImUiKygrblsxXStlKSkpKyJlIikuc3BsaXQoImUiKSlbMF0rImUiKygrblsxXS1lKSl9cmV0dXJuIHIodCl9fSgicm91bmQiKSxUdD1JdDtmdW5jdGlvbiBNdCh0KXtpZighTnQodCkpcmV0dXJuIDA7dD1QdCh0KTtsZXQgcj1UdCh0KTtyZXR1cm4iMCI9PT1TdHJpbmcocik/MDpyfWZ1bmN0aW9uIHF0KHQpe2lmKCFrdCh0KSlyZXR1cm4hMTtyZXR1cm4gTXQodCk+PTB9ZnVuY3Rpb24gTHQodCxyKXtpZighZHQodCkpcmV0dXJuIiI7aWYoIXF0KHIpKXJldHVybiIiO2lmKDA9PT0ocj1NdChyKSkpcmV0dXJuIiI7bGV0IGU9dC5sZW5ndGgtcjtyZXR1cm4gZTwwJiYoZT0wKSx0LnN1YnN0cmluZyhlLGUrcil9ZnVuY3Rpb24gVXQodCxyKXtyZXR1cm4gZHQodCkmJnF0KHIpPzA9PT0ocj1NdChyKSk/dDpmdW5jdGlvbih0LHIpe3JldHVybiBkdCh0KSYmcXQocik/MD09PShyPU10KHIpKT8iIjp0LnN1YnN0cmluZygwLHIpOiIifSh0LHQubGVuZ3RoLXIpOiIifWZ1bmN0aW9uIER0KHQpe2lmKCFkdCh0KSlyZXR1cm57cGF0aDoiIixpc1Jvb3Q6ITF9O2Zvcig7dC5pbmRleE9mKCJcXFxcIik+PTA7KXQ9dC5yZXBsYWNlKCJcXFxcIiwiXFwiKTtmb3IoO3QuaW5kZXhPZigiLy8iKT49MDspdD10LnJlcGxhY2UoIi8vIiwiLyIpO2lmKCI6Ij09PUx0KHQsMSkpcmV0dXJue3BhdGg6YCR7dH1cXGAsaXNSb290OiEwfTtpZigiXFwiPT09THQodCwxKSl7bGV0IHI9VXQodCwxKTtyZXR1cm4iOiI9PT1MdChyLDEpP3twYXRoOnQsaXNSb290OiEwfTp7cGF0aDpyLGlzUm9vdDohMX19aWYoIi8iPT09THQodCwxKSl7bGV0IHI9VXQodCwxKTtyZXR1cm4gMD09PXIubGVuZ3RoP3twYXRoOnQsaXNSb290OiEwfTp7cGF0aDpyLGlzUm9vdDohMX19cmV0dXJue3BhdGg6dCxpc1Jvb3Q6ITF9fWZ1bmN0aW9uIEd0KHQpe2lmKCFkdCh0KSlyZXR1cm4iIjtsZXQgcj1EdCh0KTtpZihyLmlzUm9vdClyZXR1cm4gci5wYXRoO2xldCBlPWZ1bmN0aW9uKHQpe2lmKCFkdCh0KSlyZXR1cm4iIjtsZXQgcj1EdCh0KTtpZihyLmlzUm9vdClyZXR1cm4gci5wYXRoO2xldCBlPXIucGF0aDt0cnl7ZT1lLnNwbGl0KCJcXCIpLnBvcCgpLnNwbGl0KCIvIikucG9wKCl9Y2F0Y2godCl7fXJldHVybiBlfSh0PXIucGF0aCk7aWYoIWR0KGUpKXJldHVybiB0O2xldCBuPUR0KHQ9VXQodCxlLmxlbmd0aCkpO3JldHVybiBuLmlzUm9vdCxuLnBhdGh9ZnVuY3Rpb24gV3QodCxyPXt9KXtsZXQgZT1mdChyLCJmcyIpO2lmKCFlLmV4aXN0c1N5bmModCkpcmV0dXJuITE7bGV0IG49ZS5sc3RhdFN5bmModCk7cmV0dXJuIW4uaXNGaWxlKCkmJiFuLmlzU3ltYm9saWNMaW5rKCl9ZnVuY3Rpb24gQnQodCxyPXt9KXtsZXQgZT1mdChyLCJmcyIpO3JldHVybiEhZS5leGlzdHNTeW5jKHQpJiYoIWUubHN0YXRTeW5jKHQpLmlzRGlyZWN0b3J5KCkmJiFlLmxzdGF0U3luYyh0KS5pc1N5bWJvbGljTGluaygpKX1mdW5jdGlvbiBIdCh0LHI9e30pe2xldCBlPWZ0KHIsImZzIik7aWYoIWUuZXhpc3RzU3luYyh0KSlyZXR1cm57c3VjY2VzczoiZmlsZSBkb2VzIG5vdCBleGlzdDogIit0fTtpZighQnQodCx7ZnM6ZX0pKXJldHVybntlcnJvcjoiaW5wdXQgcGF0aCBpcyBub3QgYSBmaWxlOiAiK3R9O3RyeXtlLnVubGlua1N5bmModCl9Y2F0Y2godCl7cmV0dXJue2Vycm9yOnR9fXJldHVybntzdWNjZXNzOiJkb25lOiAiK3R9fWFzeW5jIGZ1bmN0aW9uIEp0KHQscixlLG49e30pe2xldCBvPSIiLGk9ZnQobiwiZnMiKTtpZighcHQodT1yKXx8MD09PXUubGVuZ3RofHwxPT09dS5sZW5ndGgmJl90KHVbMF0pKXRocm93IG5ldyBFcnJvcigiZnBzSW4gaW4gbm90IGFuIGVmZmVjdGl2ZSBhcnJheSIpO3ZhciB1O2xldCBhPUd0KGUpO1d0KGEse2ZzOml9KXx8ZnVuY3Rpb24odCxyPXt9KXtsZXQgZT1mdChyLCJmcyIpO2lmKFd0KHQse2ZzOmV9KSlyZXR1cm57c3VjY2VzczoiaW5wdXQgZm9sZGVyIGlzIGFscmVhZHkgZXhpc3RzOiAiK3R9O2lmKGUuZXhpc3RzU3luYyh0KSlyZXR1cm57ZXJyb3I6ImlucHV0IHBhdGggYWxyZWFkeSBleGlzdHM6ICIrdH07dHJ5e2UubWtkaXJTeW5jKHQse3JlY3Vyc2l2ZTohMH0pfWNhdGNoKHQpe3JldHVybntlcnJvcjp0fX19KGEse2ZzOml9KTtsZXQgYz1sdCgpO3RyeXtsZXQgbj1pLmNyZWF0ZVdyaXRlU3RyZWFtKGUpO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKXtsZXQgZT1yW3RdO2lmKCFCdChlLHtmczppfSkpdGhyb3cgbmV3IEVycm9yKGBmcEluWyR7ZX1dIGlzIG5vdCBhIGZpbGVgKTtsZXQgdT0oKT0+e2xldCB0PWx0KCkscj1pLmNyZWF0ZVJlYWRTdHJlYW0oZSk7cmV0dXJuIHIub24oImVycm9yIiwocj0+e289ci5tZXNzYWdlLHQucmVqZWN0KHIpfSkpLHIub24oImVuZCIsKCgpPT57SHQoZSx7ZnM6aX0pLHQucmVzb2x2ZSgpfSkpLHIucGlwZShuLHtlbmQ6ITF9KSx0fTthd2FpdCB1KCl9bi5lbmQoKSxuLm9uKCJlcnJvciIsKHQ9PntvPXQubWVzc2FnZSxjLnJlamVjdChvKX0pKSxuLm9uKCJmaW5pc2giLCgoKT0+e2xldCByPXtmaWxlbmFtZTp0LHBhdGg6ZX07Yy5yZXNvbHZlKHIpfSkpfWNhdGNoKHQpe289dC5tZXNzYWdlLGMucmVqZWN0KG8pfXJldHVybiBjfWxldCBtZXJnZUZpbGVzPWFzeW5jKGUsbixvLGkpPT57bGV0IHU9W107Zm9yKGxldCByPTA7cjxvO3IrKyl7bGV0IG89dC5qb2luKGUsYCR7bn1fJHtyfWApO3UucHVzaChvKX1sZXQgYT10LmpvaW4oZSxuKSxjPWF3YWl0IGFzeW5jIGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gSnQodCxlLG4se2ZzOnJ9KX0oaSx1LGEpO3JldHVybiBjfTsKCgpsZXQgaW5zdGFuY2UgPSBudWxsCmZ1bmN0aW9uIGluaXQoaW5wdXQpewoKICAgIC8vaW5pdAogICAgbGV0IHIKICAgIAogICAgICAgIHIgPSB7CiAgICAgICAgICAgIG1haW46IG1lcmdlRmlsZXMKICAgICAgICB9CiAgICAgICAgCgogICAgLy9vbgogICAgCgogICAgLy9zYXZlCiAgICBpbnN0YW5jZSA9IHIKCn0KCmZ1bmN0aW9uIHNlbmRNZXNzYWdlKGRhdGEpIHsKICAgIAogICAgICAgIHBhcmVudFBvcnQucG9zdE1lc3NhZ2UoZGF0YSkKICAgICAgICAKfQoKYXN5bmMgZnVuY3Rpb24gcnVuKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcnVuJyxkYXRhKQoKICAgIC8vbW9kZQogICAgbGV0IG1vZGUgPSBkYXRhLm1vZGUKCiAgICAvL2NoZWNrCiAgICBpZihtb2RlICE9PSAnaW5pdCcgJiYgbW9kZSAhPT0gJ2NhbGwnKXsKICAgICAgICByZXR1cm4KICAgIH0KCiAgICAvL2luaXQKICAgIGlmKG1vZGUgPT09ICdpbml0Jyl7CiAgICAgICAgCiAgICAgICAgdHJ5ewoKICAgICAgICAgICAgLy90eXBlCiAgICAgICAgICAgIGxldCB0eXBlID0gZGF0YS50eXBlCgogICAgICAgICAgICAvL2lucHV0CiAgICAgICAgICAgIGxldCBpbnB1dCA9IGRhdGEuaW5wdXQKICAgIAogICAgICAgICAgICAvL2luc3RhbmNlCiAgICAgICAgICAgIGlmKHR5cGUgPT09ICdmdW5jdGlvbicpewogICAgICAgICAgICAgICAgaW5pdCguLi5pbnB1dCkKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKHR5cGUgPT09ICdvYmplY3QnKXsKICAgICAgICAgICAgICAgIGluc3RhbmNlID0gbWVyZ2VGaWxlcwogICAgICAgICAgICB9CgogICAgICAgIH0KICAgICAgICBjYXRjaChlcnIpewogICAgICAgIAogICAgICAgICAgICAvL3NlbmRNZXNzYWdlCiAgICAgICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgICAgICBtb2RlOiAnZW1pdCcsCiAgICAgICAgICAgICAgICBldk5hbWU6ICdlcnJvcicsCiAgICAgICAgICAgICAgICBtc2c6IGVyciwKICAgICAgICAgICAgfQogICAgICAgICAgICBzZW5kTWVzc2FnZShyZXMpCgogICAgICAgIH0KICAgICAgICAgICAgCiAgICB9CgogICAgLy9jaGVjawogICAgaWYobW9kZSA9PT0gJ2NhbGwnKXsKICAgICAgICBsZXQgc3RhdGUgPSAnJwogICAgICAgIGxldCBtc2cgPSBudWxsCgogICAgICAgIHRyeXsKCiAgICAgICAgICAgIC8vZnVuCiAgICAgICAgICAgIGxldCBmdW4gPSBpbnN0YW5jZVtkYXRhLmZ1bl0KCiAgICAgICAgICAgIC8vaW5wdXQKICAgICAgICAgICAgbGV0IGlucHV0ID0gZGF0YS5pbnB1dAoKICAgICAgICAgICAgLy9leGVjCiAgICAgICAgICAgIGF3YWl0IGZ1biguLi5pbnB1dCkKICAgICAgICAgICAgICAgIC50aGVuKChzdWMpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nc3VjY2VzcycKICAgICAgICAgICAgICAgICAgICBtc2c9c3VjCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHsKICAgICAgICAgICAgICAgICAgICBzdGF0ZT0nZXJyb3InCiAgICAgICAgICAgICAgICAgICAgbXNnPWVycgogICAgICAgICAgICAgICAgfSkKCiAgICAgICAgfQogICAgICAgIGNhdGNoKGVycil7CiAgICAgICAgICAgIHN0YXRlID0gJ2Vycm9yJwogICAgICAgICAgICBtc2cgPSBlcnIKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy9zZW5kTWVzc2FnZQogICAgICAgIGxldCByZXMgPSB7CiAgICAgICAgICAgIG1vZGU6ICdyZXR1cm4nLAogICAgICAgICAgICBpZDogZGF0YS5pZCwKICAgICAgICAgICAgZnVuOiBkYXRhLmZ1biwKICAgICAgICAgICAgc3RhdGUsCiAgICAgICAgICAgIG1zZywKICAgICAgICB9CiAgICAgICAgc2VuZE1lc3NhZ2UocmVzKQoKICAgIH0KCn0KCmZ1bmN0aW9uIHJlY3ZNZXNzYWdlKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcmVjdjonLCBkYXRhKQoKICAgIC8vZGF0YVJlY3YKICAgIGxldCBkYXRhUmVjdiA9IGRhdGEKCiAgICAvL3J1bgogICAgcnVuKGRhdGFSZWN2KQoKfQoKCiAgICAgICAgcGFyZW50UG9ydC5vbignbWVzc2FnZScsIHJlY3ZNZXNzYWdlKQogICAgICAgIAoKdHJ5ewogICAgcHJvY2Vzcy5vbigndW5oYW5kbGVkUmVqZWN0aW9uJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmhhbmRsZWRSZWplY3Rpb24nLCBlcnIpCiAgICB9KQogICAgcHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuY2F1Z2h0RXhjZXB0aW9uJywgZXJyKQogICAgfSkKICAgIHByb2Nlc3Mub24oJ3VuY2F1Z2h0RXhjZXB0aW9uTW9uaXRvcicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5jYXVnaHRFeGNlcHRpb25Nb25pdG9yJywgZXJyKQogICAgfSkKfQpjYXRjaChlcnIpe30KCg==",Buffer.from(i,"base64").toString("utf8"));var i;function o(){let r=new n,i=function(e){try{return new t.Worker(e,{eval:!0})}catch(t){c(t)}}(e);if(!i)return c("invalid worker"),null;function o(){let t=function(){let t,e,n=new Promise((function(){t=arguments[0],e=arguments[1]}));return n.resolve=t,n.reject=e,n}(),e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=[],n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),r=n.length;for(let i=0;i<t;i++)e[i]=n[0|Math.random()*r];return e.join("")}(),n={mode:"call",id:e,fun:"main",input:[...arguments]};return i.postMessage(n),r.once(e,(e=>{"success"===e.state?t.resolve(e.msg):t.reject(e.msg)})),t}function c(t){r.emit("error",t)}return i.on("message",(function(t){let e=t,n=e.mode;"emit"!==n&&"return"!==n||("emit"===n&&r.emit(e.evName,e.msg),"return"===n&&r.emit(e.id,e))})),i.on("error",c),i.on("exit",(t=>{1!==t&&c("exit code["+t+"] !== 1")})),function(){let t={mode:"init",type:"function",input:[...arguments]};i.postMessage(t)}([...arguments]),r.main=o,r.main=o,r.terminate=function(){i?(i.terminate(),i=void 0):c("worker has been terminated")},r}r=async function(){let t=[...arguments],e=o();return await e.main(...t).finally((()=>{e.terminate()}))}}();try{process.on("unhandledRejection",(t=>{console.log("outer:unhandledRejection",t)})),process.on("uncaughtException",(t=>{console.log("outer:uncaughtException",t)})),process.on("uncaughtExceptionMonitor",(t=>{console.log("outer:uncaughtExceptionMonitor",t)}))}catch(t){}return r}(t)}({get exports(){return e},set exports(t){e=t}});var n=e,r={};!function(t,e){t.exports=function(){const t="function"==typeof Buffer,e="function"==typeof TextDecoder?new TextDecoder:void 0,n=(t=>{let e={};return t.forEach(((t,n)=>e[t]=n)),e})(("function"==typeof TextEncoder&&new TextEncoder,Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="))),r=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,i=String.fromCharCode.bind(String),o="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):t=>new Uint8Array(Array.prototype.slice.call(t,0)),c=t=>t.replace(/[^A-Za-z0-9\+\/]/g,""),l=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,d=t=>{switch(t.length){case 4:var e=((7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3))-65536;return i(55296+(e>>>10))+i(56320+(1023&e));case 3:return i((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return i((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},u=t=>t.replace(l,d),a=t=>{if(t=t.replace(/\s+/g,""),!r.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));let e,o,c,l="";for(let r=0;r<t.length;)e=n[t.charAt(r++)]<<18|n[t.charAt(r++)]<<12|(o=n[t.charAt(r++)])<<6|(c=n[t.charAt(r++)]),l+=64===o?i(e>>16&255):64===c?i(e>>16&255,e>>8&255):i(e>>16&255,e>>8&255,255&e);return l},s="function"==typeof atob?t=>atob(c(t)):t?t=>Buffer.from(t,"base64").toString("binary"):a,I=t?t=>o(Buffer.from(t,"base64")):t=>o(s(t).split("").map((t=>t.charCodeAt(0)))),p=t?t=>Buffer.from(t,"base64").toString("utf8"):e?t=>e.decode(I(t)):t=>u(s(t)),g=t=>c(t.replace(/[-_]/g,(t=>"-"==t?"+":"/"))),C=t=>p(g(t)),m=C;var y={};!function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function o(t,e,r,o,c){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new i(r,o||t,c),d=n?n+e:e;return t._events[d]?t._events[d].fn?t._events[d]=[t._events[d],l]:t._events[d].push(l):(t._events[d]=l,t._eventsCount++),t}function c(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),l.prototype.eventNames=function(){var t,r,i=[];if(0===this._eventsCount)return i;for(r in t=this._events)e.call(t,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},l.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,c=new Array(o);i<o;i++)c[i]=r[i].fn;return c},l.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},l.prototype.emit=function(t,e,r,i,o,c){var l=n?n+t:t;if(!this._events[l])return!1;var d,u,a=this._events[l],s=arguments.length;if(a.fn){switch(a.once&&this.removeListener(t,a.fn,void 0,!0),s){case 1:return a.fn.call(a.context),!0;case 2:return a.fn.call(a.context,e),!0;case 3:return a.fn.call(a.context,e,r),!0;case 4:return a.fn.call(a.context,e,r,i),!0;case 5:return a.fn.call(a.context,e,r,i,o),!0;case 6:return a.fn.call(a.context,e,r,i,o,c),!0}for(u=1,d=new Array(s-1);u<s;u++)d[u-1]=arguments[u];a.fn.apply(a.context,d)}else{var I,p=a.length;for(u=0;u<p;u++)switch(a[u].once&&this.removeListener(t,a[u].fn,void 0,!0),s){case 1:a[u].fn.call(a[u].context);break;case 2:a[u].fn.call(a[u].context,e);break;case 3:a[u].fn.call(a[u].context,e,r);break;case 4:a[u].fn.call(a[u].context,e,r,i);break;default:if(!d)for(I=1,d=new Array(s-1);I<s;I++)d[I-1]=arguments[I];a[u].fn.apply(a[u].context,d)}}return!0},l.prototype.on=function(t,e,n){return o(this,t,e,n,!1)},l.prototype.once=function(t,e,n){return o(this,t,e,n,!0)},l.prototype.removeListener=function(t,e,r,i){var o=n?n+t:t;if(!this._events[o])return this;if(!e)return c(this,o),this;var l=this._events[o];if(l.fn)l.fn!==e||i&&!l.once||r&&l.context!==r||c(this,o);else{for(var d=0,u=[],a=l.length;d<a;d++)(l[d].fn!==e||i&&!l[d].once||r&&l[d].context!==r)&&u.push(l[d]);u.length?this._events[o]=1===u.length?u[0]:u:c(this,o)}return this},l.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&c(this,e)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,t.exports=l}({get exports(){return y},set exports(t){y=t}});var b=y;let h;!function(){if("browser"!=("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let t=m("CgoKInVzZSBzdHJpY3QiO3ZhciB0PXJlcXVpcmUoInBhdGgiKSxyPXJlcXVpcmUoImZzIiksZT1BcnJheS5pc0FycmF5LG49Im9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbCYmZ2xvYmFsLk9iamVjdD09PU9iamVjdCYmZ2xvYmFsLG89Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmJiZzZWxmLk9iamVjdD09PU9iamVjdCYmc2VsZixpPW58fG98fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCksdT1pLlN5bWJvbCxhPU9iamVjdC5wcm90b3R5cGUsYz1hLmhhc093blByb3BlcnR5LHM9YS50b1N0cmluZyxmPXU/dS50b1N0cmluZ1RhZzp2b2lkIDA7dmFyIGw9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzt2YXIgcD0iW29iamVjdCBOdWxsXSIsaD0iW29iamVjdCBVbmRlZmluZWRdIix5PXU/dS50b1N0cmluZ1RhZzp2b2lkIDA7ZnVuY3Rpb24gdih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10P2g6cDp5JiZ5IGluIE9iamVjdCh0KT9mdW5jdGlvbih0KXt2YXIgcj1jLmNhbGwodCxmKSxlPXRbZl07dHJ5e3RbZl09dm9pZCAwO3ZhciBuPSEwfWNhdGNoKHQpe312YXIgbz1zLmNhbGwodCk7cmV0dXJuIG4mJihyP3RbZl09ZTpkZWxldGUgdFtmXSksb30odCk6ZnVuY3Rpb24odCl7cmV0dXJuIGwuY2FsbCh0KX0odCl9dmFyIF89IltvYmplY3QgU3ltYm9sXSI7ZnVuY3Rpb24gZCh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fGZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHR9KHQpJiZ2KHQpPT1ffXZhciBiPS9cLnxcWyg/OlteW1xdXSp8KFsiJ10pKD86KD8hXDEpW15cXF18XFwuKSo/XDEpXF0vLGc9L15cdyokLztmdW5jdGlvbiBqKHQpe3ZhciByPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PXJ8fCJmdW5jdGlvbiI9PXIpfXZhciBTPSJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIixPPSJbb2JqZWN0IEZ1bmN0aW9uXSIsbT0iW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iLHc9IltvYmplY3QgUHJveHldIjt2YXIgJCx4PWlbIl9fY29yZS1qc19zaGFyZWRfXyJdLFI9KCQ9L1teLl0rJC8uZXhlYyh4JiZ4LmtleXMmJngua2V5cy5JRV9QUk9UT3x8IiIpKT8iU3ltYm9sKHNyYylfMS4iKyQ6IiI7dmFyIHo9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO3ZhciBBPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLEY9RnVuY3Rpb24ucHJvdG90eXBlLE49T2JqZWN0LnByb3RvdHlwZSxQPUYudG9TdHJpbmcsaz1OLmhhc093blByb3BlcnR5LEU9UmVnRXhwKCJeIitQLmNhbGwoaykucmVwbGFjZSgvW1xcXiQuKis/KClbXF17fXxdL2csIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIik7ZnVuY3Rpb24gQyh0KXtpZighaih0KXx8KHI9dCxSJiZSIGluIHIpKXJldHVybiExO3ZhciByLGU9ZnVuY3Rpb24odCl7aWYoIWoodCkpcmV0dXJuITE7dmFyIHI9dih0KTtyZXR1cm4gcj09T3x8cj09bXx8cj09U3x8cj09d30odCk/RTpBO3JldHVybiBlLnRlc3QoZnVuY3Rpb24odCl7aWYobnVsbCE9dCl7dHJ5e3JldHVybiB6LmNhbGwodCl9Y2F0Y2godCl7fXRyeXtyZXR1cm4gdCsiIn1jYXRjaCh0KXt9fXJldHVybiIifSh0KSl9ZnVuY3Rpb24gSSh0LHIpe3ZhciBlPWZ1bmN0aW9uKHQscil7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbcl19KHQscik7cmV0dXJuIEMoZSk/ZTp2b2lkIDB9dmFyIFQ9SShPYmplY3QsImNyZWF0ZSIpO3ZhciBNPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIHE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBMKHQpe3ZhciByPS0xLGU9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytyPGU7KXt2YXIgbj10W3JdO3RoaXMuc2V0KG5bMF0sblsxXSl9fWZ1bmN0aW9uIFUodCxyKXtmb3IodmFyIGUsbixvPXQubGVuZ3RoO28tLTspaWYoKGU9dFtvXVswXSk9PT0obj1yKXx8ZSE9ZSYmbiE9bilyZXR1cm4gbztyZXR1cm4tMX1MLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189VD9UKG51bGwpOnt9LHRoaXMuc2l6ZT0wfSxMLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5oYXModCkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW3RdO3JldHVybiB0aGlzLnNpemUtPXI/MTowLHJ9LEwucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKFQpe3ZhciBlPXJbdF07cmV0dXJuIl9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iPT09ZT92b2lkIDA6ZX1yZXR1cm4gTS5jYWxsKHIsdCk/clt0XTp2b2lkIDB9LEwucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fO3JldHVybiBUP3ZvaWQgMCE9PXJbdF06cS5jYWxsKHIsdCl9LEwucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLGVbdF09VCYmdm9pZCAwPT09cj8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6cix0aGlzfTt2YXIgRD1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2Z1bmN0aW9uIEcodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19Ry5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPVtdLHRoaXMuc2l6ZT0wfSxHLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcy5fX2RhdGFfXyxlPVUocix0KTtyZXR1cm4hKGU8MCkmJihlPT1yLmxlbmd0aC0xP3IucG9wKCk6RC5jYWxsKHIsZSwxKSwtLXRoaXMuc2l6ZSwhMCl9LEcucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLl9fZGF0YV9fLGU9VShyLHQpO3JldHVybiBlPDA/dm9pZCAwOnJbZV1bMV19LEcucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gVSh0aGlzLl9fZGF0YV9fLHQpPi0xfSxHLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLl9fZGF0YV9fLG49VShlLHQpO3JldHVybiBuPDA/KCsrdGhpcy5zaXplLGUucHVzaChbdCxyXSkpOmVbbl1bMV09cix0aGlzfTt2YXIgVz1JKGksIk1hcCIpO2Z1bmN0aW9uIEIodCxyKXt2YXIgZSxuLG89dC5fX2RhdGFfXztyZXR1cm4oInN0cmluZyI9PShuPXR5cGVvZihlPXIpKXx8Im51bWJlciI9PW58fCJzeW1ib2wiPT1ufHwiYm9vbGVhbiI9PW4/Il9fcHJvdG9fXyIhPT1lOm51bGw9PT1lKT9vWyJzdHJpbmciPT10eXBlb2Ygcj8ic3RyaW5nIjoiaGFzaCJdOm8ubWFwfWZ1bmN0aW9uIEgodCl7dmFyIHI9LTEsZT1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK3I8ZTspe3ZhciBuPXRbcl07dGhpcy5zZXQoblswXSxuWzFdKX19SC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBMLG1hcDpuZXcoV3x8Ryksc3RyaW5nOm5ldyBMfX0sSC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciByPUIodGhpcyx0KS5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZS09cj8xOjAscn0sSC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBCKHRoaXMsdCkuZ2V0KHQpfSxILnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIEIodGhpcyx0KS5oYXModCl9LEgucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LHIpe3ZhciBlPUIodGhpcyx0KSxuPWUuc2l6ZTtyZXR1cm4gZS5zZXQodCxyKSx0aGlzLnNpemUrPWUuc2l6ZT09bj8wOjEsdGhpc307dmFyIEo9IkV4cGVjdGVkIGEgZnVuY3Rpb24iO2Z1bmN0aW9uIEsodCxyKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpdGhyb3cgbmV3IFR5cGVFcnJvcihKKTt2YXIgZT1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyxvPXI/ci5hcHBseSh0aGlzLG4pOm5bMF0saT1lLmNhY2hlO2lmKGkuaGFzKG8pKXJldHVybiBpLmdldChvKTt2YXIgdT10LmFwcGx5KHRoaXMsbik7cmV0dXJuIGUuY2FjaGU9aS5zZXQobyx1KXx8aSx1fTtyZXR1cm4gZS5jYWNoZT1uZXcoSy5DYWNoZXx8SCksZX1LLkNhY2hlPUg7dmFyIFEsVixYLFk9L1teLltcXV0rfFxbKD86KC0/XGQrKD86XC5cZCspPyl8KFsiJ10pKCg/Oig/IVwyKVteXFxdfFxcLikqPylcMilcXXwoPz0oPzpcLnxcW1xdKSg/OlwufFxbXF18JCkpL2csWj0vXFwoXFwpPy9nLHR0PShRPWZ1bmN0aW9uKHQpe3ZhciByPVtdO3JldHVybiA0Nj09PXQuY2hhckNvZGVBdCgwKSYmci5wdXNoKCIiKSx0LnJlcGxhY2UoWSwoZnVuY3Rpb24odCxlLG4sbyl7ci5wdXNoKG4/by5yZXBsYWNlKFosIiQxIik6ZXx8dCl9KSkscn0sVj1LKFEsKGZ1bmN0aW9uKHQpe3JldHVybiA1MDA9PT1YLnNpemUmJlguY2xlYXIoKSx0fSkpLFg9Vi5jYWNoZSxWKSxydD10dDt2YXIgZXQ9MS8wLG50PXU/dS5wcm90b3R5cGU6dm9pZCAwLG90PW50P250LnRvU3RyaW5nOnZvaWQgMDtmdW5jdGlvbiBpdCh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoZSh0KSlyZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsbz1BcnJheShuKTsrK2U8bjspb1tlXT1yKHRbZV0sZSx0KTtyZXR1cm4gb30odCxpdCkrIiI7aWYoZCh0KSlyZXR1cm4gb3Q/b3QuY2FsbCh0KToiIjt2YXIgcj10KyIiO3JldHVybiIwIj09ciYmMS90PT0tZXQ/Ii0wIjpyfWZ1bmN0aW9uIHV0KHQpe3JldHVybiBudWxsPT10PyIiOml0KHQpfWZ1bmN0aW9uIGF0KHQscil7cmV0dXJuIGUodCk/dDpmdW5jdGlvbih0LHIpe2lmKGUodCkpcmV0dXJuITE7dmFyIG49dHlwZW9mIHQ7cmV0dXJuISgibnVtYmVyIiE9biYmInN5bWJvbCIhPW4mJiJib29sZWFuIiE9biYmbnVsbCE9dCYmIWQodCkpfHxnLnRlc3QodCl8fCFiLnRlc3QodCl8fG51bGwhPXImJnQgaW4gT2JqZWN0KHIpfSh0LHIpP1t0XTpydCh1dCh0KSl9dmFyIGN0PTEvMDtmdW5jdGlvbiBzdCh0KXtpZigic3RyaW5nIj09dHlwZW9mIHR8fGQodCkpcmV0dXJuIHQ7dmFyIHI9dCsiIjtyZXR1cm4iMCI9PXImJjEvdD09LWN0PyItMCI6cn1mdW5jdGlvbiBmdCh0LHIsZSl7dmFyIG49bnVsbD09dD92b2lkIDA6ZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9MCxuPShyPWF0KHIsdCkpLmxlbmd0aDtudWxsIT10JiZlPG47KXQ9dFtzdChyW2UrK10pXTtyZXR1cm4gZSYmZT09bj90OnZvaWQgMH0odCxyKTtyZXR1cm4gdm9pZCAwPT09bj9lOm59ZnVuY3Rpb24gbHQoKXtsZXQgdCxyLGU9bmV3IFByb21pc2UoKGZ1bmN0aW9uKCl7dD1hcmd1bWVudHNbMF0scj1hcmd1bWVudHNbMV19KSk7cmV0dXJuIGUucmVzb2x2ZT10LGUucmVqZWN0PXIsZX1mdW5jdGlvbiBwdCh0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIGh0KHQpe2lmKGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSh0KSl7Zm9yKGxldCByIGluIHQpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24geXQodCl7cmV0dXJuIltvYmplY3QgU3RyaW5nXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gdnQodCl7cmV0dXJuIHQhPXR9ZnVuY3Rpb24gX3QodCl7cmV0dXJuISFmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBVbmRlZmluZWRdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCl8fCghIWZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IE51bGxdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCl8fCghIWh0KHQpfHwoISFmdW5jdGlvbih0KXtyZXR1cm4hKCF5dCh0KXx8IiIhPT10KX0odCl8fCghIWZ1bmN0aW9uKHQpe3JldHVybiEhcHQodCkmJjA9PT10Lmxlbmd0aH0odCl8fCEhdnQodCkpKSkpfWZ1bmN0aW9uIGR0KHQpe3JldHVybiEoIXl0KHQpfHwiIj09PXQpfXZhciBidD0vXHMvO3ZhciBndD0vXlxzKy87ZnVuY3Rpb24ganQodCl7cmV0dXJuIHQ/dC5zbGljZSgwLGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10Lmxlbmd0aDtyLS0mJmJ0LnRlc3QodC5jaGFyQXQocikpOyk7cmV0dXJuIHJ9KHQpKzEpLnJlcGxhY2UoZ3QsIiIpOnR9dmFyIFN0PU5hTixPdD0vXlstK10weFswLTlhLWZdKyQvaSxtdD0vXjBiWzAxXSskL2ksd3Q9L14wb1swLTddKyQvaSwkdD1wYXJzZUludDtmdW5jdGlvbiB4dCh0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoZCh0KSlyZXR1cm4gU3Q7aWYoaih0KSl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9aihyKT9yKyIiOnJ9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9anQodCk7dmFyIGU9bXQudGVzdCh0KTtyZXR1cm4gZXx8d3QudGVzdCh0KT8kdCh0LnNsaWNlKDIpLGU/Mjo4KTpPdC50ZXN0KHQpP1N0Oit0fXZhciBSdD0xLzAsenQ9MTc5NzY5MzEzNDg2MjMxNTdlMjkyO2Z1bmN0aW9uIEF0KHQpe3JldHVybiB0Pyh0PXh0KHQpKT09PVJ0fHx0PT09LVJ0Pyh0PDA/LTE6MSkqenQ6dD09dD90OjA6MD09PXQ/dDowfWZ1bmN0aW9uIEZ0KHQpe3ZhciByPUF0KHQpLGU9ciUxO3JldHVybiByPT1yP2U/ci1lOnI6MH1mdW5jdGlvbiBOdCh0KXtsZXQgcj0hMTtpZihkdCh0KSlyPSFpc05hTihOdW1iZXIodCkpO2Vsc2UgaWYoZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgTnVtYmVyXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9KHQpKXtpZih2dCh0KSlyZXR1cm4hMTtyPSEwfXJldHVybiByfWZ1bmN0aW9uIFB0KHQpe2lmKCFOdCh0KSlyZXR1cm4gMDtyZXR1cm4gQXQodCl9ZnVuY3Rpb24ga3QodCl7cmV0dXJuISFOdCh0KSYmKHQ9UHQodCksIm51bWJlciI9PXR5cGVvZihyPXQpJiZyPT1GdChyKSk7dmFyIHJ9dmFyIEV0PWkuaXNGaW5pdGUsQ3Q9TWF0aC5taW47dmFyIEl0PWZ1bmN0aW9uKHQpe3ZhciByPU1hdGhbdF07cmV0dXJuIGZ1bmN0aW9uKHQsZSl7aWYodD14dCh0KSwoZT1udWxsPT1lPzA6Q3QoRnQoZSksMjkyKSkmJkV0KHQpKXt2YXIgbj0odXQodCkrImUiKS5zcGxpdCgiZSIpO3JldHVybisoKG49KHV0KHIoblswXSsiZSIrKCtuWzFdK2UpKSkrImUiKS5zcGxpdCgiZSIpKVswXSsiZSIrKCtuWzFdLWUpKX1yZXR1cm4gcih0KX19KCJyb3VuZCIpLFR0PUl0O2Z1bmN0aW9uIE10KHQpe2lmKCFOdCh0KSlyZXR1cm4gMDt0PVB0KHQpO2xldCByPVR0KHQpO3JldHVybiIwIj09PVN0cmluZyhyKT8wOnJ9ZnVuY3Rpb24gcXQodCl7aWYoIWt0KHQpKXJldHVybiExO3JldHVybiBNdCh0KT49MH1mdW5jdGlvbiBMdCh0LHIpe2lmKCFkdCh0KSlyZXR1cm4iIjtpZighcXQocikpcmV0dXJuIiI7aWYoMD09PShyPU10KHIpKSlyZXR1cm4iIjtsZXQgZT10Lmxlbmd0aC1yO3JldHVybiBlPDAmJihlPTApLHQuc3Vic3RyaW5nKGUsZStyKX1mdW5jdGlvbiBVdCh0LHIpe3JldHVybiBkdCh0KSYmcXQocik/MD09PShyPU10KHIpKT90OmZ1bmN0aW9uKHQscil7cmV0dXJuIGR0KHQpJiZxdChyKT8wPT09KHI9TXQocikpPyIiOnQuc3Vic3RyaW5nKDAscik6IiJ9KHQsdC5sZW5ndGgtcik6IiJ9ZnVuY3Rpb24gRHQodCl7aWYoIWR0KHQpKXJldHVybntwYXRoOiIiLGlzUm9vdDohMX07Zm9yKDt0LmluZGV4T2YoIlxcXFwiKT49MDspdD10LnJlcGxhY2UoIlxcXFwiLCJcXCIpO2Zvcig7dC5pbmRleE9mKCIvLyIpPj0wOyl0PXQucmVwbGFjZSgiLy8iLCIvIik7aWYoIjoiPT09THQodCwxKSlyZXR1cm57cGF0aDpgJHt0fVxcYCxpc1Jvb3Q6ITB9O2lmKCJcXCI9PT1MdCh0LDEpKXtsZXQgcj1VdCh0LDEpO3JldHVybiI6Ij09PUx0KHIsMSk/e3BhdGg6dCxpc1Jvb3Q6ITB9OntwYXRoOnIsaXNSb290OiExfX1pZigiLyI9PT1MdCh0LDEpKXtsZXQgcj1VdCh0LDEpO3JldHVybiAwPT09ci5sZW5ndGg/e3BhdGg6dCxpc1Jvb3Q6ITB9OntwYXRoOnIsaXNSb290OiExfX1yZXR1cm57cGF0aDp0LGlzUm9vdDohMX19ZnVuY3Rpb24gR3QodCl7aWYoIWR0KHQpKXJldHVybiIiO2xldCByPUR0KHQpO2lmKHIuaXNSb290KXJldHVybiByLnBhdGg7bGV0IGU9ZnVuY3Rpb24odCl7aWYoIWR0KHQpKXJldHVybiIiO2xldCByPUR0KHQpO2lmKHIuaXNSb290KXJldHVybiByLnBhdGg7bGV0IGU9ci5wYXRoO3RyeXtlPWUuc3BsaXQoIlxcIikucG9wKCkuc3BsaXQoIi8iKS5wb3AoKX1jYXRjaCh0KXt9cmV0dXJuIGV9KHQ9ci5wYXRoKTtpZighZHQoZSkpcmV0dXJuIHQ7bGV0IG49RHQodD1VdCh0LGUubGVuZ3RoKSk7cmV0dXJuIG4uaXNSb290LG4ucGF0aH1mdW5jdGlvbiBXdCh0LHI9e30pe2xldCBlPWZ0KHIsImZzIik7aWYoIWUuZXhpc3RzU3luYyh0KSlyZXR1cm4hMTtsZXQgbj1lLmxzdGF0U3luYyh0KTtyZXR1cm4hbi5pc0ZpbGUoKSYmIW4uaXNTeW1ib2xpY0xpbmsoKX1mdW5jdGlvbiBCdCh0LHI9e30pe2xldCBlPWZ0KHIsImZzIik7cmV0dXJuISFlLmV4aXN0c1N5bmModCkmJighZS5sc3RhdFN5bmModCkuaXNEaXJlY3RvcnkoKSYmIWUubHN0YXRTeW5jKHQpLmlzU3ltYm9saWNMaW5rKCkpfWZ1bmN0aW9uIEh0KHQscj17fSl7bGV0IGU9ZnQociwiZnMiKTtpZighZS5leGlzdHNTeW5jKHQpKXJldHVybntzdWNjZXNzOiJmaWxlIGRvZXMgbm90IGV4aXN0OiAiK3R9O2lmKCFCdCh0LHtmczplfSkpcmV0dXJue2Vycm9yOiJpbnB1dCBwYXRoIGlzIG5vdCBhIGZpbGU6ICIrdH07dHJ5e2UudW5saW5rU3luYyh0KX1jYXRjaCh0KXtyZXR1cm57ZXJyb3I6dH19cmV0dXJue3N1Y2Nlc3M6ImRvbmU6ICIrdH19YXN5bmMgZnVuY3Rpb24gSnQodCxyLGUsbj17fSl7bGV0IG89IiIsaT1mdChuLCJmcyIpO2lmKCFwdCh1PXIpfHwwPT09dS5sZW5ndGh8fDE9PT11Lmxlbmd0aCYmX3QodVswXSkpdGhyb3cgbmV3IEVycm9yKCJmcHNJbiBpbiBub3QgYW4gZWZmZWN0aXZlIGFycmF5Iik7dmFyIHU7bGV0IGE9R3QoZSk7V3QoYSx7ZnM6aX0pfHxmdW5jdGlvbih0LHI9e30pe2xldCBlPWZ0KHIsImZzIik7aWYoV3QodCx7ZnM6ZX0pKXJldHVybntzdWNjZXNzOiJpbnB1dCBmb2xkZXIgaXMgYWxyZWFkeSBleGlzdHM6ICIrdH07aWYoZS5leGlzdHNTeW5jKHQpKXJldHVybntlcnJvcjoiaW5wdXQgcGF0aCBhbHJlYWR5IGV4aXN0czogIit0fTt0cnl7ZS5ta2RpclN5bmModCx7cmVjdXJzaXZlOiEwfSl9Y2F0Y2godCl7cmV0dXJue2Vycm9yOnR9fX0oYSx7ZnM6aX0pO2xldCBjPWx0KCk7dHJ5e2xldCBuPWkuY3JlYXRlV3JpdGVTdHJlYW0oZSk7Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0Kyspe2xldCBlPXJbdF07aWYoIUJ0KGUse2ZzOml9KSl0aHJvdyBuZXcgRXJyb3IoYGZwSW5bJHtlfV0gaXMgbm90IGEgZmlsZWApO2xldCB1PSgpPT57bGV0IHQ9bHQoKSxyPWkuY3JlYXRlUmVhZFN0cmVhbShlKTtyZXR1cm4gci5vbigiZXJyb3IiLChyPT57bz1yLm1lc3NhZ2UsdC5yZWplY3Qocil9KSksci5vbigiZW5kIiwoKCk9PntIdChlLHtmczppfSksdC5yZXNvbHZlKCl9KSksci5waXBlKG4se2VuZDohMX0pLHR9O2F3YWl0IHUoKX1uLmVuZCgpLG4ub24oImVycm9yIiwodD0+e289dC5tZXNzYWdlLGMucmVqZWN0KG8pfSkpLG4ub24oImZpbmlzaCIsKCgpPT57bGV0IHI9e2ZpbGVuYW1lOnQscGF0aDplfTtjLnJlc29sdmUocil9KSl9Y2F0Y2godCl7bz10Lm1lc3NhZ2UsYy5yZWplY3Qobyl9cmV0dXJuIGN9bGV0IG1lcmdlRmlsZXM9YXN5bmMoZSxuLG8saSk9PntsZXQgdT1bXTtmb3IobGV0IHI9MDtyPG87cisrKXtsZXQgbz10LmpvaW4oZSxgJHtufV8ke3J9YCk7dS5wdXNoKG8pfWxldCBhPXQuam9pbihlLG4pLGM9YXdhaXQgYXN5bmMgZnVuY3Rpb24odCxlLG4pe3JldHVybiBKdCh0LGUsbix7ZnM6cn0pfShpLHUsYSk7cmV0dXJuIGN9OwoKCmxldCBpbnN0YW5jZSA9IG51bGwKZnVuY3Rpb24gaW5pdChpbnB1dCl7CgogICAgLy9pbml0CiAgICBsZXQgcgogICAgCiAgICAgICAgciA9IHsKICAgICAgICAgICAgbWFpbjogbWVyZ2VGaWxlcwogICAgICAgIH0KICAgICAgICAKCiAgICAvL29uCiAgICAKCiAgICAvL3NhdmUKICAgIGluc3RhbmNlID0gcgoKfQoKZnVuY3Rpb24gc2VuZE1lc3NhZ2UoZGF0YSkgewogICAgCiAgICAgICAgc2VsZi5wb3N0TWVzc2FnZShkYXRhKQogICAgICAgIAp9Cgphc3luYyBmdW5jdGlvbiBydW4oZGF0YSkgewogICAgLy8gY29uc29sZS5sb2coJ2lubmVyIHdvcmtlciBydW4nLGRhdGEpCgogICAgLy9tb2RlCiAgICBsZXQgbW9kZSA9IGRhdGEubW9kZQoKICAgIC8vY2hlY2sKICAgIGlmKG1vZGUgIT09ICdpbml0JyAmJiBtb2RlICE9PSAnY2FsbCcpewogICAgICAgIHJldHVybgogICAgfQoKICAgIC8vaW5pdAogICAgaWYobW9kZSA9PT0gJ2luaXQnKXsKICAgICAgICAKICAgICAgICB0cnl7CgogICAgICAgICAgICAvL3R5cGUKICAgICAgICAgICAgbGV0IHR5cGUgPSBkYXRhLnR5cGUKCiAgICAgICAgICAgIC8vaW5wdXQKICAgICAgICAgICAgbGV0IGlucHV0ID0gZGF0YS5pbnB1dAogICAgCiAgICAgICAgICAgIC8vaW5zdGFuY2UKICAgICAgICAgICAgaWYodHlwZSA9PT0gJ2Z1bmN0aW9uJyl7CiAgICAgICAgICAgICAgICBpbml0KC4uLmlucHV0KQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYodHlwZSA9PT0gJ29iamVjdCcpewogICAgICAgICAgICAgICAgaW5zdGFuY2UgPSBtZXJnZUZpbGVzCiAgICAgICAgICAgIH0KCiAgICAgICAgfQogICAgICAgIGNhdGNoKGVycil7CiAgICAgICAgCiAgICAgICAgICAgIC8vc2VuZE1lc3NhZ2UKICAgICAgICAgICAgbGV0IHJlcyA9IHsKICAgICAgICAgICAgICAgIG1vZGU6ICdlbWl0JywKICAgICAgICAgICAgICAgIGV2TmFtZTogJ2Vycm9yJywKICAgICAgICAgICAgICAgIG1zZzogZXJyLAogICAgICAgICAgICB9CiAgICAgICAgICAgIHNlbmRNZXNzYWdlKHJlcykKCiAgICAgICAgfQogICAgICAgICAgICAKICAgIH0KCiAgICAvL2NoZWNrCiAgICBpZihtb2RlID09PSAnY2FsbCcpewogICAgICAgIGxldCBzdGF0ZSA9ICcnCiAgICAgICAgbGV0IG1zZyA9IG51bGwKCiAgICAgICAgdHJ5ewoKICAgICAgICAgICAgLy9mdW4KICAgICAgICAgICAgbGV0IGZ1biA9IGluc3RhbmNlW2RhdGEuZnVuXQoKICAgICAgICAgICAgLy9pbnB1dAogICAgICAgICAgICBsZXQgaW5wdXQgPSBkYXRhLmlucHV0CgogICAgICAgICAgICAvL2V4ZWMKICAgICAgICAgICAgYXdhaXQgZnVuKC4uLmlucHV0KQogICAgICAgICAgICAgICAgLnRoZW4oKHN1YykgPT4gewogICAgICAgICAgICAgICAgICAgIHN0YXRlPSdzdWNjZXNzJwogICAgICAgICAgICAgICAgICAgIG1zZz1zdWMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4gewogICAgICAgICAgICAgICAgICAgIHN0YXRlPSdlcnJvcicKICAgICAgICAgICAgICAgICAgICBtc2c9ZXJyCiAgICAgICAgICAgICAgICB9KQoKICAgICAgICB9CiAgICAgICAgY2F0Y2goZXJyKXsKICAgICAgICAgICAgc3RhdGUgPSAnZXJyb3InCiAgICAgICAgICAgIG1zZyA9IGVycgogICAgICAgIH0KICAgICAgICAKICAgICAgICAvL3NlbmRNZXNzYWdlCiAgICAgICAgbGV0IHJlcyA9IHsKICAgICAgICAgICAgbW9kZTogJ3JldHVybicsCiAgICAgICAgICAgIGlkOiBkYXRhLmlkLAogICAgICAgICAgICBmdW46IGRhdGEuZnVuLAogICAgICAgICAgICBzdGF0ZSwKICAgICAgICAgICAgbXNnLAogICAgICAgIH0KICAgICAgICBzZW5kTWVzc2FnZShyZXMpCgogICAgfQoKfQoKZnVuY3Rpb24gcmVjdk1lc3NhZ2UoZGF0YSkgewogICAgLy8gY29uc29sZS5sb2coJ2lubmVyIHdvcmtlciByZWN2OicsIGRhdGEpCgogICAgLy9kYXRhUmVjdgogICAgbGV0IGRhdGFSZWN2ID0gZGF0YQoKICAgIC8vcnVuCiAgICBydW4oZGF0YVJlY3YpCgp9CgoKICAgICAgICBzZWxmLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIHJlY3ZNZXNzYWdlKGUuZGF0YSkKICAgICAgICB9CiAgICAgICAgCgp0cnl7CiAgICBwcm9jZXNzLm9uKCd1bmhhbmRsZWRSZWplY3Rpb24nLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuaGFuZGxlZFJlamVjdGlvbicsIGVycikKICAgIH0pCiAgICBwcm9jZXNzLm9uKCd1bmNhdWdodEV4Y2VwdGlvbicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5jYXVnaHRFeGNlcHRpb24nLCBlcnIpCiAgICB9KQogICAgcHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb25Nb25pdG9yJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmNhdWdodEV4Y2VwdGlvbk1vbml0b3InLCBlcnIpCiAgICB9KQp9CmNhdGNoKGVycil7fQoK");function e(){let e=new b,n=function(t){try{let e=new Blob([t]),n=window.URL||window.webkitURL;return new Worker(n.createObjectURL(e))}catch(t){i(t)}}(t);if(!n)return i("invalid worker"),null;function r(){let t=function(){let t,e,n=new Promise((function(){t=arguments[0],e=arguments[1]}));return n.resolve=t,n.reject=e,n}(),r=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=[],n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),r=n.length;for(let i=0;i<t;i++)e[i]=n[0|Math.random()*r];return e.join("")}(),i={mode:"call",id:r,fun:"main",input:[...arguments]};return n.postMessage(i),e.once(r,(e=>{"success"===e.state?t.resolve(e.msg):t.reject(e.msg)})),t}function i(t){e.emit("error",t)}return n.onmessage=function(t){!function(t){let n=t,r=n.mode;"emit"!==r&&"return"!==r||("emit"===r&&e.emit(n.evName,n.msg),"return"===r&&e.emit(n.id,n))}(t.data)},n.onerror=i,n.onmessageerror=function(t){i(t.data)},function(){let t={mode:"init",type:"function",input:[...arguments]};n.postMessage(t)}([...arguments]),e.main=r,e.main=r,e.terminate=function(){n?(n.terminate(),n=void 0):i("worker has been terminated")},e}h=async function(){let t=[...arguments],n=e();return await n.main(...t).finally((()=>{n.terminate()}))}}();try{process.on("unhandledRejection",(t=>{console.log("outer:unhandledRejection",t)})),process.on("uncaughtException",(t=>{console.log("outer:uncaughtException",t)})),process.on("uncaughtExceptionMonitor",(t=>{console.log("outer:uncaughtExceptionMonitor",t)}))}catch(t){}return h}()}({get exports(){return r},set exports(t){r=t}});var i=r;let o;return o="undefined"!=typeof window&&void 0!==window.document?i:n,o}(c)}({get exports(){return Sn},set exports(t){Sn=t}});var Jn=Sn;return function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=yt(o,"port");var l;Ft(l=c)&&Dt(l)>0||(c=8080);let d=yt(o,"useInert");ne(d)||(d=!0);let u=yt(o,"pathStaticFiles");Wt(u)||(u="dist");let a=yt(o,"apiName");Wt(a)||(a="api");let s=yt(o,"pathUploadTemp");Wt(s)||(s="./uploadTemp"),Kn(s,{fs:e})||Gn(s);let I=yt(o,"tokenType");Wt(I)||(I="Bearer");let p=yt(o,"verifyConn");(function(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e})(p)||(p=()=>!0);let g=yt(o,"corsOrigins",[]);te(g)||(g=["*"]);let C=yt(o,"delayForBasic","");Et(C)||(C=0),C=Dt(C);let m=yt(o,"delayForSlice","");Et(m)||(m=100),m=Dt(m);let y=null;y=yt(o,"serverHapi")?o.serverHapi:r.server({port:c,routes:{timeout:{server:!1,socket:!1},cors:{origin:g,credentials:!1}}});let b=new At,h=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];setTimeout((()=>{b.emit(t,...n)}),1)};async function f(t){let e=ft(),n=ft();return n.then((t=>{e.resolve(t)})).catch((t=>{e.reject(t)})),h("download",t,n),e}function X(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=new n.Readable;i._read=()=>{},i.push(e),i.push(null);let o=yt(r,"returnType",""),c=yt(r,"returnMsg",""),l=t.response(i).header("Cache-Control","no-cache, no-store, must-revalidate").header("Content-Type","application/octet-stream").header("Content-Length",i.readableLength);return Wt(o)&&l.header("Return-Type",o),Wt(c)&&l.header("Return-Msg",c),l}function Z(t,e){return Wt(e)||(console.log("msg",e),console.log("msg is not an effective string, set msg=''"),e=""),X(t,yn({error:e}),{returnType:"error",returnMsg:e})}let A={path:`/${a}`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,output:"stream",parse:!1},timeout:{server:!1,socket:!1}},handler:async function(t,e){let r=yt(t,"headers");r=Gt(r)?r:"";let i=yt(t,"query");i=Gt(i)?i:"";let o=yt(r,"authorization","");o=Wt(o)?o:"";{let t=p({apiType:"main",authorization:o,headers:r,query:i});if(re(t)&&(t=await t),!0!==t)return Z(e,"permission denied")}h("handler",{api:"apiMain",headers:r,query:i});let c=await(()=>{let e=ft(),r=[],i=new n.Writable({write(t,e,n){r.push(t),setTimeout((()=>{n()}),C)}});return t.payload.pipe(i),t.payload.on("end",(()=>{let t=Buffer.concat(r);r=[],e.resolve(t)})),t.payload.on("error",(t=>{h("error","receive payload err"),e.reject(t.message)})),e})(),l=Zn(new Uint8Array(c)),d={},u="",a="";return await async function(t){let e=ft(),n=ft();n.then((n=>{t.output=n,delete t.input,e.resolve(t)})).catch((t=>{e.reject(t)}));{let e=yt(t,"func",""),r=yt(t,"input",null);h("execute",e,r,n)}return e}(l).then((t=>{d.success=t,u="success",a="need to parse"})).catch((t=>{d.error=t,u="error",a="need to parse"})),X(e,yn(d),{returnType:u,returnMsg:a})}},K={path:`/${a}ulckh`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(e,n){let r=yt(e,"headers");r=Gt(r)?r:"";let i=yt(e,"query");i=Gt(i)?i:"";let o=yt(r,"authorization","");o=Wt(o)?o:"";{let t=p({apiType:"upload-check-slice-hash",authorization:o,headers:r,query:i});if(re(t)&&(t=await t),!0!==t)return Z(n,"permission denied")}h("handler",{api:"apiUploadCheckHash",headers:r,query:i});let c=yt(e,"payload.filename",""),l=yt(e,"payload.fileHash","");if(!Wt(c))return Z(n,"invalid filename in payload");if(!Wt(l))return Z(n,"invalid fileHash in payload");let d=t.join(s,c);if(!An(d)){return X(n,yn({success:{existed:!1,msg:"not exist"}}),{returnType:"success",returnMsg:"need to parse"})}if(l!==await xn(d,{useSync:!1,type:"sha256"})){return X(n,yn({success:{existed:!1,msg:"not equal"}}),{returnType:"success",returnMsg:"need to parse"})}return X(n,yn({success:{existed:!0,msg:"equal",path:d}}),{returnType:"success",returnMsg:"need to parse"})}},G={path:`/${a}slc`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,output:"stream",parse:!1},timeout:{server:!1,socket:!1}},handler:async function(n,r){let i=yt(n,"headers");i=Gt(i)?i:"";let o=yt(n,"query");o=Gt(o)?o:"";let c=yt(i,"authorization","");c=Wt(c)?c:"";{let t=p({apiType:"upload-slice",authorization:c,headers:i,query:o});if(re(t)&&(t=await t),!0!==t)return Z(r,"permission denied")}h("handler",{api:"apiUploadSlice",headers:i,query:o});let l=yt(i,"chunk-index",""),d=yt(i,"chunk-total",""),u=yt(i,"package-id","");if(!Et(l))return console.log("invalid chunkIndex in headers"),r.response({error:"invalid chunkIndex in headers"}).code(400);if(l=Dt(l),!Et(d))return console.log("invalid chunkTotal in headers"),r.response({error:"invalid chunkTotal in headers"}).code(400);if(d=Dt(d),!Wt(u))return console.log("invalid packageId in headers"),r.response({error:"invalid packageId in headers"}).code(400);let a=t.join(s,`${u}_${l}`),I=e.createWriteStream(a),g={},C="",y="";return await(()=>{let t=ft();return n.payload.pipe(I),n.payload.on("end",(()=>{setTimeout((()=>{t.resolve(`chunk[${l}/${d}] of packageId[${u}] done`)}),m)})),n.payload.on("error",(e=>{h("error",`receive chunk[${l}/${d}] of packageId[${u}] err`),t.reject(`apiUploadSlice receive error: ${e.message}`)})),t})().then((t=>{g.success=t,C="success",y="need to parse"})).catch((t=>{g.error=t,C="error",y="need to parse",h("error",t)})),X(r,yn(g),{returnType:C,returnMsg:y})}},v={path:`/${a}slcm`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(t,e){let n=yt(t,"headers");n=Gt(n)?n:"";let r=yt(t,"query");r=Gt(r)?r:"";let i=yt(n,"authorization","");i=Wt(i)?i:"";{let t=p({apiType:"upload-slice-merge",authorization:i,headers:n,query:r});if(re(t)&&(t=await t),!0!==t)return Z(e,"permission denied")}h("handler",{api:"apiUploadSliceMerge",headers:n,query:r});let o=yt(t,"payload.filename",""),c=yt(t,"payload.chunk-total",""),l=yt(t,"payload.package-id","");if(!Wt(o))return console.log("invalid filename in payload"),e.response({error:"invalid filename in payload"}).code(400);if(!Et(c))return console.log("invalid chunkTotal in payload"),e.response({error:"invalid chunkTotal in payload"}).code(400);if(c=Dt(c),!Wt(l))return console.log("invalid packageId in payload"),e.response({error:"invalid packageId in payload"}).code(400);let d={},u="",a="";return await(async()=>{let t=await Jn(s,l,c,o);return await async function(t){let e=ft(),n=ft();return n.then((t=>{e.resolve(t)})).catch((t=>{e.reject(t)})),h("upload",t,n),e}(t)})().then((t=>{d.success=t,u="success",a="need to parse"})).catch((t=>{d.error=t,u="error",a="need to parse",h("error",`${t.message}`)})),X(e,yn(d),{returnType:u,returnMsg:a})}},W={path:`/${a}dwgfn`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(t,e){let n=yt(t,"headers");n=Gt(n)?n:"";let r=yt(t,"query");r=Gt(r)?r:"";let i=yt(n,"authorization","");i=Wt(i)?i:"";{let t=p({apiType:"download-get-filename",authorization:i,headers:n,query:r});if(re(t)&&(t=await t),!0!==t)return Z(e,"permission denied")}h("handler",{api:"apiDownloadGetFilename",headers:n,query:r});let o=yt(t,"payload.fileId","");if(!Wt(o))return Z(e,"invalid fileId in payload");let c={fileId:o},l={},d="",u="";await f(c).then((t=>{l.success=t,d="success",u="need to parse"})).catch((t=>{l.error=t,d="error",u="need to parse"}));let a=yt(l,"success"),s=yt(a,"streamRead");try{s.destroy()}catch(t){}let I=yt(a,"filename");return Wt(I)?(l={success:{filename:I}},X(e,yn(l),{returnType:d,returnMsg:u})):Z(e,"invalid filename")}},H={path:`/${a}dwgf`,method:"GET",options:{timeout:{server:!1,socket:!1}},handler:async function(t,e){let n=yt(t,"headers");n=Gt(n)?n:"";let r=yt(t,"query");r=Gt(r)?r:"";let i=yt(r,"token","");i=Wt(i)?i:"";let o="";Wt(i)&&(o=`${I} ${i}`);{let t=p({apiType:"download-get-file",authorization:o,headers:n,query:r});if(re(t)&&(t=await t),!0!==t)return Z(e,"permission denied")}h("handler",{api:"apiDownloadGetFilename",headers:n,query:r});let c=yt(r,"fileId","");if(c=Wt(c)?c:"",!Wt(c))return Z(e,"invalid fileId in query");let l={fileId:c},d={};if(await f(l).then((t=>{d.success=t})).catch((t=>{d.error=t})),ge(d,"error"))return Z(e,"can not get file from fileId");let u=yt(d,"success"),a=yt(u,"streamRead"),s=yt(u,"fileSize");if(!ht(s)){try{a.destroy()}catch(t){}return Z(e,"invalid fileSize")}let g=yt(u,"fileType");if(!Wt(g)){try{a.destroy()}catch(t){}return Z(e,"invalid fileType")}return g=ie(g),e.response(a).type(g).header("Content-Length",s)}},V={path:`/${a}dw`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(t,e){let n=yt(t,"headers");n=Gt(n)?n:"";let r=yt(t,"query");r=Gt(r)?r:"";let i=yt(n,"authorization","");i=Wt(i)?i:"";{let t=p({apiType:"download",authorization:i,headers:n,query:r});if(re(t)&&(t=await t),!0!==t)return Z(e,"permission denied")}h("handler",{api:"apiDownload",headers:n,query:r});let o=yt(t,"payload.fileId","");if(!Wt(o))return Z(e,"invalid fileId in payload");let c={fileId:o},l={};if(await f(c).then((t=>{l.success=t})).catch((t=>{l.error=t})),ge(l,"error"))return Z(e,"can not get file from fileId");let d=yt(l,"success"),u=yt(d,"streamRead"),a=yt(d,"filename");if(!Wt(a)){try{u.destroy()}catch(t){}return Z(e,"invalid filename")}a=pe(a);let s=yt(d,"fileSize");if(!ht(s)){try{u.destroy()}catch(t){}return Z(e,"invalid fileSize")}let I=yt(d,"fileType");if(!Wt(I)){try{u.destroy()}catch(t){}return Z(e,"invalid fileType")}return I=ie(I),e.response(u).type(I).header("Content-Disposition",`attachment; filename="${a}"`).header("Content-Length",s)}};return yt(o,"serverHapi")?y.route([A,K,G,v,W,H,V]):async function(){d&&await y.register(i);let t=[];if(d){let e={method:"GET",path:"/{file*}",handler:{directory:{path:`${u}/`}}};t=[...t,e]}t=[...t,A,K,G,v,W,H,V],y.route(t),await y.start(),console.log(`Server running at: ${y.info.uri}`)}(),b.stop=()=>{y.stop()},b}}));
|
|
7
7
|
//# sourceMappingURL=w-converhp-server.umd.js.map
|