w-converhp 2.0.31 → 2.0.33

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.
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * w-converhp-server v2.0.31
2
+ * w-converhp-server v2.0.33
3
3
  * (c) 2018-2021 yuda-lyu(semisphere)
4
4
  * Released under the MIT License.
5
5
  */
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 y=Object.prototype.toString;var m="[object Null]",b="[object Undefined]",h=s?s.toStringTag:void 0;function f(t){return null==t?void 0===t?b:m: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 y.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]",V="[object Function]",H="[object GeneratorFunction]",Y="[object Proxy]";function x(t){if(!v(t))return!1;var e=f(t);return e==V||e==H||e==W||e==Y}var S,J=a["__core-js_shared__"],w=(S=/[^.]+$/.exec(J&&J.keys&&J.keys.IE_PROTO||""))?"Symbol(src)_1."+S:"";var R=Function.prototype.toString;var j=/^\[object .+?Constructor\]$/,P=Function.prototype,Q=Object.prototype,L=P.toString,B=Q.hasOwnProperty,T=RegExp("^"+L.call(B).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function N(t){return!(!v(t)||(e=t,w&&w in e))&&(x(t)?T:j).test(function(t){if(null!=t){try{return R.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 yt(t){if("string"==typeof t||A(t))return t;var e=t+"";return"0"==e&&1/t==-Ct?"-0":e}function mt(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[yt(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 Vt=/\s/;var Ht=/^\s+/;function Yt(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Vt.test(t.charAt(e)););return e}(t)+1).replace(Ht,""):t}var xt=NaN,St=/^[-+]0x[0-9a-f]+$/i,Jt=/^0b[01]+$/i,wt=/^0o[0-7]+$/i,Rt=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||wt.test(t)?Rt(t.slice(2),n?2:8):St.test(t)?xt:+t}var Pt=1/0,Qt=17976931348623157e292;function Lt(t){return t?(t=jt(t))===Pt||t===-Pt?(t<0?-1:1)*Qt:t==t?t:0:0===t?t:0}function Bt(t){var e=Lt(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 Lt(t)}function Ft(t){return!!Nt(t)&&(t=kt(t),"number"==typeof(e=t)&&e==Bt(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(Bt(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 ye,me=function(t,e,n){for(var r=-1,i=Object(t),o=n(t),c=o.length;c--;){var l=o[ye?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},Ve=9007199254740991,He=/^(?:0|[1-9]\d*)$/;function Ye(t,e){var n=typeof t;return!!(e=null==e?Ve:e)&&("number"==n||"symbol"!=n&&He.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 we="object"==typeof exports&&exports&&!exports.nodeType&&exports,Re=we&&"object"==typeof module&&module&&!module.nodeType&&module,je=Re&&Re.exports===we&&d.process,Pe=function(){try{var t=Re&&Re.require&&Re.require("util").types;return t||je&&je.binding&&je.binding("util")}catch(t){}}(),Qe=Pe&&Pe.isTypedArray,Le=Qe?function(t){return function(e){return t(e)}}(Qe):function(t){return X(t)&&Se(t.length)&&!!Je[f(t)]},Be=Le,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&&Be(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&&me(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 yn(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 mn(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);yn(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){let e=mt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs");return!!e.existsSync(t)&&(!e.lstatSync(t).isDirectory()&&!e.lstatSync(t).isSymbolicLink())}function Kn(t){let e=mt(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=mt(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 Vn(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}const Hn=new Uint8Array([0,97,115,109,1,0,0,0,1,48,8,96,3,127,127,127,1,127,96,3,127,127,127,0,96,2,127,127,0,96,1,127,1,127,96,3,127,127,126,1,126,96,3,126,127,127,1,126,96,2,127,126,0,96,1,127,1,126,3,11,10,0,0,2,1,3,4,5,6,1,7,5,3,1,0,1,7,85,9,3,109,101,109,2,0,5,120,120,104,51,50,0,0,6,105,110,105,116,51,50,0,2,8,117,112,100,97,116,101,51,50,0,3,8,100,105,103,101,115,116,51,50,0,4,5,120,120,104,54,52,0,5,6,105,110,105,116,54,52,0,7,8,117,112,100,97,116,101,54,52,0,8,8,100,105,103,101,115,116,54,52,0,9,10,251,22,10,242,1,1,4,127,32,0,32,1,106,33,3,32,1,65,16,79,4,127,32,3,65,16,107,33,6,32,2,65,168,136,141,161,2,106,33,3,32,2,65,137,235,208,208,7,107,33,4,32,2,65,207,140,162,142,6,106,33,5,3,64,32,3,32,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,3,32,4,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,4,32,2,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,2,32,5,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,5,32,6,32,0,65,4,106,34,0,79,13,0,11,32,2,65,12,119,32,5,65,18,119,106,32,4,65,7,119,106,32,3,65,1,119,106,5,32,2,65,177,207,217,178,1,106,11,32,1,106,32,0,32,1,65,15,113,16,1,11,146,1,0,32,1,32,2,106,33,2,3,64,32,1,65,4,106,32,2,75,69,4,64,32,0,32,1,40,2,0,65,189,220,202,149,124,108,106,65,17,119,65,175,214,211,190,2,108,33,0,32,1,65,4,106,33,1,12,1,11,11,3,64,32,1,32,2,79,69,4,64,32,0,32,1,45,0,0,65,177,207,217,178,1,108,106,65,11,119,65,177,243,221,241,121,108,33,0,32,1,65,1,106,33,1,12,1,11,11,32,0,32,0,65,15,118,115,65,247,148,175,175,120,108,34,0,65,13,118,32,0,115,65,189,220,202,149,124,108,34,0,65,16,118,32,0,115,11,63,0,32,0,65,8,106,32,1,65,168,136,141,161,2,106,54,2,0,32,0,65,12,106,32,1,65,137,235,208,208,7,107,54,2,0,32,0,65,16,106,32,1,54,2,0,32,0,65,20,106,32,1,65,207,140,162,142,6,106,54,2,0,11,195,4,1,6,127,32,1,32,2,106,33,6,32,0,65,24,106,33,4,32,0,65,40,106,40,2,0,33,3,32,0,32,0,40,2,0,32,2,106,54,2,0,32,0,65,4,106,34,5,32,5,40,2,0,32,2,65,16,79,32,0,40,2,0,65,16,79,114,114,54,2,0,32,2,32,3,106,65,16,73,4,64,32,3,32,4,106,32,1,32,2,252,10,0,0,32,0,65,40,106,32,2,32,3,106,54,2,0,15,11,32,3,4,64,32,3,32,4,106,32,1,65,16,32,3,107,34,2,252,10,0,0,32,0,65,8,106,34,3,32,3,40,2,0,32,4,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,12,106,34,3,32,3,40,2,0,32,4,65,4,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,16,106,34,3,32,3,40,2,0,32,4,65,8,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,20,106,34,3,32,3,40,2,0,32,4,65,12,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,40,106,65,0,54,2,0,32,1,32,2,106,33,1,11,32,1,32,6,65,16,107,77,4,64,32,6,65,16,107,33,8,32,0,65,8,106,40,2,0,33,2,32,0,65,12,106,40,2,0,33,3,32,0,65,16,106,40,2,0,33,5,32,0,65,20,106,40,2,0,33,7,3,64,32,2,32,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,2,32,3,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,3,32,5,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,5,32,7,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,7,32,8,32,1,65,4,106,34,1,79,13,0,11,32,0,65,8,106,32,2,54,2,0,32,0,65,12,106,32,3,54,2,0,32,0,65,16,106,32,5,54,2,0,32,0,65,20,106,32,7,54,2,0,11,32,1,32,6,73,4,64,32,4,32,1,32,6,32,1,107,34,1,252,10,0,0,32,0,65,40,106,32,1,54,2,0,11,11,97,1,1,127,32,0,65,16,106,40,2,0,33,1,32,0,65,4,106,40,2,0,4,127,32,1,65,12,119,32,0,65,20,106,40,2,0,65,18,119,106,32,0,65,12,106,40,2,0,65,7,119,106,32,0,65,8,106,40,2,0,65,1,119,106,5,32,1,65,177,207,217,178,1,106,11,32,0,40,2,0,106,32,0,65,24,106,32,0,65,40,106,40,2,0,16,1,11,255,3,2,3,126,1,127,32,0,32,1,106,33,6,32,1,65,32,79,4,126,32,6,65,32,107,33,6,32,2,66,214,235,130,238,234,253,137,245,224,0,124,33,3,32,2,66,177,169,172,193,173,184,212,166,61,125,33,4,32,2,66,249,234,208,208,231,201,161,228,225,0,124,33,5,3,64,32,3,32,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,3,32,4,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,4,32,2,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,2,32,5,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,5,32,6,32,0,65,8,106,34,0,79,13,0,11,32,2,66,12,137,32,5,66,18,137,124,32,4,66,7,137,124,32,3,66,1,137,124,32,3,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,4,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,2,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,5,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,5,32,2,66,197,207,217,178,241,229,186,234,39,124,11,32,1,173,124,32,0,32,1,65,31,113,16,6,11,134,2,0,32,1,32,2,106,33,2,3,64,32,2,32,1,65,8,106,79,4,64,32,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,32,0,133,66,27,137,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,33,0,32,1,65,8,106,33,1,12,1,11,11,32,1,65,4,106,32,2,77,4,64,32,0,32,1,53,2,0,66,135,149,175,175,152,182,222,155,158,127,126,133,66,23,137,66,207,214,211,190,210,199,171,217,66,126,66,249,243,221,241,153,246,153,171,22,124,33,0,32,1,65,4,106,33,1,11,3,64,32,1,32,2,73,4,64,32,0,32,1,49,0,0,66,197,207,217,178,241,229,186,234,39,126,133,66,11,137,66,135,149,175,175,152,182,222,155,158,127,126,33,0,32,1,65,1,106,33,1,12,1,11,11,32,0,32,0,66,33,136,133,66,207,214,211,190,210,199,171,217,66,126,34,0,32,0,66,29,136,133,66,249,243,221,241,153,246,153,171,22,126,34,0,32,0,66,32,136,133,11,77,0,32,0,65,8,106,32,1,66,214,235,130,238,234,253,137,245,224,0,124,55,3,0,32,0,65,16,106,32,1,66,177,169,172,193,173,184,212,166,61,125,55,3,0,32,0,65,24,106,32,1,55,3,0,32,0,65,32,106,32,1,66,249,234,208,208,231,201,161,228,225,0,124,55,3,0,11,244,4,2,3,127,4,126,32,1,32,2,106,33,5,32,0,65,40,106,33,4,32,0,65,200,0,106,40,2,0,33,3,32,0,32,0,41,3,0,32,2,173,124,55,3,0,32,2,32,3,106,65,32,73,4,64,32,3,32,4,106,32,1,32,2,252,10,0,0,32,0,65,200,0,106,32,2,32,3,106,54,2,0,15,11,32,3,4,64,32,3,32,4,106,32,1,65,32,32,3,107,34,2,252,10,0,0,32,0,65,8,106,34,3,32,3,41,3,0,32,4,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,16,106,34,3,32,3,41,3,0,32,4,65,8,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,24,106,34,3,32,3,41,3,0,32,4,65,16,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,32,106,34,3,32,3,41,3,0,32,4,65,24,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,200,0,106,65,0,54,2,0,32,1,32,2,106,33,1,11,32,1,65,32,106,32,5,77,4,64,32,5,65,32,107,33,2,32,0,65,8,106,41,3,0,33,6,32,0,65,16,106,41,3,0,33,7,32,0,65,24,106,41,3,0,33,8,32,0,65,32,106,41,3,0,33,9,3,64,32,6,32,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,6,32,7,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,7,32,8,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,8,32,9,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,9,32,2,32,1,65,8,106,34,1,79,13,0,11,32,0,65,8,106,32,6,55,3,0,32,0,65,16,106,32,7,55,3,0,32,0,65,24,106,32,8,55,3,0,32,0,65,32,106,32,9,55,3,0,11,32,1,32,5,73,4,64,32,4,32,1,32,5,32,1,107,34,1,252,10,0,0,32,0,65,200,0,106,32,1,54,2,0,11,11,188,2,1,5,126,32,0,65,24,106,41,3,0,33,1,32,0,41,3,0,34,2,66,32,90,4,126,32,0,65,8,106,41,3,0,34,3,66,1,137,32,0,65,16,106,41,3,0,34,4,66,7,137,124,32,1,66,12,137,32,0,65,32,106,41,3,0,34,5,66,18,137,124,124,32,3,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,4,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,1,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,5,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,5,32,1,66,197,207,217,178,241,229,186,234,39,124,11,32,2,124,32,0,65,40,106,32,2,66,31,131,167,16,6,11]);async function Yn(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=mt(e,"fs"),r=mt(e,"chunkSize");if(Nt(r)||(r=67108864),r=kt(r),!An(t,{fs:n}))return Promise.reject("fp is not a file");let i=ft();try{let{create64:e}=await async function(){return function(t){const{exports:{mem:e,xxh32:n,xxh64:r,init32:i,update32:o,digest32:c,init64:l,update64:d,digest64:u}}=t;let a=new Uint8Array(e.buffer);function s(t,n){if(e.buffer.byteLength<t+n){const r=Math.ceil((t+n-e.buffer.byteLength)/65536);e.grow(r),a=new Uint8Array(e.buffer)}}function I(t,e,n,r,i,o){s(t);const c=new Uint8Array(t);return a.set(c),n(0,e),c.set(a.subarray(0,t)),{update(e){let n;return a.set(c),"string"==typeof e?(s(3*e.length,t),n=y.encodeInto(e,a.subarray(t)).written):(s(e.byteLength,t),a.set(e,t),n=e.byteLength),r(0,t,n),c.set(a.subarray(0,t)),this},digest:()=>(a.set(c),o(i(0)))}}function p(t){return t>>>0}const g=2n**64n-1n;function C(t){return t&g}const y=new TextEncoder,m=0,b=0n;function h(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m;return s(3*t.length,0),p(n(0,y.encodeInto(t,a).written,e))}function f(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b;return s(3*t.length,0),C(r(0,y.encodeInto(t,a).written,e))}return{h32:h,h32ToString:function(t){return h(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:m).toString(16).padStart(8,"0")},h32Raw:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m;return s(t.byteLength,0),a.set(t),p(n(0,t.byteLength,e))},create32:function(){return I(48,arguments.length>0&&void 0!==arguments[0]?arguments[0]:m,i,o,c,p)},h64:f,h64ToString:function(t){return f(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:b).toString(16).padStart(16,"0")},h64Raw:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b;return s(t.byteLength,0),a.set(t),C(r(0,t.byteLength,e))},create64:function(){return I(88,arguments.length>0&&void 0!==arguments[0]?arguments[0]:b,l,d,u,C)}}}((await WebAssembly.instantiate(Hn)).instance)}(),o=e(),c=n.createReadStream(t,{highWaterMark:r});c.on("data",(t=>{o.update(t)})),c.on("end",(()=>{let t=o.digest().toString(16).padStart(16,"0");i.resolve(t)})),c.on("error",i.reject)}catch(t){i.reject(t.toString())}return i}function xn(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 Sn(t){return Yn(t,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?xn(Object(n),!0).forEach((function(e){Vn(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):xn(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 Jn={};!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)),y=C;var m={};!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 m},set exports(t){m=t}});var b=m;let h;!function(){if("browser"!=("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let t=y("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 Jn},set exports(t){Jn=t}});var wn=Jn;return function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=mt(o,"port");var l;Ft(l=c)&&Dt(l)>0||(c=8080);let d=mt(o,"useInert");ne(d)||(d=!0);let u=mt(o,"pathStaticFiles");Wt(u)||(u="dist");let a=mt(o,"apiName");Wt(a)||(a="api");let s=mt(o,"pathUploadTemp");Wt(s)||(s="./uploadTemp"),Kn(s,{fs:e})||Gn(s);let I=mt(o,"tokenType");Wt(I)||(I="Bearer");let p=mt(o,"verifyConn");(function(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e})(p)||(p=()=>!0);let g=mt(o,"corsOrigins",[]);te(g)||(g=["*"]);let C=mt(o,"delayForBasic","");Et(C)||(C=0),C=Dt(C);let y=mt(o,"delayForSlice","");Et(y)||(y=100),y=Dt(y);let m=null;m=mt(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=mt(r,"returnType",""),c=mt(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,mn({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=mt(t,"headers");r=Gt(r)?r:"";let i=mt(t,"query");i=Gt(i)?i:"";let o=mt(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=mt(t,"func",""),r=mt(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,mn(d),{returnType:u,returnMsg:a})}},K={path:`/${a}ulck`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(n,r){let i=mt(n,"headers");i=Gt(i)?i:"";let o=mt(n,"query");o=Gt(o)?o:"";let c=mt(i,"authorization","");c=Wt(c)?c:"";{let t=p({apiType:"upload-check",authorization:c,headers:i,query:o});if(re(t)&&(t=await t),!0!==t)return Z(r,"permission denied")}h("handler",{api:"apiUploadCheck",headers:i,query:o});let l=mt(n,"payload.filename",""),d=mt(n,"payload.fileSize",""),u=mt(n,"payload.fileHash","");if(!Wt(l))return Z(r,"invalid filename in payload");if(!Nt(d))return Z(r,"invalid fileSize in payload");if(!Wt(u))return Z(r,"invalid fileHash in payload");let a=t.join(s,l);if(!function(t){return An(t,{fs:e})}(a)){return X(r,mn({success:{existed:!1,msg:"not exist"}}),{returnType:"success",returnMsg:"need to parse"})}if(d!==e.statSync(a).size){return X(r,mn({success:{existed:!1,msg:"not equal size"}}),{returnType:"success",returnMsg:"need to parse"})}if(u!==await Sn(a)){return X(r,mn({success:{existed:!1,msg:"not equal hash"}}),{returnType:"success",returnMsg:"need to parse"})}return X(r,mn({success:{existed:!0,msg:"equal",path:a}}),{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=mt(n,"headers");i=Gt(i)?i:"";let o=mt(n,"query");o=Gt(o)?o:"";let c=mt(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=mt(i,"chunk-index",""),d=mt(i,"chunk-total",""),u=mt(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="",m="";return await(()=>{let t=ft();return n.payload.pipe(I),n.payload.on("end",(()=>{setTimeout((()=>{t.resolve(`chunk[${l}/${d}] of packageId[${u}] done`)}),y)})),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",m="need to parse"})).catch((t=>{g.error=t,C="error",m="need to parse",h("error",t)})),X(r,mn(g),{returnType:C,returnMsg:m})}},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=mt(t,"headers");n=Gt(n)?n:"";let r=mt(t,"query");r=Gt(r)?r:"";let i=mt(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=mt(t,"payload.filename",""),c=mt(t,"payload.chunk-total",""),l=mt(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 wn(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,mn(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=mt(t,"headers");n=Gt(n)?n:"";let r=mt(t,"query");r=Gt(r)?r:"";let i=mt(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=mt(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=mt(l,"success"),s=mt(a,"streamRead");try{s.destroy()}catch(t){}let I=mt(a,"filename");return Wt(I)?(l={success:{filename:I}},X(e,mn(l),{returnType:d,returnMsg:u})):Z(e,"invalid filename")}},V={path:`/${a}dwgf`,method:"GET",options:{timeout:{server:!1,socket:!1}},handler:async function(t,e){let n=mt(t,"headers");n=Gt(n)?n:"";let r=mt(t,"query");r=Gt(r)?r:"";let i=mt(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=mt(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=mt(d,"success"),a=mt(u,"streamRead"),s=mt(u,"fileSize");if(!ht(s)){try{a.destroy()}catch(t){}return Z(e,"invalid fileSize")}let g=mt(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)}},H={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=mt(t,"headers");n=Gt(n)?n:"";let r=mt(t,"query");r=Gt(r)?r:"";let i=mt(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=mt(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=mt(l,"success"),u=mt(d,"streamRead"),a=mt(d,"filename");if(!Wt(a)){try{u.destroy()}catch(t){}return Z(e,"invalid filename")}a=pe(a);let s=mt(d,"fileSize");if(!ht(s)){try{u.destroy()}catch(t){}return Z(e,"invalid fileSize")}let I=mt(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 mt(o,"serverHapi")?m.route([A,K,G,v,W,V,H]):async function(){d&&await m.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,V,H],m.route(t),await m.start(),console.log(`Server running at: ${m.info.uri}`)}(),b.stop=()=>{m.stop()},b}}));
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("worker_threads")):"function"==typeof define&&define.amd?define(["path","fs","stream","@hapi/hapi","@hapi/inert","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.require$$0)}(this,(function(t,e,s,i,n,M){"use strict";var c=Array.isArray,I="object"==typeof global&&global&&global.Object===Object&&global,w="object"==typeof self&&self&&self.Object===Object&&self,o=I||w||Function("return this")(),l=o.Symbol,r=Object.prototype,d=r.hasOwnProperty,L=r.toString,y=l?l.toStringTag:void 0;var C=Object.prototype.toString;var D="[object Null]",u="[object Undefined]",g=l?l.toStringTag:void 0;function a(t){return null==t?void 0===t?u:D:g&&g in Object(t)?function(t){var e=d.call(t,y),s=t[y];try{t[y]=void 0;var i=!0}catch(t){}var n=L.call(t);return i&&(e?t[y]=s:delete t[y]),n}(t):function(t){return C.call(t)}(t)}function p(t){return null!=t&&"object"==typeof t}var m="[object Symbol]";function N(t){return"symbol"==typeof t||p(t)&&a(t)==m}var b=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,x=/^\w*$/;function A(t,e){if(c(t))return!1;var s=typeof t;return!("number"!=s&&"symbol"!=s&&"boolean"!=s&&null!=t&&!N(t))||(x.test(t)||!b.test(t)||null!=e&&t in Object(e))}function Z(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var h="[object AsyncFunction]",X="[object Function]",T="[object GeneratorFunction]",f="[object Proxy]";function Y(t){if(!Z(t))return!1;var e=a(t);return e==X||e==T||e==h||e==f}var z,S=o["__core-js_shared__"],G=(z=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||""))?"Symbol(src)_1."+z:"";var K=Function.prototype.toString;function j(t){if(null!=t){try{return K.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var E=/^\[object .+?Constructor\]$/,W=Function.prototype,V=Object.prototype,v=W.toString,H=V.hasOwnProperty,Q=RegExp("^"+v.call(H).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function U(t){return!(!Z(t)||(e=t,G&&G in e))&&(Y(t)?Q:E).test(j(t));var e}function J(t,e){var s=function(t,e){return null==t?void 0:t[e]}(t,e);return U(s)?s:void 0}var R=J(Object,"create");var B=Object.prototype.hasOwnProperty;var P=Object.prototype.hasOwnProperty;function k(t){var e=-1,s=null==t?0:t.length;for(this.clear();++e<s;){var i=t[e];this.set(i[0],i[1])}}function O(t,e){return t===e||t!=t&&e!=e}function F(t,e){for(var s=t.length;s--;)if(O(t[s][0],e))return s;return-1}k.prototype.clear=function(){this.__data__=R?R(null):{},this.size=0},k.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},k.prototype.get=function(t){var e=this.__data__;if(R){var s=e[t];return"__lodash_hash_undefined__"===s?void 0:s}return B.call(e,t)?e[t]:void 0},k.prototype.has=function(t){var e=this.__data__;return R?void 0!==e[t]:P.call(e,t)},k.prototype.set=function(t,e){var s=this.__data__;return this.size+=this.has(t)?0:1,s[t]=R&&void 0===e?"__lodash_hash_undefined__":e,this};var _=Array.prototype.splice;function q(t){var e=-1,s=null==t?0:t.length;for(this.clear();++e<s;){var i=t[e];this.set(i[0],i[1])}}q.prototype.clear=function(){this.__data__=[],this.size=0},q.prototype.delete=function(t){var e=this.__data__,s=F(e,t);return!(s<0)&&(s==e.length-1?e.pop():_.call(e,s,1),--this.size,!0)},q.prototype.get=function(t){var e=this.__data__,s=F(e,t);return s<0?void 0:e[s][1]},q.prototype.has=function(t){return F(this.__data__,t)>-1},q.prototype.set=function(t,e){var s=this.__data__,i=F(s,t);return i<0?(++this.size,s.push([t,e])):s[i][1]=e,this};var $=J(o,"Map");function tt(t,e){var s,i,n=t.__data__;return("string"==(i=typeof(s=e))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==s:null===s)?n["string"==typeof e?"string":"hash"]:n.map}function et(t){var e=-1,s=null==t?0:t.length;for(this.clear();++e<s;){var i=t[e];this.set(i[0],i[1])}}et.prototype.clear=function(){this.size=0,this.__data__={hash:new k,map:new($||q),string:new k}},et.prototype.delete=function(t){var e=tt(this,t).delete(t);return this.size-=e?1:0,e},et.prototype.get=function(t){return tt(this,t).get(t)},et.prototype.has=function(t){return tt(this,t).has(t)},et.prototype.set=function(t,e){var s=tt(this,t),i=s.size;return s.set(t,e),this.size+=s.size==i?0:1,this};var st="Expected a function";function it(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(st);var s=function(){var i=arguments,n=e?e.apply(this,i):i[0],M=s.cache;if(M.has(n))return M.get(n);var c=t.apply(this,i);return s.cache=M.set(n,c)||M,c};return s.cache=new(it.Cache||et),s}it.Cache=et;var nt,Mt,ct,It=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wt=/\\(\\)?/g,ot=(nt=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(It,(function(t,s,i,n){e.push(i?n.replace(wt,"$1"):s||t)})),e},Mt=it(nt,(function(t){return 500===ct.size&&ct.clear(),t})),ct=Mt.cache,Mt),lt=ot;function rt(t,e){for(var s=-1,i=null==t?0:t.length,n=Array(i);++s<i;)n[s]=e(t[s],s,t);return n}var dt=1/0,Lt=l?l.prototype:void 0,yt=Lt?Lt.toString:void 0;function Ct(t){if("string"==typeof t)return t;if(c(t))return rt(t,Ct)+"";if(N(t))return yt?yt.call(t):"";var e=t+"";return"0"==e&&1/t==-dt?"-0":e}function Dt(t){return null==t?"":Ct(t)}function ut(t,e){return c(t)?t:A(t,e)?[t]:lt(Dt(t))}var gt=1/0;function at(t){if("string"==typeof t||N(t))return t;var e=t+"";return"0"==e&&1/t==-gt?"-0":e}function pt(t,e){for(var s=0,i=(e=ut(e,t)).length;null!=t&&s<i;)t=t[at(e[s++])];return s&&s==i?t:void 0}function mt(t,e,s){var i=null==t?void 0:pt(t,e);return void 0===i?s:i}function Nt(t,e){for(var s=-1,i=null==t?0:t.length;++s<i&&!1!==e(t[s],s,t););return t}var bt,xt=function(t,e,s){for(var i=-1,n=Object(t),M=s(t),c=M.length;c--;){var I=M[bt?c:++i];if(!1===e(n[I],I,n))break}return t};function At(t){return p(t)&&"[object Arguments]"==a(t)}var Zt=Object.prototype,ht=Zt.hasOwnProperty,Xt=Zt.propertyIsEnumerable,Tt=At(function(){return arguments}())?At:function(t){return p(t)&&ht.call(t,"callee")&&!Xt.call(t,"callee")},ft=Tt;var Yt="object"==typeof exports&&exports&&!exports.nodeType&&exports,zt=Yt&&"object"==typeof module&&module&&!module.nodeType&&module,St=zt&&zt.exports===Yt?o.Buffer:void 0,Gt=(St?St.isBuffer:void 0)||function(){return!1},Kt=9007199254740991,jt=/^(?:0|[1-9]\d*)$/;function Et(t,e){var s=typeof t;return!!(e=null==e?Kt:e)&&("number"==s||"symbol"!=s&&jt.test(t))&&t>-1&&t%1==0&&t<e}var Wt=9007199254740991;function Vt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Wt}var vt={};vt["[object Float32Array]"]=vt["[object Float64Array]"]=vt["[object Int8Array]"]=vt["[object Int16Array]"]=vt["[object Int32Array]"]=vt["[object Uint8Array]"]=vt["[object Uint8ClampedArray]"]=vt["[object Uint16Array]"]=vt["[object Uint32Array]"]=!0,vt["[object Arguments]"]=vt["[object Array]"]=vt["[object ArrayBuffer]"]=vt["[object Boolean]"]=vt["[object DataView]"]=vt["[object Date]"]=vt["[object Error]"]=vt["[object Function]"]=vt["[object Map]"]=vt["[object Number]"]=vt["[object Object]"]=vt["[object RegExp]"]=vt["[object Set]"]=vt["[object String]"]=vt["[object WeakMap]"]=!1;var Ht="object"==typeof exports&&exports&&!exports.nodeType&&exports,Qt=Ht&&"object"==typeof module&&module&&!module.nodeType&&module,Ut=Qt&&Qt.exports===Ht&&I.process,Jt=function(){try{var t=Qt&&Qt.require&&Qt.require("util").types;return t||Ut&&Ut.binding&&Ut.binding("util")}catch(t){}}(),Rt=Jt&&Jt.isTypedArray,Bt=Rt?function(t){return function(e){return t(e)}}(Rt):function(t){return p(t)&&Vt(t.length)&&!!vt[a(t)]},Pt=Bt,kt=Object.prototype.hasOwnProperty;function Ot(t,e){var s=c(t),i=!s&&ft(t),n=!s&&!i&&Gt(t),M=!s&&!i&&!n&&Pt(t),I=s||i||n||M,w=I?function(t,e){for(var s=-1,i=Array(t);++s<t;)i[s]=e(s);return i}(t.length,String):[],o=w.length;for(var l in t)!e&&!kt.call(t,l)||I&&("length"==l||n&&("offset"==l||"parent"==l)||M&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Et(l,o))||w.push(l);return w}var Ft=Object.prototype;function _t(t,e){return function(s){return t(e(s))}}var qt=_t(Object.keys,Object),$t=Object.prototype.hasOwnProperty;function te(t){if(s=(e=t)&&e.constructor,e!==("function"==typeof s&&s.prototype||Ft))return qt(t);var e,s,i=[];for(var n in Object(t))$t.call(t,n)&&"constructor"!=n&&i.push(n);return i}function ee(t){return null!=t&&Vt(t.length)&&!Y(t)}function se(t){return ee(t)?Ot(t):te(t)}var ie=function(t,e){return function(s,i){if(null==s)return s;if(!ee(s))return t(s,i);for(var n=s.length,M=e?n:-1,c=Object(s);(e?M--:++M<n)&&!1!==i(c[M],M,c););return s}}((function(t,e){return t&&xt(t,e,se)})),ne=ie;function Me(t){return t}function ce(t,e){var s;return(c(t)?Nt:ne)(t,"function"==typeof(s=e)?s:Me)}var Ie=J(o,"DataView"),we=J(o,"Promise"),oe=J(o,"Set"),le=J(o,"WeakMap"),re="[object Map]",de="[object Promise]",Le="[object Set]",ye="[object WeakMap]",Ce="[object DataView]",De=j(Ie),ue=j($),ge=j(we),ae=j(oe),pe=j(le),me=a;(Ie&&me(new Ie(new ArrayBuffer(1)))!=Ce||$&&me(new $)!=re||we&&me(we.resolve())!=de||oe&&me(new oe)!=Le||le&&me(new le)!=ye)&&(me=function(t){var e=a(t),s="[object Object]"==e?t.constructor:void 0,i=s?j(s):"";if(i)switch(i){case De:return Ce;case ue:return re;case ge:return de;case ae:return Le;case pe:return ye}return e});var Ne=me,be="[object String]";function xe(t){return function(e){return null==e?void 0:e[t]}}var Ae=xe("length"),Ze=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var he="\\ud800-\\udfff",Xe="["+he+"]",Te="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",fe="\\ud83c[\\udffb-\\udfff]",Ye="[^"+he+"]",ze="(?:\\ud83c[\\udde6-\\uddff]){2}",Se="[\\ud800-\\udbff][\\udc00-\\udfff]",Ge="(?:"+Te+"|"+fe+")"+"?",Ke="[\\ufe0e\\ufe0f]?",je=Ke+Ge+("(?:\\u200d(?:"+[Ye,ze,Se].join("|")+")"+Ke+Ge+")*"),Ee="(?:"+[Ye+Te+"?",Te,ze,Se,Xe].join("|")+")",We=RegExp(fe+"(?="+fe+")|"+Ee+je,"g");function Ve(t){return function(t){return Ze.test(t)}(t)?function(t){for(var e=We.lastIndex=0;We.test(t);)++e;return e}(t):Ae(t)}var ve="[object Map]",He="[object Set]";function Qe(t){if(null==t)return 0;if(ee(t))return"string"==typeof(e=t)||!c(e)&&p(e)&&a(e)==be?Ve(t):t.length;var e,s=Ne(t);return s==ve||s==He?t.size:te(t).length}var Ue="[object Number]";function Je(t){return"number"==typeof t||p(t)&&a(t)==Ue}function Re(){let t,e,s=new Promise((function(){t=arguments[0],e=arguments[1]}));return s.resolve=t,s.reject=e,s}var Be="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Pe={};!function(t){var e=Object.prototype.hasOwnProperty,s="~";function i(){}function n(t,e,s){this.fn=t,this.context=e,this.once=s||!1}function M(t,e,i,M,c){if("function"!=typeof i)throw new TypeError("The listener must be a function");var I=new n(i,M||t,c),w=s?s+e:e;return t._events[w]?t._events[w].fn?t._events[w]=[t._events[w],I]:t._events[w].push(I):(t._events[w]=I,t._eventsCount++),t}function c(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function I(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(s=!1)),I.prototype.eventNames=function(){var t,i,n=[];if(0===this._eventsCount)return n;for(i in t=this._events)e.call(t,i)&&n.push(s?i.slice(1):i);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},I.prototype.listeners=function(t){var e=s?s+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,M=i.length,c=new Array(M);n<M;n++)c[n]=i[n].fn;return c},I.prototype.listenerCount=function(t){var e=s?s+t:t,i=this._events[e];return i?i.fn?1:i.length:0},I.prototype.emit=function(t,e,i,n,M,c){var I=s?s+t:t;if(!this._events[I])return!1;var w,o,l=this._events[I],r=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),r){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,i),!0;case 4:return l.fn.call(l.context,e,i,n),!0;case 5:return l.fn.call(l.context,e,i,n,M),!0;case 6:return l.fn.call(l.context,e,i,n,M,c),!0}for(o=1,w=new Array(r-1);o<r;o++)w[o-1]=arguments[o];l.fn.apply(l.context,w)}else{var d,L=l.length;for(o=0;o<L;o++)switch(l[o].once&&this.removeListener(t,l[o].fn,void 0,!0),r){case 1:l[o].fn.call(l[o].context);break;case 2:l[o].fn.call(l[o].context,e);break;case 3:l[o].fn.call(l[o].context,e,i);break;case 4:l[o].fn.call(l[o].context,e,i,n);break;default:if(!w)for(d=1,w=new Array(r-1);d<r;d++)w[d-1]=arguments[d];l[o].fn.apply(l[o].context,w)}}return!0},I.prototype.on=function(t,e,s){return M(this,t,e,s,!1)},I.prototype.once=function(t,e,s){return M(this,t,e,s,!0)},I.prototype.removeListener=function(t,e,i,n){var M=s?s+t:t;if(!this._events[M])return this;if(!e)return c(this,M),this;var I=this._events[M];if(I.fn)I.fn!==e||n&&!I.once||i&&I.context!==i||c(this,M);else{for(var w=0,o=[],l=I.length;w<l;w++)(I[w].fn!==e||n&&!I[w].once||i&&I[w].context!==i)&&o.push(I[w]);o.length?this._events[M]=1===o.length?o[0]:o:c(this,M)}return this},I.prototype.removeAllListeners=function(t){var e;return t?(e=s?s+t:t,this._events[e]&&c(this,e)):(this._events=new i,this._eventsCount=0),this},I.prototype.off=I.prototype.removeListener,I.prototype.addListener=I.prototype.on,I.prefixed=s,I.EventEmitter=I,t.exports=I}({get exports(){return Pe},set exports(t){Pe=t}});var ke=Pe;function Oe(t){return"[object Object]"===Object.prototype.toString.call(t)}function Fe(t){if(Oe(t)){for(let e in t)return!0;return!1}return!1}function _e(t){return"[object String]"===Object.prototype.toString.call(t)}function qe(t){return!(!_e(t)||""===t)}var $e=/\s/;var ts=/^\s+/;function es(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&$e.test(t.charAt(e)););return e}(t)+1).replace(ts,""):t}var ss=NaN,is=/^[-+]0x[0-9a-f]+$/i,ns=/^0b[01]+$/i,Ms=/^0o[0-7]+$/i,cs=parseInt;function Is(t){if("number"==typeof t)return t;if(N(t))return ss;if(Z(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Z(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=es(t);var s=ns.test(t);return s||Ms.test(t)?cs(t.slice(2),s?2:8):is.test(t)?ss:+t}var ws=1/0,os=17976931348623157e292;function ls(t){return t?(t=Is(t))===ws||t===-ws?(t<0?-1:1)*os:t==t?t:0:0===t?t:0}function rs(t){var e=ls(t),s=e%1;return e==e?s?e-s:e:0}function ds(t){return t!=t}function Ls(t){let e=!1;if(qe(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(ds(t))return!1;e=!0}return e}function ys(t){if(!Ls(t))return 0;return ls(t)}function Cs(t){return!!Ls(t)&&(t=ys(t),"number"==typeof(e=t)&&e==rs(e));var e}var Ds=o.isFinite,us=Math.min;var gs=function(t){var e=Math[t];return function(t,s){if(t=Is(t),(s=null==s?0:us(rs(s),292))&&Ds(t)){var i=(Dt(t)+"e").split("e");return+((i=(Dt(e(i[0]+"e"+(+i[1]+s)))+"e").split("e"))[0]+"e"+(+i[1]-s))}return e(t)}}("round"),as=gs;function ps(t){if(!Ls(t))return 0;t=ys(t);let e=as(t);return"0"===String(e)?0:e}function ms(t){if(!Cs(t))return!1;return ps(t)>=0}function Ns(t){if(!Cs(t))return!1;return ps(t)>0}function bs(t){return"[object Array]"===Object.prototype.toString.call(t)}function xs(t){if(Oe(t)){for(let e in t)return!1;return!0}return!1}function As(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!xs(t)||(!!function(t){return!(!_e(t)||""!==t)}(t)||(!!function(t){return!!bs(t)&&0===t.length}(t)||!!ds(t)))))}function Zs(t){return!!bs(t)&&(0!==t.length&&(1!==t.length||!As(t[0])))}var hs="[object Boolean]";function Xs(t){return!0===(e=t)||!1===e||p(e)&&a(e)==hs;var e}function Ts(t){let e,s=Object.prototype.toString.call(t);if(e="[object Promise]"===s,e)return!0;if("[object Function]"!==s)return!1;try{e="function"!=typeof t.subscribe&&"function"==typeof t.then}catch(t){}return e}function fs(t){if(!qe(t)&&!Ls(t)&&!N(t))return"";let e="";try{e=String(t)}catch(t){}try{e=t.toString()}catch(t){}return e}var Ys={};var zs,Ss={},Gs={get exports(){return Ss},set exports(t){Ss=t}};function Ks(){return zs||(zs=1,function(t,e){var s;t.exports=(s=s||function(t,e){var s;if("undefined"!=typeof window&&window.crypto&&(s=window.crypto),"undefined"!=typeof self&&self.crypto&&(s=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(s=globalThis.crypto),!s&&"undefined"!=typeof window&&window.msCrypto&&(s=window.msCrypto),!s&&void 0!==Be&&Be.crypto&&(s=Be.crypto),!s)try{s=require("crypto")}catch(t){}var i=function(){if(s){if("function"==typeof s.getRandomValues)try{return s.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof s.randomBytes)try{return s.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")},n=Object.create||function(){function t(){}return function(e){var s;return t.prototype=e,s=new t,t.prototype=null,s}}(),M={},c=M.lib={},I=c.Base={extend:function(t){var e=n(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)}},w=c.WordArray=I.extend({init:function(t,s){t=this.words=t||[],this.sigBytes=s!=e?s:4*t.length},toString:function(t){return(t||l).stringify(this)},concat:function(t){var e=this.words,s=t.words,i=this.sigBytes,n=t.sigBytes;if(this.clamp(),i%4)for(var M=0;M<n;M++){var c=s[M>>>2]>>>24-M%4*8&255;e[i+M>>>2]|=c<<24-(i+M)%4*8}else for(var I=0;I<n;I+=4)e[i+I>>>2]=s[I>>>2];return this.sigBytes+=n,this},clamp:function(){var e=this.words,s=this.sigBytes;e[s>>>2]&=4294967295<<32-s%4*8,e.length=t.ceil(s/4)},clone:function(){var t=I.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],s=0;s<t;s+=4)e.push(i());return new w.init(e,t)}}),o=M.enc={},l=o.Hex={stringify:function(t){for(var e=t.words,s=t.sigBytes,i=[],n=0;n<s;n++){var M=e[n>>>2]>>>24-n%4*8&255;i.push((M>>>4).toString(16)),i.push((15&M).toString(16))}return i.join("")},parse:function(t){for(var e=t.length,s=[],i=0;i<e;i+=2)s[i>>>3]|=parseInt(t.substr(i,2),16)<<24-i%8*4;return new w.init(s,e/2)}},r=o.Latin1={stringify:function(t){for(var e=t.words,s=t.sigBytes,i=[],n=0;n<s;n++){var M=e[n>>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(M))}return i.join("")},parse:function(t){for(var e=t.length,s=[],i=0;i<e;i++)s[i>>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;return new w.init(s,e)}},d=o.Utf8={stringify:function(t){try{return decodeURIComponent(escape(r.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return r.parse(unescape(encodeURIComponent(t)))}},L=c.BufferedBlockAlgorithm=I.extend({reset:function(){this._data=new w.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var s,i=this._data,n=i.words,M=i.sigBytes,c=this.blockSize,I=M/(4*c),o=(I=e?t.ceil(I):t.max((0|I)-this._minBufferSize,0))*c,l=t.min(4*o,M);if(o){for(var r=0;r<o;r+=c)this._doProcessBlock(n,r);s=n.splice(0,o),i.sigBytes-=l}return new w.init(s,l)},clone:function(){var t=I.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});c.Hasher=L.extend({cfg:I.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){L.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,s){return new t.init(s).finalize(e)}},_createHmacHelper:function(t){return function(e,s){return new y.HMAC.init(t,s).finalize(e)}}});var y=M.algo={};return M}(Math),s)}(Gs)),Ss}!function(t,e){t.exports=Ks().enc.Utf8}({get exports(){return Ys},set exports(t){Ys=t}});var js=Ys,Es={};!function(t,e){var s;t.exports=(s=Ks(),function(){var t=s,e=t.lib.WordArray;function i(t,s,i){for(var n=[],M=0,c=0;c<s;c++)if(c%4){var I=i[t.charCodeAt(c-1)]<<c%4*2|i[t.charCodeAt(c)]>>>6-c%4*2;n[M>>>2]|=I<<24-M%4*8,M++}return e.create(n,M)}t.enc.Base64={stringify:function(t){var e=t.words,s=t.sigBytes,i=this._map;t.clamp();for(var n=[],M=0;M<s;M+=3)for(var c=(e[M>>>2]>>>24-M%4*8&255)<<16|(e[M+1>>>2]>>>24-(M+1)%4*8&255)<<8|e[M+2>>>2]>>>24-(M+2)%4*8&255,I=0;I<4&&M+.75*I<s;I++)n.push(i.charAt(c>>>6*(3-I)&63));var w=i.charAt(64);if(w)for(;n.length%4;)n.push(w);return n.join("")},parse:function(t){var e=t.length,s=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var M=0;M<s.length;M++)n[s.charCodeAt(M)]=M}var c=s.charAt(64);if(c){var I=t.indexOf(c);-1!==I&&(e=I)}return i(t,e,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),s.enc.Base64)}({get exports(){return Es},set exports(t){Es=t}});var Ws=Es;function Vs(t){if(!qe(t))return"";let e=js.parse(t);return Ws.stringify(e)}function vs(t,e){return!!Oe(t)&&(!(!qe(e)&&!Ls(e))&&e in t)}function Hs(t){return"[object ArrayBuffer]"===Object.prototype.toString.call(t)}function Qs(t){return"[object Blob]"===Object.prototype.toString.call(t)}function Us(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}function Js(t){return"[object Uint16Array]"===Object.prototype.toString.call(t)}function Rs(t){if(!(Hs(t)||Qs(t)||Us(t)||Js(t)))return null;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 Bs=_t(Object.getPrototypeOf,Object),Ps="[object Object]",ks=Function.prototype,Os=Object.prototype,Fs=ks.toString,_s=Os.hasOwnProperty,qs=Fs.call(Object);var $s="[object DOMException]",ti="[object Error]";function ei(t){if(!p(t))return!1;var e=a(t);return e==ti||e==$s||"string"==typeof t.message&&"string"==typeof t.name&&!function(t){if(!p(t)||a(t)!=Ps)return!1;var e=Bs(t);if(null===e)return!0;var s=_s.call(e,"constructor")&&e.constructor;return"function"==typeof s&&s instanceof s&&Fs.call(s)==qs}(t)}function si(t){if(!qe(t))return new Uint8Array;let e;try{e=function(t){if(!_e(t))return new Uint8Array;let e=Ws.parse(t),s=e.words,i=e.sigBytes,n=new Uint8Array(i);for(let t=0;t<i;t++){let e=s[t>>>2]>>>24-t%4*8&255;n[t]=e}return n}(Vs(t))}catch(t){return new Uint8Array}return e}function ii(t,e){return function(t,e,s,i,n,M){if(!Ls(t))return null;if(!Us(e))return null;if(!Cs(s))return null;if(!Xs(i))return null;if(!Cs(n))return null;if(!Cs(M))return null;let c,I,w;t=ys(t);let o=8*M-n-1,l=(1<<o)-1,r=l>>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,L=i?M-1:0,y=i?-1:1,C=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(I=isNaN(t)?1:0,c=l):(c=Math.floor(Math.log(t)/Math.LN2),t*(w=Math.pow(2,-c))<1&&(c--,w*=2),(t+=c+r>=1?d/w:d*Math.pow(2,1-r))*w>=2&&(c++,w/=2),c+r>=l?(I=0,c=l):c+r>=1?(I=(t*w-1)*Math.pow(2,n),c+=r):(I=t*Math.pow(2,r-1)*Math.pow(2,n),c=0));n>=8;e[s+L]=255&I,L+=y,I/=256,n-=8);for(c=c<<n|I,o+=n;o>0;e[s+L]=255&c,L+=y,c/=256,o-=8);return e[s+L-y]|=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 ni(t){let e=[],s=[];if(!Zs(t)&&!Fe(t))return null;let i=[],n=[];function M(t){i.push(Rs(t)),n.push(t)}try{let c=function(t){if(!Oe(t))return{results:"",binarys:[]};if(xs(t))return{results:"",binarys:[]};let e="",s=[];try{let i=-1;e=JSON.stringify(t,(function(t,e){if(Us(e)){i+=1;let t=`[Uint8Array]::${i}`;return s.push(e),t}if(Js(e)){i+=1;let t=`[Uint16Array]::${i}`;return s.push(e),t}if(Hs(e)){i+=1;let t=`[ArrayBuffer]::${i}`;return s.push(e),t}return ei(e)&&(e=e.toString()),e}))}catch(t){}return{results:e,binarys:s}}(t);M(si(c.results)),ce(c.binarys,(t=>{M(t)}));let I=i,w=si(JSON.stringify(I)),o=new Uint8Array(8);ii(Rs(w),o),e.push(o),e.push(w),ce(n,(t=>{e.push(t)})),ce(e,(t=>{s=function(t,e){let s=Rs(t),i=Rs(e),n=new Uint8Array(s+i);return n.set(new Uint8Array(t),0),n.set(new Uint8Array(e),s),n}(s,t)}))}catch(t){return null}return s}function Mi(t){return function(t,e,s,i,n){if(!Us(t))return null;if(!Cs(e))return null;if(!Xs(s))return null;if(!Cs(i))return null;if(!Cs(n))return null;let M,c,I=8*n-i-1,w=(1<<I)-1,o=w>>1,l=-7,r=s?0:n-1,d=s?1:-1,L=t[e+r];for(r+=d,M=L&(1<<-l)-1,L>>=-l,l+=I;l>0;M=256*M+t[e+r],r+=d,l-=8);for(c=M&(1<<-l)-1,M>>=-l,l+=i;l>0;c=256*c+t[e+r],r+=d,l-=8);if(0===M)M=1-o;else{if(M===w)return c?NaN:1/0*(L?-1:1);c+=Math.pow(2,i),M-=o}return(L?-1:1)*c*Math.pow(2,M-i)}(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 ci={};!function(t,e){var s;t.exports=(s=Ks(),function(){if("function"==typeof ArrayBuffer){var t=s.lib.WordArray,e=t.init,i=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 s=t.byteLength,i=[],n=0;n<s;n++)i[n>>>2]|=t[n]<<24-n%4*8;e.call(this,i,s)}else e.apply(this,arguments)};i.prototype=t}}(),s.lib.WordArray)}({get exports(){return ci},set exports(t){ci=t}});var Ii=ci;function wi(t){if(!Us(t))return"";let e;try{s=function(t){return Us(t)?Ii.create(t).toString(Ws):""}(t),e=qe(s)?Ws.parse(s).toString(js):""}catch(t){return""}var s;return e}function oi(t){let e=null;if(!Us(t))return null;try{let s=8,i=t.slice(0,s),n=t.slice(s,Rs(t)),M=Mi(i),c=n.slice(0,M),I=n.slice(M,Rs(n)),w=wi(c),o=function(t,e){let s=0,i=0,n=[];return ce(e,(e=>{i=s+e;let M=t.slice(s,i);s=i,n.push(M)})),n}(I,JSON.parse(w));e=function(t){if(!Fe(t))return{};let{results:e,binarys:s}=t;if(!qe(e))return{};if(!bs(s))return{};let i={};try{i=JSON.parse(e,(function(t,e){if(qe(e)){if(e.indexOf("[Uint8Array]::")>=0){let t=ps(e.replace("[Uint8Array]::",""));return s[t]}if(e.indexOf("[Uint16Array]::")>=0){let t=ps(e.replace("[Uint16Array]::",""));return s[t]}if(e.indexOf("[ArrayBuffer]::")>=0){let t=ps(e.replace("[ArrayBuffer]::",""));return s[t]}}return e}))}catch(t){}return i}({results:wi(o.shift()),binarys:o})}catch(t){}return e}function li(t){return function(t){let e=mt(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 ri(t){let e=mt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs");if(!e.existsSync(t))return!1;let s=e.lstatSync(t);return!s.isFile()&&!s.isSymbolicLink()}function di(t){return function(t){let e=mt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"fs");if(ri(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 Li(t,e){for(var s=-1,i=null==t?0:t.length,n=0,M=[];++s<i;){var c=t[s];e(c,s,t)&&(M[n++]=c)}return M}function yi(t,e){var s=[];return ne(t,(function(t,i,n){e(t,i,n)&&s.push(t)})),s}function Ci(t){var e=this.__data__=new q(t);this.size=e.size}Ci.prototype.clear=function(){this.__data__=new q,this.size=0},Ci.prototype.delete=function(t){var e=this.__data__,s=e.delete(t);return this.size=e.size,s},Ci.prototype.get=function(t){return this.__data__.get(t)},Ci.prototype.has=function(t){return this.__data__.has(t)},Ci.prototype.set=function(t,e){var s=this.__data__;if(s instanceof q){var i=s.__data__;if(!$||i.length<199)return i.push([t,e]),this.size=++s.size,this;s=this.__data__=new et(i)}return s.set(t,e),this.size=s.size,this};function Di(t){var e=-1,s=null==t?0:t.length;for(this.__data__=new et;++e<s;)this.add(t[e])}function ui(t,e){for(var s=-1,i=null==t?0:t.length;++s<i;)if(e(t[s],s,t))return!0;return!1}function gi(t,e){return t.has(e)}Di.prototype.add=Di.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Di.prototype.has=function(t){return this.__data__.has(t)};var ai=1,pi=2;function mi(t,e,s,i,n,M){var c=s&ai,I=t.length,w=e.length;if(I!=w&&!(c&&w>I))return!1;var o=M.get(t),l=M.get(e);if(o&&l)return o==e&&l==t;var r=-1,d=!0,L=s&pi?new Di:void 0;for(M.set(t,e),M.set(e,t);++r<I;){var y=t[r],C=e[r];if(i)var D=c?i(C,y,r,e,t,M):i(y,C,r,t,e,M);if(void 0!==D){if(D)continue;d=!1;break}if(L){if(!ui(e,(function(t,e){if(!gi(L,e)&&(y===t||n(y,t,s,i,M)))return L.push(e)}))){d=!1;break}}else if(y!==C&&!n(y,C,s,i,M)){d=!1;break}}return M.delete(t),M.delete(e),d}var Ni=o.Uint8Array;function bi(t){var e=-1,s=Array(t.size);return t.forEach((function(t,i){s[++e]=[i,t]})),s}function xi(t){var e=-1,s=Array(t.size);return t.forEach((function(t){s[++e]=t})),s}var Ai=1,Zi=2,hi="[object Boolean]",Xi="[object Date]",Ti="[object Error]",fi="[object Map]",Yi="[object Number]",zi="[object RegExp]",Si="[object Set]",Gi="[object String]",Ki="[object Symbol]",ji="[object ArrayBuffer]",Ei="[object DataView]",Wi=l?l.prototype:void 0,Vi=Wi?Wi.valueOf:void 0;var vi=Object.prototype.propertyIsEnumerable,Hi=Object.getOwnPropertySymbols,Qi=Hi?function(t){return null==t?[]:(t=Object(t),Li(Hi(t),(function(e){return vi.call(t,e)})))}:function(){return[]};function Ui(t){return function(t,e,s){var i=e(t);return c(t)?i:function(t,e){for(var s=-1,i=e.length,n=t.length;++s<i;)t[n+s]=e[s];return t}(i,s(t))}(t,se,Qi)}var Ji=1,Ri=Object.prototype.hasOwnProperty;var Bi=1,Pi="[object Arguments]",ki="[object Array]",Oi="[object Object]",Fi=Object.prototype.hasOwnProperty;function _i(t,e,s,i,n,M){var I=c(t),w=c(e),o=I?ki:Ne(t),l=w?ki:Ne(e),r=(o=o==Pi?Oi:o)==Oi,d=(l=l==Pi?Oi:l)==Oi,L=o==l;if(L&&Gt(t)){if(!Gt(e))return!1;I=!0,r=!1}if(L&&!r)return M||(M=new Ci),I||Pt(t)?mi(t,e,s,i,n,M):function(t,e,s,i,n,M,c){switch(s){case Ei:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ji:return!(t.byteLength!=e.byteLength||!M(new Ni(t),new Ni(e)));case hi:case Xi:case Yi:return O(+t,+e);case Ti:return t.name==e.name&&t.message==e.message;case zi:case Gi:return t==e+"";case fi:var I=bi;case Si:var w=i&Ai;if(I||(I=xi),t.size!=e.size&&!w)return!1;var o=c.get(t);if(o)return o==e;i|=Zi,c.set(t,e);var l=mi(I(t),I(e),i,n,M,c);return c.delete(t),l;case Ki:if(Vi)return Vi.call(t)==Vi.call(e)}return!1}(t,e,o,s,i,n,M);if(!(s&Bi)){var y=r&&Fi.call(t,"__wrapped__"),C=d&&Fi.call(e,"__wrapped__");if(y||C){var D=y?t.value():t,u=C?e.value():e;return M||(M=new Ci),n(D,u,s,i,M)}}return!!L&&(M||(M=new Ci),function(t,e,s,i,n,M){var c=s&Ji,I=Ui(t),w=I.length;if(w!=Ui(e).length&&!c)return!1;for(var o=w;o--;){var l=I[o];if(!(c?l in e:Ri.call(e,l)))return!1}var r=M.get(t),d=M.get(e);if(r&&d)return r==e&&d==t;var L=!0;M.set(t,e),M.set(e,t);for(var y=c;++o<w;){var C=t[l=I[o]],D=e[l];if(i)var u=c?i(D,C,l,e,t,M):i(C,D,l,t,e,M);if(!(void 0===u?C===D||n(C,D,s,i,M):u)){L=!1;break}y||(y="constructor"==l)}if(L&&!y){var g=t.constructor,a=e.constructor;g==a||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof a&&a instanceof a||(L=!1)}return M.delete(t),M.delete(e),L}(t,e,s,i,n,M))}function qi(t,e,s,i,n){return t===e||(null==t||null==e||!p(t)&&!p(e)?t!=t&&e!=e:_i(t,e,s,i,qi,n))}var $i=1,tn=2;function en(t){return t==t&&!Z(t)}function sn(t,e){return function(s){return null!=s&&(s[t]===e&&(void 0!==e||t in Object(s)))}}function nn(t){var e=function(t){for(var e=se(t),s=e.length;s--;){var i=e[s],n=t[i];e[s]=[i,n,en(n)]}return e}(t);return 1==e.length&&e[0][2]?sn(e[0][0],e[0][1]):function(s){return s===t||function(t,e,s,i){var n=s.length,M=n,c=!i;if(null==t)return!M;for(t=Object(t);n--;){var I=s[n];if(c&&I[2]?I[1]!==t[I[0]]:!(I[0]in t))return!1}for(;++n<M;){var w=(I=s[n])[0],o=t[w],l=I[1];if(c&&I[2]){if(void 0===o&&!(w in t))return!1}else{var r=new Ci;if(i)var d=i(o,l,w,t,e,r);if(!(void 0===d?qi(l,o,$i|tn,i,r):d))return!1}}return!0}(s,t,e)}}function Mn(t,e){return null!=t&&e in Object(t)}function cn(t,e){return null!=t&&function(t,e,s){for(var i=-1,n=(e=ut(e,t)).length,M=!1;++i<n;){var I=at(e[i]);if(!(M=null!=t&&s(t,I)))break;t=t[I]}return M||++i!=n?M:!!(n=null==t?0:t.length)&&Vt(n)&&Et(I,n)&&(c(t)||ft(t))}(t,e,Mn)}var In=1,wn=2;function on(t){return A(t)?xe(at(t)):function(t){return function(e){return pt(e,t)}}(t)}function ln(t){return"function"==typeof t?t:null==t?Me:"object"==typeof t?c(t)?function(t,e){return A(t)&&en(e)?sn(at(t),e):function(s){var i=mt(s,t);return void 0===i&&i===e?cn(s,t):qi(e,i,In|wn)}}(t[0],t[1]):nn(t):on(t)}function rn(t,e){var s=-1,i=ee(t)?Array(t.length):[];return ne(t,(function(t,n,M){i[++s]=e(t,n,M)})),i}function dn(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=mt(s,"path"),n=mt(s,"fs");if(!ri(t,{fs:n}))throw new Error(`fd[${t}] is not a folder`);let M=[];var I,w;return M=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=1,n=mt(s,"path"),M=mt(s,"fs");if(!ri(t,{fs:M}))throw new Error(`fd[${t}] is not a folder`);return function t(s){let c=[];return ri(s,{fs:M})?(ce(M.readdirSync(s),(function(I){let w=n.resolve(s,I),o=null;try{o=M.statSync(w)}catch(t){}o&&o.isDirectory()?(c.push({isFolder:!0,level:i,path:w,name:n.basename(w)}),i+=1,(i<=e||null===e)&&(c=c.concat(t(w))),i-=1):c.push({isFolder:!1,level:i,path:w,name:n.basename(w)})})),c):c}(t)}(t,e,{path:i,fs:n}),w={isFolder:!1},M=(c(I=M)?Li:yi)(I,ln(w)),M=function(t,e){return(c(t)?rt:rn)(t,ln(e))}(M,(t=>(delete t.isFolder,t))),M}const Ln=new Uint8Array([0,97,115,109,1,0,0,0,1,48,8,96,3,127,127,127,1,127,96,3,127,127,127,0,96,2,127,127,0,96,1,127,1,127,96,3,127,127,126,1,126,96,3,126,127,127,1,126,96,2,127,126,0,96,1,127,1,126,3,11,10,0,0,2,1,3,4,5,6,1,7,5,3,1,0,1,7,85,9,3,109,101,109,2,0,5,120,120,104,51,50,0,0,6,105,110,105,116,51,50,0,2,8,117,112,100,97,116,101,51,50,0,3,8,100,105,103,101,115,116,51,50,0,4,5,120,120,104,54,52,0,5,6,105,110,105,116,54,52,0,7,8,117,112,100,97,116,101,54,52,0,8,8,100,105,103,101,115,116,54,52,0,9,10,251,22,10,242,1,1,4,127,32,0,32,1,106,33,3,32,1,65,16,79,4,127,32,3,65,16,107,33,6,32,2,65,168,136,141,161,2,106,33,3,32,2,65,137,235,208,208,7,107,33,4,32,2,65,207,140,162,142,6,106,33,5,3,64,32,3,32,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,3,32,4,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,4,32,2,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,2,32,5,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,5,32,6,32,0,65,4,106,34,0,79,13,0,11,32,2,65,12,119,32,5,65,18,119,106,32,4,65,7,119,106,32,3,65,1,119,106,5,32,2,65,177,207,217,178,1,106,11,32,1,106,32,0,32,1,65,15,113,16,1,11,146,1,0,32,1,32,2,106,33,2,3,64,32,1,65,4,106,32,2,75,69,4,64,32,0,32,1,40,2,0,65,189,220,202,149,124,108,106,65,17,119,65,175,214,211,190,2,108,33,0,32,1,65,4,106,33,1,12,1,11,11,3,64,32,1,32,2,79,69,4,64,32,0,32,1,45,0,0,65,177,207,217,178,1,108,106,65,11,119,65,177,243,221,241,121,108,33,0,32,1,65,1,106,33,1,12,1,11,11,32,0,32,0,65,15,118,115,65,247,148,175,175,120,108,34,0,65,13,118,32,0,115,65,189,220,202,149,124,108,34,0,65,16,118,32,0,115,11,63,0,32,0,65,8,106,32,1,65,168,136,141,161,2,106,54,2,0,32,0,65,12,106,32,1,65,137,235,208,208,7,107,54,2,0,32,0,65,16,106,32,1,54,2,0,32,0,65,20,106,32,1,65,207,140,162,142,6,106,54,2,0,11,195,4,1,6,127,32,1,32,2,106,33,6,32,0,65,24,106,33,4,32,0,65,40,106,40,2,0,33,3,32,0,32,0,40,2,0,32,2,106,54,2,0,32,0,65,4,106,34,5,32,5,40,2,0,32,2,65,16,79,32,0,40,2,0,65,16,79,114,114,54,2,0,32,2,32,3,106,65,16,73,4,64,32,3,32,4,106,32,1,32,2,252,10,0,0,32,0,65,40,106,32,2,32,3,106,54,2,0,15,11,32,3,4,64,32,3,32,4,106,32,1,65,16,32,3,107,34,2,252,10,0,0,32,0,65,8,106,34,3,32,3,40,2,0,32,4,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,12,106,34,3,32,3,40,2,0,32,4,65,4,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,16,106,34,3,32,3,40,2,0,32,4,65,8,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,20,106,34,3,32,3,40,2,0,32,4,65,12,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,40,106,65,0,54,2,0,32,1,32,2,106,33,1,11,32,1,32,6,65,16,107,77,4,64,32,6,65,16,107,33,8,32,0,65,8,106,40,2,0,33,2,32,0,65,12,106,40,2,0,33,3,32,0,65,16,106,40,2,0,33,5,32,0,65,20,106,40,2,0,33,7,3,64,32,2,32,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,2,32,3,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,3,32,5,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,5,32,7,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,7,32,8,32,1,65,4,106,34,1,79,13,0,11,32,0,65,8,106,32,2,54,2,0,32,0,65,12,106,32,3,54,2,0,32,0,65,16,106,32,5,54,2,0,32,0,65,20,106,32,7,54,2,0,11,32,1,32,6,73,4,64,32,4,32,1,32,6,32,1,107,34,1,252,10,0,0,32,0,65,40,106,32,1,54,2,0,11,11,97,1,1,127,32,0,65,16,106,40,2,0,33,1,32,0,65,4,106,40,2,0,4,127,32,1,65,12,119,32,0,65,20,106,40,2,0,65,18,119,106,32,0,65,12,106,40,2,0,65,7,119,106,32,0,65,8,106,40,2,0,65,1,119,106,5,32,1,65,177,207,217,178,1,106,11,32,0,40,2,0,106,32,0,65,24,106,32,0,65,40,106,40,2,0,16,1,11,255,3,2,3,126,1,127,32,0,32,1,106,33,6,32,1,65,32,79,4,126,32,6,65,32,107,33,6,32,2,66,214,235,130,238,234,253,137,245,224,0,124,33,3,32,2,66,177,169,172,193,173,184,212,166,61,125,33,4,32,2,66,249,234,208,208,231,201,161,228,225,0,124,33,5,3,64,32,3,32,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,3,32,4,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,4,32,2,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,2,32,5,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,5,32,6,32,0,65,8,106,34,0,79,13,0,11,32,2,66,12,137,32,5,66,18,137,124,32,4,66,7,137,124,32,3,66,1,137,124,32,3,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,4,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,2,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,5,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,5,32,2,66,197,207,217,178,241,229,186,234,39,124,11,32,1,173,124,32,0,32,1,65,31,113,16,6,11,134,2,0,32,1,32,2,106,33,2,3,64,32,2,32,1,65,8,106,79,4,64,32,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,32,0,133,66,27,137,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,33,0,32,1,65,8,106,33,1,12,1,11,11,32,1,65,4,106,32,2,77,4,64,32,0,32,1,53,2,0,66,135,149,175,175,152,182,222,155,158,127,126,133,66,23,137,66,207,214,211,190,210,199,171,217,66,126,66,249,243,221,241,153,246,153,171,22,124,33,0,32,1,65,4,106,33,1,11,3,64,32,1,32,2,73,4,64,32,0,32,1,49,0,0,66,197,207,217,178,241,229,186,234,39,126,133,66,11,137,66,135,149,175,175,152,182,222,155,158,127,126,33,0,32,1,65,1,106,33,1,12,1,11,11,32,0,32,0,66,33,136,133,66,207,214,211,190,210,199,171,217,66,126,34,0,32,0,66,29,136,133,66,249,243,221,241,153,246,153,171,22,126,34,0,32,0,66,32,136,133,11,77,0,32,0,65,8,106,32,1,66,214,235,130,238,234,253,137,245,224,0,124,55,3,0,32,0,65,16,106,32,1,66,177,169,172,193,173,184,212,166,61,125,55,3,0,32,0,65,24,106,32,1,55,3,0,32,0,65,32,106,32,1,66,249,234,208,208,231,201,161,228,225,0,124,55,3,0,11,244,4,2,3,127,4,126,32,1,32,2,106,33,5,32,0,65,40,106,33,4,32,0,65,200,0,106,40,2,0,33,3,32,0,32,0,41,3,0,32,2,173,124,55,3,0,32,2,32,3,106,65,32,73,4,64,32,3,32,4,106,32,1,32,2,252,10,0,0,32,0,65,200,0,106,32,2,32,3,106,54,2,0,15,11,32,3,4,64,32,3,32,4,106,32,1,65,32,32,3,107,34,2,252,10,0,0,32,0,65,8,106,34,3,32,3,41,3,0,32,4,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,16,106,34,3,32,3,41,3,0,32,4,65,8,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,24,106,34,3,32,3,41,3,0,32,4,65,16,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,32,106,34,3,32,3,41,3,0,32,4,65,24,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,200,0,106,65,0,54,2,0,32,1,32,2,106,33,1,11,32,1,65,32,106,32,5,77,4,64,32,5,65,32,107,33,2,32,0,65,8,106,41,3,0,33,6,32,0,65,16,106,41,3,0,33,7,32,0,65,24,106,41,3,0,33,8,32,0,65,32,106,41,3,0,33,9,3,64,32,6,32,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,6,32,7,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,7,32,8,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,8,32,9,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,9,32,2,32,1,65,8,106,34,1,79,13,0,11,32,0,65,8,106,32,6,55,3,0,32,0,65,16,106,32,7,55,3,0,32,0,65,24,106,32,8,55,3,0,32,0,65,32,106,32,9,55,3,0,11,32,1,32,5,73,4,64,32,4,32,1,32,5,32,1,107,34,1,252,10,0,0,32,0,65,200,0,106,32,1,54,2,0,11,11,188,2,1,5,126,32,0,65,24,106,41,3,0,33,1,32,0,41,3,0,34,2,66,32,90,4,126,32,0,65,8,106,41,3,0,34,3,66,1,137,32,0,65,16,106,41,3,0,34,4,66,7,137,124,32,1,66,12,137,32,0,65,32,106,41,3,0,34,5,66,18,137,124,124,32,3,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,4,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,1,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,5,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,5,32,1,66,197,207,217,178,241,229,186,234,39,124,11,32,2,124,32,0,65,40,106,32,2,66,31,131,167,16,6,11]);async function yn(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!Qs(t)&&(s=t,"[object File]"!==Object.prototype.toString.call(s)))return console.log("inp",t),Promise.reject("inp is not a Blob or File");var s;let i=mt(e,"chunkSize");Ls(i)||(i=67108864),i=ys(i);let{create64:n}=await async function(){return function(t){const{exports:{mem:e,xxh32:s,xxh64:i,init32:n,update32:M,digest32:c,init64:I,update64:w,digest64:o}}=t;let l=new Uint8Array(e.buffer);function r(t,s){if(e.buffer.byteLength<t+s){const i=Math.ceil((t+s-e.buffer.byteLength)/65536);e.grow(i),l=new Uint8Array(e.buffer)}}function d(t,e,s,i,n,M){r(t);const c=new Uint8Array(t);return l.set(c),s(0,e),c.set(l.subarray(0,t)),{update(e){let s;return l.set(c),"string"==typeof e?(r(3*e.length,t),s=D.encodeInto(e,l.subarray(t)).written):(r(e.byteLength,t),l.set(e,t),s=e.byteLength),i(0,t,s),c.set(l.subarray(0,t)),this},digest:()=>(l.set(c),M(n(0)))}}function L(t){return t>>>0}const y=2n**64n-1n;function C(t){return t&y}const D=new TextEncoder,u=0,g=0n;function a(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return r(3*t.length,0),L(s(0,D.encodeInto(t,l).written,e))}function p(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;return r(3*t.length,0),C(i(0,D.encodeInto(t,l).written,e))}return{h32:a,h32ToString:function(t){return a(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:u).toString(16).padStart(8,"0")},h32Raw:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return r(t.byteLength,0),l.set(t),L(s(0,t.byteLength,e))},create32:function(){return d(48,arguments.length>0&&void 0!==arguments[0]?arguments[0]:u,n,M,c,L)},h64:p,h64ToString:function(t){return p(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:g).toString(16).padStart(16,"0")},h64Raw:function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;return r(t.byteLength,0),l.set(t),C(i(0,t.byteLength,e))},create64:function(){return d(88,arguments.length>0&&void 0!==arguments[0]?arguments[0]:g,I,w,o,C)}}}((await WebAssembly.instantiate(Ln)).instance)}(),M=n(),c=0;for(;c<t.size;){let e=t.slice(c,c+i),s=await e.arrayBuffer();M.update(new Uint8Array(s)),c+=i}return M.digest().toString(16).padStart(16,"0")}var Cn={};!function(t,e){t.exports=function(t){var e={};!function(e,s){e.exports=function(t){var e={};!function(t){var e=Object.prototype.hasOwnProperty,s="~";function i(){}function n(t,e,s){this.fn=t,this.context=e,this.once=s||!1}function M(t,e,i,M,c){if("function"!=typeof i)throw new TypeError("The listener must be a function");var I=new n(i,M||t,c),w=s?s+e:e;return t._events[w]?t._events[w].fn?t._events[w]=[t._events[w],I]:t._events[w].push(I):(t._events[w]=I,t._eventsCount++),t}function c(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function I(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(s=!1)),I.prototype.eventNames=function(){var t,i,n=[];if(0===this._eventsCount)return n;for(i in t=this._events)e.call(t,i)&&n.push(s?i.slice(1):i);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},I.prototype.listeners=function(t){var e=s?s+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,M=i.length,c=new Array(M);n<M;n++)c[n]=i[n].fn;return c},I.prototype.listenerCount=function(t){var e=s?s+t:t,i=this._events[e];return i?i.fn?1:i.length:0},I.prototype.emit=function(t,e,i,n,M,c){var I=s?s+t:t;if(!this._events[I])return!1;var w,o,l=this._events[I],r=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),r){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,i),!0;case 4:return l.fn.call(l.context,e,i,n),!0;case 5:return l.fn.call(l.context,e,i,n,M),!0;case 6:return l.fn.call(l.context,e,i,n,M,c),!0}for(o=1,w=new Array(r-1);o<r;o++)w[o-1]=arguments[o];l.fn.apply(l.context,w)}else{var d,L=l.length;for(o=0;o<L;o++)switch(l[o].once&&this.removeListener(t,l[o].fn,void 0,!0),r){case 1:l[o].fn.call(l[o].context);break;case 2:l[o].fn.call(l[o].context,e);break;case 3:l[o].fn.call(l[o].context,e,i);break;case 4:l[o].fn.call(l[o].context,e,i,n);break;default:if(!w)for(d=1,w=new Array(r-1);d<r;d++)w[d-1]=arguments[d];l[o].fn.apply(l[o].context,w)}}return!0},I.prototype.on=function(t,e,s){return M(this,t,e,s,!1)},I.prototype.once=function(t,e,s){return M(this,t,e,s,!0)},I.prototype.removeListener=function(t,e,i,n){var M=s?s+t:t;if(!this._events[M])return this;if(!e)return c(this,M),this;var I=this._events[M];if(I.fn)I.fn!==e||n&&!I.once||i&&I.context!==i||c(this,M);else{for(var w=0,o=[],l=I.length;w<l;w++)(I[w].fn!==e||n&&!I[w].once||i&&I[w].context!==i)&&o.push(I[w]);o.length?this._events[M]=1===o.length?o[0]:o:c(this,M)}return this},I.prototype.removeAllListeners=function(t){var e;return t?(e=s?s+t:t,this._events[e]&&c(this,e)):(this._events=new i,this._eventsCount=0),this},I.prototype.off=I.prototype.removeListener,I.prototype.addListener=I.prototype.on,I.prefixed=s,I.EventEmitter=I,t.exports=I}({get exports(){return e},set exports(t){e=t}});var s=e;let i;!function(){if("nodejs"!=("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let e=(n="CgogICAgICAgIC8vaW1wb3J0IHsgcGFyZW50UG9ydCB9IGZyb20gJ3dvcmtlcl90aHJlYWRzJwogICAgICAgIGxldCB7IHBhcmVudFBvcnQgfSA9IHJlcXVpcmUoJ3dvcmtlcl90aHJlYWRzJykgLy/lm6BwYWNrYWdlLmpzb27kuI3ntaZ0eXBlPW1vZHVsZeaVheeEoeazleaUr+aPtGVzNiBpbXBvcnQsIOW+l+S9v+eUqHJlcXVpcmUKICAgICAgICAvL+iLpeimgeaWvG5vZGVqcyB3b3JrZXLlhafkvb/nlKjnhKHms5Xnt6jora/nmoTljp/nlJ/lpZfku7bkvovlpoJmcywg6YG/5YWN5L2/55So6aCC5bGkaW1wb3J05Yqg6LyJ5L2/55SoLCDlm6DnhKHms5Xnt6jora/mnIPnm7TmjqXkv53nlZkKICAgICAgICAvL+S4puWboGltcG9ydOS9jeaWvHdvcmtlcuWkluWxpOmZkOWumueCunJlcXVpcmXljYAocGFja2FnZS5qc29u5LiN57WmdHlwZT1tb2R1bGUpLCDmlYXlh7rnj77pjK/oqqTnhKHms5Xnt6jora8KICAgICAgICAKCiJ1c2Ugc3RyaWN0Ijt2YXIgdD1yZXF1aXJlKCJmcyIpO2Z1bmN0aW9uIGUodCl7cmV0dXJuIGU9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIHR9LGUodCl9ZnVuY3Rpb24gcih0KXt2YXIgcj1mdW5jdGlvbih0LHIpe2lmKCJvYmplY3QiIT09ZSh0KXx8bnVsbD09PXQpcmV0dXJuIHQ7dmFyIG49dFtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHZvaWQgMCE9PW4pe3ZhciBvPW4uY2FsbCh0LHJ8fCJkZWZhdWx0Iik7aWYoIm9iamVjdCIhPT1lKG8pKXJldHVybiBvO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09cj9TdHJpbmc6TnVtYmVyKSh0KX0odCwic3RyaW5nIik7cmV0dXJuInN5bWJvbCI9PT1lKHIpP3I6U3RyaW5nKHIpfWZ1bmN0aW9uIG4odCxlLG4pe3JldHVybihlPXIoZSkpaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1uLHR9Y29uc3Qgbz1uZXcgVWludDhBcnJheShbMCw5NywxMTUsMTA5LDEsMCwwLDAsMSw0OCw4LDk2LDMsMTI3LDEyNywxMjcsMSwxMjcsOTYsMywxMjcsMTI3LDEyNywwLDk2LDIsMTI3LDEyNywwLDk2LDEsMTI3LDEsMTI3LDk2LDMsMTI3LDEyNywxMjYsMSwxMjYsOTYsMywxMjYsMTI3LDEyNywxLDEyNiw5NiwyLDEyNywxMjYsMCw5NiwxLDEyNywxLDEyNiwzLDExLDEwLDAsMCwyLDEsMyw0LDUsNiwxLDcsNSwzLDEsMCwxLDcsODUsOSwzLDEwOSwxMDEsMTA5LDIsMCw1LDEyMCwxMjAsMTA0LDUxLDUwLDAsMCw2LDEwNSwxMTAsMTA1LDExNiw1MSw1MCwwLDIsOCwxMTcsMTEyLDEwMCw5NywxMTYsMTAxLDUxLDUwLDAsMyw4LDEwMCwxMDUsMTAzLDEwMSwxMTUsMTE2LDUxLDUwLDAsNCw1LDEyMCwxMjAsMTA0LDU0LDUyLDAsNSw2LDEwNSwxMTAsMTA1LDExNiw1NCw1MiwwLDcsOCwxMTcsMTEyLDEwMCw5NywxMTYsMTAxLDU0LDUyLDAsOCw4LDEwMCwxMDUsMTAzLDEwMSwxMTUsMTE2LDU0LDUyLDAsOSwxMCwyNTEsMjIsMTAsMjQyLDEsMSw0LDEyNywzMiwwLDMyLDEsMTA2LDMzLDMsMzIsMSw2NSwxNiw3OSw0LDEyNywzMiwzLDY1LDE2LDEwNywzMyw2LDMyLDIsNjUsMTY4LDEzNiwxNDEsMTYxLDIsMTA2LDMzLDMsMzIsMiw2NSwxMzcsMjM1LDIwOCwyMDgsNywxMDcsMzMsNCwzMiwyLDY1LDIwNywxNDAsMTYyLDE0Miw2LDEwNiwzMyw1LDMsNjQsMzIsMywzMiwwLDQwLDIsMCw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwxMDYsNjUsMTMsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDMzLDMsMzIsNCwzMiwwLDY1LDQsMTA2LDM0LDAsNDAsMiwwLDY1LDI0NywxNDgsMTc1LDE3NSwxMjAsMTA4LDEwNiw2NSwxMywxMTksNjUsMTc3LDI0MywyMjEsMjQxLDEyMSwxMDgsMzMsNCwzMiwyLDMyLDAsNjUsNCwxMDYsMzQsMCw0MCwyLDAsNjUsMjQ3LDE0OCwxNzUsMTc1LDEyMCwxMDgsMTA2LDY1LDEzLDExOSw2NSwxNzcsMjQzLDIyMSwyNDEsMTIxLDEwOCwzMywyLDMyLDUsMzIsMCw2NSw0LDEwNiwzNCwwLDQwLDIsMCw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwxMDYsNjUsMTMsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDMzLDUsMzIsNiwzMiwwLDY1LDQsMTA2LDM0LDAsNzksMTMsMCwxMSwzMiwyLDY1LDEyLDExOSwzMiw1LDY1LDE4LDExOSwxMDYsMzIsNCw2NSw3LDExOSwxMDYsMzIsMyw2NSwxLDExOSwxMDYsNSwzMiwyLDY1LDE3NywyMDcsMjE3LDE3OCwxLDEwNiwxMSwzMiwxLDEwNiwzMiwwLDMyLDEsNjUsMTUsMTEzLDE2LDEsMTEsMTQ2LDEsMCwzMiwxLDMyLDIsMTA2LDMzLDIsMyw2NCwzMiwxLDY1LDQsMTA2LDMyLDIsNzUsNjksNCw2NCwzMiwwLDMyLDEsNDAsMiwwLDY1LDE4OSwyMjAsMjAyLDE0OSwxMjQsMTA4LDEwNiw2NSwxNywxMTksNjUsMTc1LDIxNCwyMTEsMTkwLDIsMTA4LDMzLDAsMzIsMSw2NSw0LDEwNiwzMywxLDEyLDEsMTEsMTEsMyw2NCwzMiwxLDMyLDIsNzksNjksNCw2NCwzMiwwLDMyLDEsNDUsMCwwLDY1LDE3NywyMDcsMjE3LDE3OCwxLDEwOCwxMDYsNjUsMTEsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDMzLDAsMzIsMSw2NSwxLDEwNiwzMywxLDEyLDEsMTEsMTEsMzIsMCwzMiwwLDY1LDE1LDExOCwxMTUsNjUsMjQ3LDE0OCwxNzUsMTc1LDEyMCwxMDgsMzQsMCw2NSwxMywxMTgsMzIsMCwxMTUsNjUsMTg5LDIyMCwyMDIsMTQ5LDEyNCwxMDgsMzQsMCw2NSwxNiwxMTgsMzIsMCwxMTUsMTEsNjMsMCwzMiwwLDY1LDgsMTA2LDMyLDEsNjUsMTY4LDEzNiwxNDEsMTYxLDIsMTA2LDU0LDIsMCwzMiwwLDY1LDEyLDEwNiwzMiwxLDY1LDEzNywyMzUsMjA4LDIwOCw3LDEwNyw1NCwyLDAsMzIsMCw2NSwxNiwxMDYsMzIsMSw1NCwyLDAsMzIsMCw2NSwyMCwxMDYsMzIsMSw2NSwyMDcsMTQwLDE2MiwxNDIsNiwxMDYsNTQsMiwwLDExLDE5NSw0LDEsNiwxMjcsMzIsMSwzMiwyLDEwNiwzMyw2LDMyLDAsNjUsMjQsMTA2LDMzLDQsMzIsMCw2NSw0MCwxMDYsNDAsMiwwLDMzLDMsMzIsMCwzMiwwLDQwLDIsMCwzMiwyLDEwNiw1NCwyLDAsMzIsMCw2NSw0LDEwNiwzNCw1LDMyLDUsNDAsMiwwLDMyLDIsNjUsMTYsNzksMzIsMCw0MCwyLDAsNjUsMTYsNzksMTE0LDExNCw1NCwyLDAsMzIsMiwzMiwzLDEwNiw2NSwxNiw3Myw0LDY0LDMyLDMsMzIsNCwxMDYsMzIsMSwzMiwyLDI1MiwxMCwwLDAsMzIsMCw2NSw0MCwxMDYsMzIsMiwzMiwzLDEwNiw1NCwyLDAsMTUsMTEsMzIsMyw0LDY0LDMyLDMsMzIsNCwxMDYsMzIsMSw2NSwxNiwzMiwzLDEwNywzNCwyLDI1MiwxMCwwLDAsMzIsMCw2NSw4LDEwNiwzNCwzLDMyLDMsNDAsMiwwLDMyLDQsNDAsMiwwLDY1LDI0NywxNDgsMTc1LDE3NSwxMjAsMTA4LDEwNiw2NSwxMywxMTksNjUsMTc3LDI0MywyMjEsMjQxLDEyMSwxMDgsNTQsMiwwLDMyLDAsNjUsMTIsMTA2LDM0LDMsMzIsMyw0MCwyLDAsMzIsNCw2NSw0LDEwNiw0MCwyLDAsNjUsMjQ3LDE0OCwxNzUsMTc1LDEyMCwxMDgsMTA2LDY1LDEzLDExOSw2NSwxNzcsMjQzLDIyMSwyNDEsMTIxLDEwOCw1NCwyLDAsMzIsMCw2NSwxNiwxMDYsMzQsMywzMiwzLDQwLDIsMCwzMiw0LDY1LDgsMTA2LDQwLDIsMCw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwxMDYsNjUsMTMsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDU0LDIsMCwzMiwwLDY1LDIwLDEwNiwzNCwzLDMyLDMsNDAsMiwwLDMyLDQsNjUsMTIsMTA2LDQwLDIsMCw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwxMDYsNjUsMTMsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDU0LDIsMCwzMiwwLDY1LDQwLDEwNiw2NSwwLDU0LDIsMCwzMiwxLDMyLDIsMTA2LDMzLDEsMTEsMzIsMSwzMiw2LDY1LDE2LDEwNyw3Nyw0LDY0LDMyLDYsNjUsMTYsMTA3LDMzLDgsMzIsMCw2NSw4LDEwNiw0MCwyLDAsMzMsMiwzMiwwLDY1LDEyLDEwNiw0MCwyLDAsMzMsMywzMiwwLDY1LDE2LDEwNiw0MCwyLDAsMzMsNSwzMiwwLDY1LDIwLDEwNiw0MCwyLDAsMzMsNywzLDY0LDMyLDIsMzIsMSw0MCwyLDAsNjUsMjQ3LDE0OCwxNzUsMTc1LDEyMCwxMDgsMTA2LDY1LDEzLDExOSw2NSwxNzcsMjQzLDIyMSwyNDEsMTIxLDEwOCwzMywyLDMyLDMsMzIsMSw2NSw0LDEwNiwzNCwxLDQwLDIsMCw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwxMDYsNjUsMTMsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDMzLDMsMzIsNSwzMiwxLDY1LDQsMTA2LDM0LDEsNDAsMiwwLDY1LDI0NywxNDgsMTc1LDE3NSwxMjAsMTA4LDEwNiw2NSwxMywxMTksNjUsMTc3LDI0MywyMjEsMjQxLDEyMSwxMDgsMzMsNSwzMiw3LDMyLDEsNjUsNCwxMDYsMzQsMSw0MCwyLDAsNjUsMjQ3LDE0OCwxNzUsMTc1LDEyMCwxMDgsMTA2LDY1LDEzLDExOSw2NSwxNzcsMjQzLDIyMSwyNDEsMTIxLDEwOCwzMyw3LDMyLDgsMzIsMSw2NSw0LDEwNiwzNCwxLDc5LDEzLDAsMTEsMzIsMCw2NSw4LDEwNiwzMiwyLDU0LDIsMCwzMiwwLDY1LDEyLDEwNiwzMiwzLDU0LDIsMCwzMiwwLDY1LDE2LDEwNiwzMiw1LDU0LDIsMCwzMiwwLDY1LDIwLDEwNiwzMiw3LDU0LDIsMCwxMSwzMiwxLDMyLDYsNzMsNCw2NCwzMiw0LDMyLDEsMzIsNiwzMiwxLDEwNywzNCwxLDI1MiwxMCwwLDAsMzIsMCw2NSw0MCwxMDYsMzIsMSw1NCwyLDAsMTEsMTEsOTcsMSwxLDEyNywzMiwwLDY1LDE2LDEwNiw0MCwyLDAsMzMsMSwzMiwwLDY1LDQsMTA2LDQwLDIsMCw0LDEyNywzMiwxLDY1LDEyLDExOSwzMiwwLDY1LDIwLDEwNiw0MCwyLDAsNjUsMTgsMTE5LDEwNiwzMiwwLDY1LDEyLDEwNiw0MCwyLDAsNjUsNywxMTksMTA2LDMyLDAsNjUsOCwxMDYsNDAsMiwwLDY1LDEsMTE5LDEwNiw1LDMyLDEsNjUsMTc3LDIwNywyMTcsMTc4LDEsMTA2LDExLDMyLDAsNDAsMiwwLDEwNiwzMiwwLDY1LDI0LDEwNiwzMiwwLDY1LDQwLDEwNiw0MCwyLDAsMTYsMSwxMSwyNTUsMywyLDMsMTI2LDEsMTI3LDMyLDAsMzIsMSwxMDYsMzMsNiwzMiwxLDY1LDMyLDc5LDQsMTI2LDMyLDYsNjUsMzIsMTA3LDMzLDYsMzIsMiw2NiwyMTQsMjM1LDEzMCwyMzgsMjM0LDI1MywxMzcsMjQ1LDIyNCwwLDEyNCwzMywzLDMyLDIsNjYsMTc3LDE2OSwxNzIsMTkzLDE3MywxODQsMjEyLDE2Niw2MSwxMjUsMzMsNCwzMiwyLDY2LDI0OSwyMzQsMjA4LDIwOCwyMzEsMjAxLDE2MSwyMjgsMjI1LDAsMTI0LDMzLDUsMyw2NCwzMiwzLDMyLDAsNDEsMywwLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDEyNCw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwzMywzLDMyLDQsMzIsMCw2NSw4LDEwNiwzNCwwLDQxLDMsMCw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiwxMjQsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMzMsNCwzMiwyLDMyLDAsNjUsOCwxMDYsMzQsMCw0MSwzLDAsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsMTI0LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDMzLDIsMzIsNSwzMiwwLDY1LDgsMTA2LDM0LDAsNDEsMywwLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDEyNCw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwzMyw1LDMyLDYsMzIsMCw2NSw4LDEwNiwzNCwwLDc5LDEzLDAsMTEsMzIsMiw2NiwxMiwxMzcsMzIsNSw2NiwxOCwxMzcsMTI0LDMyLDQsNjYsNywxMzcsMTI0LDMyLDMsNjYsMSwxMzcsMTI0LDMyLDMsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMTMzLDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsNjYsMTU3LDE2MywxODEsMjM0LDEzMSwxNzcsMTQxLDEzOCwyNTAsMCwxMjUsMzIsNCw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwxMzMsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw2NiwxNTcsMTYzLDE4MSwyMzQsMTMxLDE3NywxNDEsMTM4LDI1MCwwLDEyNSwzMiwyLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDEzMyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDY2LDE1NywxNjMsMTgxLDIzNCwxMzEsMTc3LDE0MSwxMzgsMjUwLDAsMTI1LDMyLDUsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMTMzLDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsNjYsMTU3LDE2MywxODEsMjM0LDEzMSwxNzcsMTQxLDEzOCwyNTAsMCwxMjUsNSwzMiwyLDY2LDE5NywyMDcsMjE3LDE3OCwyNDEsMjI5LDE4NiwyMzQsMzksMTI0LDExLDMyLDEsMTczLDEyNCwzMiwwLDMyLDEsNjUsMzEsMTEzLDE2LDYsMTEsMTM0LDIsMCwzMiwxLDMyLDIsMTA2LDMzLDIsMyw2NCwzMiwyLDMyLDEsNjUsOCwxMDYsNzksNCw2NCwzMiwxLDQxLDMsMCw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwzMiwwLDEzMyw2NiwyNywxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw2NiwxNTcsMTYzLDE4MSwyMzQsMTMxLDE3NywxNDEsMTM4LDI1MCwwLDEyNSwzMywwLDMyLDEsNjUsOCwxMDYsMzMsMSwxMiwxLDExLDExLDMyLDEsNjUsNCwxMDYsMzIsMiw3Nyw0LDY0LDMyLDAsMzIsMSw1MywyLDAsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwxMzMsNjYsMjMsMTM3LDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDY2LDI0OSwyNDMsMjIxLDI0MSwxNTMsMjQ2LDE1MywxNzEsMjIsMTI0LDMzLDAsMzIsMSw2NSw0LDEwNiwzMywxLDExLDMsNjQsMzIsMSwzMiwyLDczLDQsNjQsMzIsMCwzMiwxLDQ5LDAsMCw2NiwxOTcsMjA3LDIxNywxNzgsMjQxLDIyOSwxODYsMjM0LDM5LDEyNiwxMzMsNjYsMTEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMzMsMCwzMiwxLDY1LDEsMTA2LDMzLDEsMTIsMSwxMSwxMSwzMiwwLDMyLDAsNjYsMzMsMTM2LDEzMyw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiwzNCwwLDMyLDAsNjYsMjksMTM2LDEzMyw2NiwyNDksMjQzLDIyMSwyNDEsMTUzLDI0NiwxNTMsMTcxLDIyLDEyNiwzNCwwLDMyLDAsNjYsMzIsMTM2LDEzMywxMSw3NywwLDMyLDAsNjUsOCwxMDYsMzIsMSw2NiwyMTQsMjM1LDEzMCwyMzgsMjM0LDI1MywxMzcsMjQ1LDIyNCwwLDEyNCw1NSwzLDAsMzIsMCw2NSwxNiwxMDYsMzIsMSw2NiwxNzcsMTY5LDE3MiwxOTMsMTczLDE4NCwyMTIsMTY2LDYxLDEyNSw1NSwzLDAsMzIsMCw2NSwyNCwxMDYsMzIsMSw1NSwzLDAsMzIsMCw2NSwzMiwxMDYsMzIsMSw2NiwyNDksMjM0LDIwOCwyMDgsMjMxLDIwMSwxNjEsMjI4LDIyNSwwLDEyNCw1NSwzLDAsMTEsMjQ0LDQsMiwzLDEyNyw0LDEyNiwzMiwxLDMyLDIsMTA2LDMzLDUsMzIsMCw2NSw0MCwxMDYsMzMsNCwzMiwwLDY1LDIwMCwwLDEwNiw0MCwyLDAsMzMsMywzMiwwLDMyLDAsNDEsMywwLDMyLDIsMTczLDEyNCw1NSwzLDAsMzIsMiwzMiwzLDEwNiw2NSwzMiw3Myw0LDY0LDMyLDMsMzIsNCwxMDYsMzIsMSwzMiwyLDI1MiwxMCwwLDAsMzIsMCw2NSwyMDAsMCwxMDYsMzIsMiwzMiwzLDEwNiw1NCwyLDAsMTUsMTEsMzIsMyw0LDY0LDMyLDMsMzIsNCwxMDYsMzIsMSw2NSwzMiwzMiwzLDEwNywzNCwyLDI1MiwxMCwwLDAsMzIsMCw2NSw4LDEwNiwzNCwzLDMyLDMsNDEsMywwLDMyLDQsNDEsMywwLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDEyNCw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw1NSwzLDAsMzIsMCw2NSwxNiwxMDYsMzQsMywzMiwzLDQxLDMsMCwzMiw0LDY1LDgsMTA2LDQxLDMsMCw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiwxMjQsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsNTUsMywwLDMyLDAsNjUsMjQsMTA2LDM0LDMsMzIsMyw0MSwzLDAsMzIsNCw2NSwxNiwxMDYsNDEsMywwLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDEyNCw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw1NSwzLDAsMzIsMCw2NSwzMiwxMDYsMzQsMywzMiwzLDQxLDMsMCwzMiw0LDY1LDI0LDEwNiw0MSwzLDAsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsMTI0LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDU1LDMsMCwzMiwwLDY1LDIwMCwwLDEwNiw2NSwwLDU0LDIsMCwzMiwxLDMyLDIsMTA2LDMzLDEsMTEsMzIsMSw2NSwzMiwxMDYsMzIsNSw3Nyw0LDY0LDMyLDUsNjUsMzIsMTA3LDMzLDIsMzIsMCw2NSw4LDEwNiw0MSwzLDAsMzMsNiwzMiwwLDY1LDE2LDEwNiw0MSwzLDAsMzMsNywzMiwwLDY1LDI0LDEwNiw0MSwzLDAsMzMsOCwzMiwwLDY1LDMyLDEwNiw0MSwzLDAsMzMsOSwzLDY0LDMyLDYsMzIsMSw0MSwzLDAsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsMTI0LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDMzLDYsMzIsNywzMiwxLDY1LDgsMTA2LDM0LDEsNDEsMywwLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDEyNCw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwzMyw3LDMyLDgsMzIsMSw2NSw4LDEwNiwzNCwxLDQxLDMsMCw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiwxMjQsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMzMsOCwzMiw5LDMyLDEsNjUsOCwxMDYsMzQsMSw0MSwzLDAsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsMTI0LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDMzLDksMzIsMiwzMiwxLDY1LDgsMTA2LDM0LDEsNzksMTMsMCwxMSwzMiwwLDY1LDgsMTA2LDMyLDYsNTUsMywwLDMyLDAsNjUsMTYsMTA2LDMyLDcsNTUsMywwLDMyLDAsNjUsMjQsMTA2LDMyLDgsNTUsMywwLDMyLDAsNjUsMzIsMTA2LDMyLDksNTUsMywwLDExLDMyLDEsMzIsNSw3Myw0LDY0LDMyLDQsMzIsMSwzMiw1LDMyLDEsMTA3LDM0LDEsMjUyLDEwLDAsMCwzMiwwLDY1LDIwMCwwLDEwNiwzMiwxLDU0LDIsMCwxMSwxMSwxODgsMiwxLDUsMTI2LDMyLDAsNjUsMjQsMTA2LDQxLDMsMCwzMywxLDMyLDAsNDEsMywwLDM0LDIsNjYsMzIsOTAsNCwxMjYsMzIsMCw2NSw4LDEwNiw0MSwzLDAsMzQsMyw2NiwxLDEzNywzMiwwLDY1LDE2LDEwNiw0MSwzLDAsMzQsNCw2Niw3LDEzNywxMjQsMzIsMSw2NiwxMiwxMzcsMzIsMCw2NSwzMiwxMDYsNDEsMywwLDM0LDUsNjYsMTgsMTM3LDEyNCwxMjQsMzIsMyw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwxMzMsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw2NiwxNTcsMTYzLDE4MSwyMzQsMTMxLDE3NywxNDEsMTM4LDI1MCwwLDEyNSwzMiw0LDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDEzMyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDY2LDE1NywxNjMsMTgxLDIzNCwxMzEsMTc3LDE0MSwxMzgsMjUwLDAsMTI1LDMyLDEsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMTMzLDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsNjYsMTU3LDE2MywxODEsMjM0LDEzMSwxNzcsMTQxLDEzOCwyNTAsMCwxMjUsMzIsNSw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwxMzMsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw2NiwxNTcsMTYzLDE4MSwyMzQsMTMxLDE3NywxNDEsMTM4LDI1MCwwLDEyNSw1LDMyLDEsNjYsMTk3LDIwNywyMTcsMTc4LDI0MSwyMjksMTg2LDIzNCwzOSwxMjQsMTEsMzIsMiwxMjQsMzIsMCw2NSw0MCwxMDYsMzIsMiw2NiwzMSwxMzEsMTY3LDE2LDYsMTFdKTt2YXIgaT1BcnJheS5pc0FycmF5LHU9Im9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbCYmZ2xvYmFsLk9iamVjdD09PU9iamVjdCYmZ2xvYmFsLGE9Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmJiZzZWxmLk9iamVjdD09PU9iamVjdCYmc2VsZixjPXV8fGF8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCkscz1jLlN5bWJvbCxmPU9iamVjdC5wcm90b3R5cGUsbD1mLmhhc093blByb3BlcnR5LHA9Zi50b1N0cmluZyx5PXM/cy50b1N0cmluZ1RhZzp2b2lkIDA7dmFyIGg9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzt2YXIgdj0iW29iamVjdCBOdWxsXSIsYj0iW29iamVjdCBVbmRlZmluZWRdIixnPXM/cy50b1N0cmluZ1RhZzp2b2lkIDA7ZnVuY3Rpb24gZCh0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10P2I6djpnJiZnIGluIE9iamVjdCh0KT9mdW5jdGlvbih0KXt2YXIgZT1sLmNhbGwodCx5KSxyPXRbeV07dHJ5e3RbeV09dm9pZCAwO3ZhciBuPSEwfWNhdGNoKHQpe312YXIgbz1wLmNhbGwodCk7cmV0dXJuIG4mJihlP3RbeV09cjpkZWxldGUgdFt5XSksb30odCk6ZnVuY3Rpb24odCl7cmV0dXJuIGguY2FsbCh0KX0odCl9dmFyIF89IltvYmplY3QgU3ltYm9sXSI7ZnVuY3Rpb24gaih0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fGZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHR9KHQpJiZkKHQpPT1ffXZhciBPPS9cLnxcWyg/OlteW1xdXSp8KFsiJ10pKD86KD8hXDEpW15cXF18XFwuKSo/XDEpXF0vLG09L15cdyokLztmdW5jdGlvbiBTKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfXZhciB3PSJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIixQPSJbb2JqZWN0IEZ1bmN0aW9uXSIseD0iW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iLHo9IltvYmplY3QgUHJveHldIjt2YXIgQSwkPWNbIl9fY29yZS1qc19zaGFyZWRfXyJdLEw9KEE9L1teLl0rJC8uZXhlYygkJiYkLmtleXMmJiQua2V5cy5JRV9QUk9UT3x8IiIpKT8iU3ltYm9sKHNyYylfMS4iK0E6IiI7dmFyIEU9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nO3ZhciBOPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLFQ9RnVuY3Rpb24ucHJvdG90eXBlLGs9T2JqZWN0LnByb3RvdHlwZSxGPVQudG9TdHJpbmcsRD1rLmhhc093blByb3BlcnR5LEk9UmVnRXhwKCJeIitGLmNhbGwoRCkucmVwbGFjZSgvW1xcXiQuKis/KClbXF17fXxdL2csIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIik7ZnVuY3Rpb24gUih0KXtpZighUyh0KXx8KGU9dCxMJiZMIGluIGUpKXJldHVybiExO3ZhciBlLHI9ZnVuY3Rpb24odCl7aWYoIVModCkpcmV0dXJuITE7dmFyIGU9ZCh0KTtyZXR1cm4gZT09UHx8ZT09eHx8ZT09d3x8ZT09en0odCk/STpOO3JldHVybiByLnRlc3QoZnVuY3Rpb24odCl7aWYobnVsbCE9dCl7dHJ5e3JldHVybiBFLmNhbGwodCl9Y2F0Y2godCl7fXRyeXtyZXR1cm4gdCsiIn1jYXRjaCh0KXt9fXJldHVybiIifSh0KSl9ZnVuY3Rpb24gVSh0LGUpe3ZhciByPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbZV19KHQsZSk7cmV0dXJuIFIocik/cjp2b2lkIDB9dmFyIEM9VShPYmplY3QsImNyZWF0ZSIpO3ZhciBNPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIFc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBxKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPHI7KXt2YXIgbj10W2VdO3RoaXMuc2V0KG5bMF0sblsxXSl9fWZ1bmN0aW9uIEcodCxlKXtmb3IodmFyIHIsbixvPXQubGVuZ3RoO28tLTspaWYoKHI9dFtvXVswXSk9PT0obj1lKXx8ciE9ciYmbiE9bilyZXR1cm4gbztyZXR1cm4tMX1xLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189Qz9DKG51bGwpOnt9LHRoaXMuc2l6ZT0wfSxxLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5oYXModCkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW3RdO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9LHEucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9fZGF0YV9fO2lmKEMpe3ZhciByPWVbdF07cmV0dXJuIl9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iPT09cj92b2lkIDA6cn1yZXR1cm4gTS5jYWxsKGUsdCk/ZVt0XTp2b2lkIDB9LHEucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9fZGF0YV9fO3JldHVybiBDP3ZvaWQgMCE9PWVbdF06Vy5jYWxsKGUsdCl9LHEucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLHJbdF09QyYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTt2YXIgQj1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2Z1bmN0aW9uIEgodCl7dmFyIGU9LTEscj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8cjspe3ZhciBuPXRbZV07dGhpcy5zZXQoblswXSxuWzFdKX19SC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPVtdLHRoaXMuc2l6ZT0wfSxILnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxyPUcoZSx0KTtyZXR1cm4hKHI8MCkmJihyPT1lLmxlbmd0aC0xP2UucG9wKCk6Qi5jYWxsKGUsciwxKSwtLXRoaXMuc2l6ZSwhMCl9LEgucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9fZGF0YV9fLHI9RyhlLHQpO3JldHVybiByPDA/dm9pZCAwOmVbcl1bMV19LEgucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gRyh0aGlzLl9fZGF0YV9fLHQpPi0xfSxILnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fLG49RyhyLHQpO3JldHVybiBuPDA/KCsrdGhpcy5zaXplLHIucHVzaChbdCxlXSkpOnJbbl1bMV09ZSx0aGlzfTt2YXIgSj1VKGMsIk1hcCIpO2Z1bmN0aW9uIEsodCxlKXt2YXIgcixuLG89dC5fX2RhdGFfXztyZXR1cm4oInN0cmluZyI9PShuPXR5cGVvZihyPWUpKXx8Im51bWJlciI9PW58fCJzeW1ib2wiPT1ufHwiYm9vbGVhbiI9PW4/Il9fcHJvdG9fXyIhPT1yOm51bGw9PT1yKT9vWyJzdHJpbmciPT10eXBlb2YgZT8ic3RyaW5nIjoiaGFzaCJdOm8ubWFwfWZ1bmN0aW9uIFEodCl7dmFyIGU9LTEscj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8cjspe3ZhciBuPXRbZV07dGhpcy5zZXQoblswXSxuWzFdKX19US5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBxLG1hcDpuZXcoSnx8SCksc3RyaW5nOm5ldyBxfX0sUS5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3ZhciBlPUsodGhpcyx0KS5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX0sUS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBLKHRoaXMsdCkuZ2V0KHQpfSxRLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIEsodGhpcyx0KS5oYXModCl9LFEucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3ZhciByPUsodGhpcyx0KSxuPXIuc2l6ZTtyZXR1cm4gci5zZXQodCxlKSx0aGlzLnNpemUrPXIuc2l6ZT09bj8wOjEsdGhpc307dmFyIFY9IkV4cGVjdGVkIGEgZnVuY3Rpb24iO2Z1bmN0aW9uIFgodCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcihWKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyxvPWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0saT1yLmNhY2hlO2lmKGkuaGFzKG8pKXJldHVybiBpLmdldChvKTt2YXIgdT10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9aS5zZXQobyx1KXx8aSx1fTtyZXR1cm4gci5jYWNoZT1uZXcoWC5DYWNoZXx8USkscn1YLkNhY2hlPVE7dmFyIFksWix0dCxldD0vW14uW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwkKSkvZyxydD0vXFwoXFwpPy9nLG50PShZPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO3JldHVybiA0Nj09PXQuY2hhckNvZGVBdCgwKSYmZS5wdXNoKCIiKSx0LnJlcGxhY2UoZXQsKGZ1bmN0aW9uKHQscixuLG8pe2UucHVzaChuP28ucmVwbGFjZShydCwiJDEiKTpyfHx0KX0pKSxlfSxaPVgoWSwoZnVuY3Rpb24odCl7cmV0dXJuIDUwMD09PXR0LnNpemUmJnR0LmNsZWFyKCksdH0pKSx0dD1aLmNhY2hlLFopLG90PW50O3ZhciBpdD0xLzAsdXQ9cz9zLnByb3RvdHlwZTp2b2lkIDAsYXQ9dXQ/dXQudG9TdHJpbmc6dm9pZCAwO2Z1bmN0aW9uIGN0KHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gdDtpZihpKHQpKXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aCxvPUFycmF5KG4pOysrcjxuOylvW3JdPWUodFtyXSxyLHQpO3JldHVybiBvfSh0LGN0KSsiIjtpZihqKHQpKXJldHVybiBhdD9hdC5jYWxsKHQpOiIiO3ZhciBlPXQrIiI7cmV0dXJuIjAiPT1lJiYxL3Q9PS1pdD8iLTAiOmV9ZnVuY3Rpb24gc3QodCxlKXtyZXR1cm4gaSh0KT90OmZ1bmN0aW9uKHQsZSl7aWYoaSh0KSlyZXR1cm4hMTt2YXIgcj10eXBlb2YgdDtyZXR1cm4hKCJudW1iZXIiIT1yJiYic3ltYm9sIiE9ciYmImJvb2xlYW4iIT1yJiZudWxsIT10JiYhaih0KSl8fG0udGVzdCh0KXx8IU8udGVzdCh0KXx8bnVsbCE9ZSYmdCBpbiBPYmplY3QoZSl9KHQsZSk/W3RdOm90KGZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10PyIiOmN0KHQpfSh0KSl9dmFyIGZ0PTEvMDtmdW5jdGlvbiBsdCh0KXtpZigic3RyaW5nIj09dHlwZW9mIHR8fGoodCkpcmV0dXJuIHQ7dmFyIGU9dCsiIjtyZXR1cm4iMCI9PWUmJjEvdD09LWZ0PyItMCI6ZX1mdW5jdGlvbiBwdCh0LGUscil7dmFyIG49bnVsbD09dD92b2lkIDA6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPShlPXN0KGUsdCkpLmxlbmd0aDtudWxsIT10JiZyPG47KXQ9dFtsdChlW3IrK10pXTtyZXR1cm4gciYmcj09bj90OnZvaWQgMH0odCxlKTtyZXR1cm4gdm9pZCAwPT09bj9yOm59ZnVuY3Rpb24geXQodCl7cmV0dXJuISghZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgU3RyaW5nXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9KHQpfHwiIj09PXQpfWZ1bmN0aW9uIGh0KHQpe2xldCBlPSExO2lmKHl0KHQpKWU9IWlzTmFOKE51bWJlcih0KSk7ZWxzZSBpZihmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBOdW1iZXJdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCkpe2lmKGZ1bmN0aW9uKHQpe3JldHVybiB0IT10fSh0KSlyZXR1cm4hMTtlPSEwfXJldHVybiBlfXZhciB2dD0vXHMvO3ZhciBidD0vXlxzKy87ZnVuY3Rpb24gZ3QodCl7cmV0dXJuIHQ/dC5zbGljZSgwLGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJnZ0LnRlc3QodC5jaGFyQXQoZSkpOyk7cmV0dXJuIGV9KHQpKzEpLnJlcGxhY2UoYnQsIiIpOnR9dmFyIGR0PU5hTixfdD0vXlstK10weFswLTlhLWZdKyQvaSxqdD0vXjBiWzAxXSskL2ksT3Q9L14wb1swLTddKyQvaSxtdD1wYXJzZUludDt2YXIgU3Q9MS8wLHd0PTE3OTc2OTMxMzQ4NjIzMTU3ZTI5MjtmdW5jdGlvbiBQdCh0KXtyZXR1cm4gdD8odD1mdW5jdGlvbih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoaih0KSlyZXR1cm4gZHQ7aWYoUyh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9UyhlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9Z3QodCk7dmFyIHI9anQudGVzdCh0KTtyZXR1cm4gcnx8T3QudGVzdCh0KT9tdCh0LnNsaWNlKDIpLHI/Mjo4KTpfdC50ZXN0KHQpP2R0Oit0fSh0KSk9PT1TdHx8dD09PS1TdD8odDwwPy0xOjEpKnd0OnQ9PXQ/dDowOjA9PT10P3Q6MH1hc3luYyBmdW5jdGlvbiB4dCh0LGU9e30pe2xldCByPXB0KGUsImZzIiksbj1wdChlLCJjaHVua1NpemUiKTt2YXIgaTtpZihodChuKXx8KG49NjcxMDg4NjQpLG49aHQoaT1uKT9QdChpKTowLCFmdW5jdGlvbih0LGU9e30pe2xldCByPXB0KGUsImZzIik7cmV0dXJuISFyLmV4aXN0c1N5bmModCkmJiFyLmxzdGF0U3luYyh0KS5pc0RpcmVjdG9yeSgpJiYhci5sc3RhdFN5bmModCkuaXNTeW1ib2xpY0xpbmsoKX0odCx7ZnM6cn0pKXJldHVybiBQcm9taXNlLnJlamVjdCgiZnAgaXMgbm90IGEgZmlsZSIpO2xldCB1PWZ1bmN0aW9uKCl7bGV0IHQsZSxyPW5ldyBQcm9taXNlKChmdW5jdGlvbigpe3Q9YXJndW1lbnRzWzBdLGU9YXJndW1lbnRzWzFdfSkpO3JldHVybiByLnJlc29sdmU9dCxyLnJlamVjdD1lLHJ9KCk7dHJ5e2xldHtjcmVhdGU2NDplfT1hd2FpdCBhc3luYyBmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtjb25zdHtleHBvcnRzOnttZW06ZSx4eGgzMjpyLHh4aDY0Om4saW5pdDMyOm8sdXBkYXRlMzI6aSxkaWdlc3QzMjp1LGluaXQ2NDphLHVwZGF0ZTY0OmMsZGlnZXN0NjQ6c319PXQ7bGV0IGY9bmV3IFVpbnQ4QXJyYXkoZS5idWZmZXIpO2Z1bmN0aW9uIGwodCxyKXtpZihlLmJ1ZmZlci5ieXRlTGVuZ3RoPHQrcil7Y29uc3Qgbj1NYXRoLmNlaWwoKHQrci1lLmJ1ZmZlci5ieXRlTGVuZ3RoKS82NTUzNik7ZS5ncm93KG4pLGY9bmV3IFVpbnQ4QXJyYXkoZS5idWZmZXIpfX1mdW5jdGlvbiBwKHQsZSxyLG4sbyxpKXtsKHQpO2NvbnN0IHU9bmV3IFVpbnQ4QXJyYXkodCk7cmV0dXJuIGYuc2V0KHUpLHIoMCxlKSx1LnNldChmLnN1YmFycmF5KDAsdCkpLHt1cGRhdGUoZSl7bGV0IHI7cmV0dXJuIGYuc2V0KHUpLCJzdHJpbmciPT10eXBlb2YgZT8obCgzKmUubGVuZ3RoLHQpLHI9Yi5lbmNvZGVJbnRvKGUsZi5zdWJhcnJheSh0KSkud3JpdHRlbik6KGwoZS5ieXRlTGVuZ3RoLHQpLGYuc2V0KGUsdCkscj1lLmJ5dGVMZW5ndGgpLG4oMCx0LHIpLHUuc2V0KGYuc3ViYXJyYXkoMCx0KSksdGhpc30sZGlnZXN0OigpPT4oZi5zZXQodSksaShvKDApKSl9fWZ1bmN0aW9uIHkodCl7cmV0dXJuIHQ+Pj4wfWNvbnN0IGg9Mm4qKjY0bi0xbjtmdW5jdGlvbiB2KHQpe3JldHVybiB0Jmh9Y29uc3QgYj1uZXcgVGV4dEVuY29kZXIsZz0wLGQ9MG47ZnVuY3Rpb24gXyh0LGU9Zyl7cmV0dXJuIGwoMyp0Lmxlbmd0aCwwKSx5KHIoMCxiLmVuY29kZUludG8odCxmKS53cml0dGVuLGUpKX1mdW5jdGlvbiBqKHQsZT1kKXtyZXR1cm4gbCgzKnQubGVuZ3RoLDApLHYobigwLGIuZW5jb2RlSW50byh0LGYpLndyaXR0ZW4sZSkpfXJldHVybntoMzI6XyxoMzJUb1N0cmluZzoodCxlPWcpPT5fKHQsZSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDgsIjAiKSxoMzJSYXc6KHQsZT1nKT0+KGwodC5ieXRlTGVuZ3RoLDApLGYuc2V0KHQpLHkocigwLHQuYnl0ZUxlbmd0aCxlKSkpLGNyZWF0ZTMyOih0PWcpPT5wKDQ4LHQsbyxpLHUseSksaDY0OmosaDY0VG9TdHJpbmc6KHQsZT1kKT0+aih0LGUpLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgxNiwiMCIpLGg2NFJhdzoodCxlPWQpPT4obCh0LmJ5dGVMZW5ndGgsMCksZi5zZXQodCksdihuKDAsdC5ieXRlTGVuZ3RoLGUpKSksY3JlYXRlNjQ6KHQ9ZCk9PnAoODgsdCxhLGMscyx2KX19KChhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShvKSkuaW5zdGFuY2UpfSgpLGk9ZSgpLGE9ci5jcmVhdGVSZWFkU3RyZWFtKHQse2hpZ2hXYXRlck1hcms6bn0pO2Eub24oImRhdGEiLCh0PT57aS51cGRhdGUodCl9KSksYS5vbigiZW5kIiwoKCk9PntsZXQgdD1pLmRpZ2VzdCgpLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgxNiwiMCIpO3UucmVzb2x2ZSh0KX0pKSxhLm9uKCJlcnJvciIsdS5yZWplY3QpfWNhdGNoKHQpe3UucmVqZWN0KHQudG9TdHJpbmcoKSl9cmV0dXJuIHV9ZnVuY3Rpb24genQodCxlKXt2YXIgcj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihuPW4uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLHIucHVzaC5hcHBseShyLG4pfXJldHVybiByfWZ1bmN0aW9uIEF0KGUscj17fSl7cmV0dXJuIHh0KGUsZnVuY3Rpb24odCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIHI9bnVsbCE9YXJndW1lbnRzW2VdP2FyZ3VtZW50c1tlXTp7fTtlJTI/enQoT2JqZWN0KHIpLCEwKS5mb3JFYWNoKChmdW5jdGlvbihlKXtuKHQsZSxyW2VdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHIpKTp6dChPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpKX0pKX1yZXR1cm4gdH0oe2ZzOnR9LHIpKX1sZXQgY2FsY0ZpbGVIYXNoPWZ1bmN0aW9uKHQpe3JldHVybiBBdCh0KX07CgoKbGV0IGluc3RhbmNlID0gbnVsbApmdW5jdGlvbiBpbml0KGlucHV0KXsKCiAgICAvL2luaXQKICAgIGxldCByCiAgICAKICAgICAgICByID0gewogICAgICAgICAgICBtYWluOiBjYWxjRmlsZUhhc2gKICAgICAgICB9CiAgICAgICAgCgogICAgLy9vbgogICAgCgogICAgLy9zYXZlCiAgICBpbnN0YW5jZSA9IHIKCn0KCmZ1bmN0aW9uIHNlbmRNZXNzYWdlKGRhdGEpIHsKICAgIAogICAgICAgIHBhcmVudFBvcnQucG9zdE1lc3NhZ2UoZGF0YSkKICAgICAgICAKfQoKYXN5bmMgZnVuY3Rpb24gcnVuKGRhdGEpIHsKICAgIC8vIGNvbnNvbGUubG9nKCdpbm5lciB3b3JrZXIgcnVuJyxkYXRhKQoKICAgIC8vbW9kZQogICAgbGV0IG1vZGUgPSBkYXRhLm1vZGUKCiAgICAvL2NoZWNrCiAgICBpZihtb2RlICE9PSAnaW5pdCcgJiYgbW9kZSAhPT0gJ2NhbGwnKXsKICAgICAgICByZXR1cm4KICAgIH0KCiAgICAvL2luaXQKICAgIGlmKG1vZGUgPT09ICdpbml0Jyl7CiAgICAgICAgCiAgICAgICAgdHJ5ewoKICAgICAgICAgICAgLy90eXBlCiAgICAgICAgICAgIGxldCB0eXBlID0gZGF0YS50eXBlCgogICAgICAgICAgICAvL2lucHV0CiAgICAgICAgICAgIGxldCBpbnB1dCA9IGRhdGEuaW5wdXQKICAgIAogICAgICAgICAgICAvL2luc3RhbmNlCiAgICAgICAgICAgIGlmKHR5cGUgPT09ICdmdW5jdGlvbicpewogICAgICAgICAgICAgICAgaW5pdCguLi5pbnB1dCkKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmKHR5cGUgPT09ICdvYmplY3QnKXsKICAgICAgICAgICAgICAgIGluc3RhbmNlID0gY2FsY0ZpbGVIYXNoCiAgICAgICAgICAgIH0KCiAgICAgICAgfQogICAgICAgIGNhdGNoKGVycil7CiAgICAgICAgCiAgICAgICAgICAgIC8vc2VuZE1lc3NhZ2UKICAgICAgICAgICAgbGV0IHJlcyA9IHsKICAgICAgICAgICAgICAgIG1vZGU6ICdlbWl0JywKICAgICAgICAgICAgICAgIGV2TmFtZTogJ2Vycm9yJywKICAgICAgICAgICAgICAgIG1zZzogZXJyLAogICAgICAgICAgICB9CiAgICAgICAgICAgIHNlbmRNZXNzYWdlKHJlcykKCiAgICAgICAgfQogICAgICAgICAgICAKICAgIH0KCiAgICAvL2NoZWNrCiAgICBpZihtb2RlID09PSAnY2FsbCcpewogICAgICAgIGxldCBzdGF0ZSA9ICcnCiAgICAgICAgbGV0IG1zZyA9IG51bGwKCiAgICAgICAgdHJ5ewoKICAgICAgICAgICAgLy9mdW4KICAgICAgICAgICAgbGV0IGZ1biA9IGluc3RhbmNlW2RhdGEuZnVuXQoKICAgICAgICAgICAgLy9pbnB1dAogICAgICAgICAgICBsZXQgaW5wdXQgPSBkYXRhLmlucHV0CgogICAgICAgICAgICAvL2V4ZWMKICAgICAgICAgICAgYXdhaXQgZnVuKC4uLmlucHV0KQogICAgICAgICAgICAgICAgLnRoZW4oKHN1YykgPT4gewogICAgICAgICAgICAgICAgICAgIHN0YXRlPSdzdWNjZXNzJwogICAgICAgICAgICAgICAgICAgIG1zZz1zdWMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4gewogICAgICAgICAgICAgICAgICAgIHN0YXRlPSdlcnJvcicKICAgICAgICAgICAgICAgICAgICBtc2c9ZXJyCiAgICAgICAgICAgICAgICB9KQoKICAgICAgICB9CiAgICAgICAgY2F0Y2goZXJyKXsKICAgICAgICAgICAgc3RhdGUgPSAnZXJyb3InCiAgICAgICAgICAgIG1zZyA9IGVycgogICAgICAgIH0KICAgICAgICAKICAgICAgICAvL3NlbmRNZXNzYWdlCiAgICAgICAgbGV0IHJlcyA9IHsKICAgICAgICAgICAgbW9kZTogJ3JldHVybicsCiAgICAgICAgICAgIGlkOiBkYXRhLmlkLAogICAgICAgICAgICBmdW46IGRhdGEuZnVuLAogICAgICAgICAgICBzdGF0ZSwKICAgICAgICAgICAgbXNnLAogICAgICAgIH0KICAgICAgICBzZW5kTWVzc2FnZShyZXMpCgogICAgfQoKfQoKZnVuY3Rpb24gcmVjdk1lc3NhZ2UoZGF0YSkgewogICAgLy8gY29uc29sZS5sb2coJ2lubmVyIHdvcmtlciByZWN2OicsIGRhdGEpCgogICAgLy9kYXRhUmVjdgogICAgbGV0IGRhdGFSZWN2ID0gZGF0YQoKICAgIC8vcnVuCiAgICBydW4oZGF0YVJlY3YpCgp9CgoKICAgICAgICBwYXJlbnRQb3J0Lm9uKCdtZXNzYWdlJywgcmVjdk1lc3NhZ2UpCiAgICAgICAgCgp0cnl7CiAgICBwcm9jZXNzLm9uKCd1bmhhbmRsZWRSZWplY3Rpb24nLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuaGFuZGxlZFJlamVjdGlvbicsIGVycikKICAgIH0pCiAgICBwcm9jZXNzLm9uKCd1bmNhdWdodEV4Y2VwdGlvbicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5jYXVnaHRFeGNlcHRpb24nLCBlcnIpCiAgICB9KQogICAgcHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb25Nb25pdG9yJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmNhdWdodEV4Y2VwdGlvbk1vbml0b3InLCBlcnIpCiAgICB9KQp9CmNhdGNoKGVycil7fQoK",Buffer.from(n,"base64").toString("utf8"));var n;function M(){let i=new s,n=function(e){try{return new t.Worker(e,{eval:!0})}catch(t){c(t)}}(e);if(!n)return c("invalid worker"),null;function M(){let t=function(){let t,e,s=new Promise((function(){t=arguments[0],e=arguments[1]}));return s.resolve=t,s.reject=e,s}(),e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=[],s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),i=s.length;for(let n=0;n<t;n++)e[n]=s[0|Math.random()*i];return e.join("")}(),s={mode:"call",id:e,fun:"main",input:[...arguments]};return n.postMessage(s),i.once(e,(e=>{"success"===e.state?t.resolve(e.msg):t.reject(e.msg)})),t}function c(t){i.emit("error",t)}return n.on("message",(function(t){let e=t,s=e.mode;"emit"!==s&&"return"!==s||("emit"===s&&i.emit(e.evName,e.msg),"return"===s&&i.emit(e.id,e))})),n.on("error",c),n.on("exit",(t=>{1!==t&&c("exit code["+t+"] !== 1")})),function(){let t={mode:"init",type:"function",input:[...arguments]};n.postMessage(t)}([...arguments]),i.main=M,i.main=M,i.terminate=function(){n?(n.terminate(),n=void 0):c("worker has been terminated")},i}i=async function(){let t=[...arguments],e=M();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 i}(t)}({get exports(){return e},set exports(t){e=t}});var s=e,i={};!function(t,e){t.exports=function(){const t="function"==typeof Buffer,e="function"==typeof TextDecoder?new TextDecoder:void 0,s=(t=>{let e={};return t.forEach(((t,s)=>e[t]=s)),e})(("function"==typeof TextEncoder&&new TextEncoder,Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="))),i=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,n=String.fromCharCode.bind(String),M="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,""),I=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,w=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 n(55296+(e>>>10))+n(56320+(1023&e));case 3:return n((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return n((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},o=t=>t.replace(I,w),l=t=>{if(t=t.replace(/\s+/g,""),!i.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));let e,M,c,I="";for(let i=0;i<t.length;)e=s[t.charAt(i++)]<<18|s[t.charAt(i++)]<<12|(M=s[t.charAt(i++)])<<6|(c=s[t.charAt(i++)]),I+=64===M?n(e>>16&255):64===c?n(e>>16&255,e>>8&255):n(e>>16&255,e>>8&255,255&e);return I},r="function"==typeof atob?t=>atob(c(t)):t?t=>Buffer.from(t,"base64").toString("binary"):l,d=t?t=>M(Buffer.from(t,"base64")):t=>M(r(t).split("").map((t=>t.charCodeAt(0)))),L=t?t=>Buffer.from(t,"base64").toString("utf8"):e?t=>e.decode(d(t)):t=>o(r(t)),y=t=>c(t.replace(/[-_]/g,(t=>"-"==t?"+":"/"))),C=t=>L(y(t)),D=C;var u={};!function(t){var e=Object.prototype.hasOwnProperty,s="~";function i(){}function n(t,e,s){this.fn=t,this.context=e,this.once=s||!1}function M(t,e,i,M,c){if("function"!=typeof i)throw new TypeError("The listener must be a function");var I=new n(i,M||t,c),w=s?s+e:e;return t._events[w]?t._events[w].fn?t._events[w]=[t._events[w],I]:t._events[w].push(I):(t._events[w]=I,t._eventsCount++),t}function c(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function I(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(s=!1)),I.prototype.eventNames=function(){var t,i,n=[];if(0===this._eventsCount)return n;for(i in t=this._events)e.call(t,i)&&n.push(s?i.slice(1):i);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},I.prototype.listeners=function(t){var e=s?s+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,M=i.length,c=new Array(M);n<M;n++)c[n]=i[n].fn;return c},I.prototype.listenerCount=function(t){var e=s?s+t:t,i=this._events[e];return i?i.fn?1:i.length:0},I.prototype.emit=function(t,e,i,n,M,c){var I=s?s+t:t;if(!this._events[I])return!1;var w,o,l=this._events[I],r=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),r){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,i),!0;case 4:return l.fn.call(l.context,e,i,n),!0;case 5:return l.fn.call(l.context,e,i,n,M),!0;case 6:return l.fn.call(l.context,e,i,n,M,c),!0}for(o=1,w=new Array(r-1);o<r;o++)w[o-1]=arguments[o];l.fn.apply(l.context,w)}else{var d,L=l.length;for(o=0;o<L;o++)switch(l[o].once&&this.removeListener(t,l[o].fn,void 0,!0),r){case 1:l[o].fn.call(l[o].context);break;case 2:l[o].fn.call(l[o].context,e);break;case 3:l[o].fn.call(l[o].context,e,i);break;case 4:l[o].fn.call(l[o].context,e,i,n);break;default:if(!w)for(d=1,w=new Array(r-1);d<r;d++)w[d-1]=arguments[d];l[o].fn.apply(l[o].context,w)}}return!0},I.prototype.on=function(t,e,s){return M(this,t,e,s,!1)},I.prototype.once=function(t,e,s){return M(this,t,e,s,!0)},I.prototype.removeListener=function(t,e,i,n){var M=s?s+t:t;if(!this._events[M])return this;if(!e)return c(this,M),this;var I=this._events[M];if(I.fn)I.fn!==e||n&&!I.once||i&&I.context!==i||c(this,M);else{for(var w=0,o=[],l=I.length;w<l;w++)(I[w].fn!==e||n&&!I[w].once||i&&I[w].context!==i)&&o.push(I[w]);o.length?this._events[M]=1===o.length?o[0]:o:c(this,M)}return this},I.prototype.removeAllListeners=function(t){var e;return t?(e=s?s+t:t,this._events[e]&&c(this,e)):(this._events=new i,this._eventsCount=0),this},I.prototype.off=I.prototype.removeListener,I.prototype.addListener=I.prototype.on,I.prefixed=s,I.EventEmitter=I,t.exports=I}({get exports(){return u},set exports(t){u=t}});var g=u;let a;!function(){if("browser"!=("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let t=D("CgoKInVzZSBzdHJpY3QiO3ZhciB0PXJlcXVpcmUoImZzIik7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0sZSh0KX1mdW5jdGlvbiByKHQpe3ZhciByPWZ1bmN0aW9uKHQscil7aWYoIm9iamVjdCIhPT1lKHQpfHxudWxsPT09dClyZXR1cm4gdDt2YXIgbj10W1N5bWJvbC50b1ByaW1pdGl2ZV07aWYodm9pZCAwIT09bil7dmFyIG89bi5jYWxsKHQscnx8ImRlZmF1bHQiKTtpZigib2JqZWN0IiE9PWUobykpcmV0dXJuIG87dGhyb3cgbmV3IFR5cGVFcnJvcigiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS4iKX1yZXR1cm4oInN0cmluZyI9PT1yP1N0cmluZzpOdW1iZXIpKHQpfSh0LCJzdHJpbmciKTtyZXR1cm4ic3ltYm9sIj09PWUocik/cjpTdHJpbmcocil9ZnVuY3Rpb24gbih0LGUsbil7cmV0dXJuKGU9cihlKSlpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW4sdH1jb25zdCBvPW5ldyBVaW50OEFycmF5KFswLDk3LDExNSwxMDksMSwwLDAsMCwxLDQ4LDgsOTYsMywxMjcsMTI3LDEyNywxLDEyNyw5NiwzLDEyNywxMjcsMTI3LDAsOTYsMiwxMjcsMTI3LDAsOTYsMSwxMjcsMSwxMjcsOTYsMywxMjcsMTI3LDEyNiwxLDEyNiw5NiwzLDEyNiwxMjcsMTI3LDEsMTI2LDk2LDIsMTI3LDEyNiwwLDk2LDEsMTI3LDEsMTI2LDMsMTEsMTAsMCwwLDIsMSwzLDQsNSw2LDEsNyw1LDMsMSwwLDEsNyw4NSw5LDMsMTA5LDEwMSwxMDksMiwwLDUsMTIwLDEyMCwxMDQsNTEsNTAsMCwwLDYsMTA1LDExMCwxMDUsMTE2LDUxLDUwLDAsMiw4LDExNywxMTIsMTAwLDk3LDExNiwxMDEsNTEsNTAsMCwzLDgsMTAwLDEwNSwxMDMsMTAxLDExNSwxMTYsNTEsNTAsMCw0LDUsMTIwLDEyMCwxMDQsNTQsNTIsMCw1LDYsMTA1LDExMCwxMDUsMTE2LDU0LDUyLDAsNyw4LDExNywxMTIsMTAwLDk3LDExNiwxMDEsNTQsNTIsMCw4LDgsMTAwLDEwNSwxMDMsMTAxLDExNSwxMTYsNTQsNTIsMCw5LDEwLDI1MSwyMiwxMCwyNDIsMSwxLDQsMTI3LDMyLDAsMzIsMSwxMDYsMzMsMywzMiwxLDY1LDE2LDc5LDQsMTI3LDMyLDMsNjUsMTYsMTA3LDMzLDYsMzIsMiw2NSwxNjgsMTM2LDE0MSwxNjEsMiwxMDYsMzMsMywzMiwyLDY1LDEzNywyMzUsMjA4LDIwOCw3LDEwNywzMyw0LDMyLDIsNjUsMjA3LDE0MCwxNjIsMTQyLDYsMTA2LDMzLDUsMyw2NCwzMiwzLDMyLDAsNDAsMiwwLDY1LDI0NywxNDgsMTc1LDE3NSwxMjAsMTA4LDEwNiw2NSwxMywxMTksNjUsMTc3LDI0MywyMjEsMjQxLDEyMSwxMDgsMzMsMywzMiw0LDMyLDAsNjUsNCwxMDYsMzQsMCw0MCwyLDAsNjUsMjQ3LDE0OCwxNzUsMTc1LDEyMCwxMDgsMTA2LDY1LDEzLDExOSw2NSwxNzcsMjQzLDIyMSwyNDEsMTIxLDEwOCwzMyw0LDMyLDIsMzIsMCw2NSw0LDEwNiwzNCwwLDQwLDIsMCw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwxMDYsNjUsMTMsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDMzLDIsMzIsNSwzMiwwLDY1LDQsMTA2LDM0LDAsNDAsMiwwLDY1LDI0NywxNDgsMTc1LDE3NSwxMjAsMTA4LDEwNiw2NSwxMywxMTksNjUsMTc3LDI0MywyMjEsMjQxLDEyMSwxMDgsMzMsNSwzMiw2LDMyLDAsNjUsNCwxMDYsMzQsMCw3OSwxMywwLDExLDMyLDIsNjUsMTIsMTE5LDMyLDUsNjUsMTgsMTE5LDEwNiwzMiw0LDY1LDcsMTE5LDEwNiwzMiwzLDY1LDEsMTE5LDEwNiw1LDMyLDIsNjUsMTc3LDIwNywyMTcsMTc4LDEsMTA2LDExLDMyLDEsMTA2LDMyLDAsMzIsMSw2NSwxNSwxMTMsMTYsMSwxMSwxNDYsMSwwLDMyLDEsMzIsMiwxMDYsMzMsMiwzLDY0LDMyLDEsNjUsNCwxMDYsMzIsMiw3NSw2OSw0LDY0LDMyLDAsMzIsMSw0MCwyLDAsNjUsMTg5LDIyMCwyMDIsMTQ5LDEyNCwxMDgsMTA2LDY1LDE3LDExOSw2NSwxNzUsMjE0LDIxMSwxOTAsMiwxMDgsMzMsMCwzMiwxLDY1LDQsMTA2LDMzLDEsMTIsMSwxMSwxMSwzLDY0LDMyLDEsMzIsMiw3OSw2OSw0LDY0LDMyLDAsMzIsMSw0NSwwLDAsNjUsMTc3LDIwNywyMTcsMTc4LDEsMTA4LDEwNiw2NSwxMSwxMTksNjUsMTc3LDI0MywyMjEsMjQxLDEyMSwxMDgsMzMsMCwzMiwxLDY1LDEsMTA2LDMzLDEsMTIsMSwxMSwxMSwzMiwwLDMyLDAsNjUsMTUsMTE4LDExNSw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwzNCwwLDY1LDEzLDExOCwzMiwwLDExNSw2NSwxODksMjIwLDIwMiwxNDksMTI0LDEwOCwzNCwwLDY1LDE2LDExOCwzMiwwLDExNSwxMSw2MywwLDMyLDAsNjUsOCwxMDYsMzIsMSw2NSwxNjgsMTM2LDE0MSwxNjEsMiwxMDYsNTQsMiwwLDMyLDAsNjUsMTIsMTA2LDMyLDEsNjUsMTM3LDIzNSwyMDgsMjA4LDcsMTA3LDU0LDIsMCwzMiwwLDY1LDE2LDEwNiwzMiwxLDU0LDIsMCwzMiwwLDY1LDIwLDEwNiwzMiwxLDY1LDIwNywxNDAsMTYyLDE0Miw2LDEwNiw1NCwyLDAsMTEsMTk1LDQsMSw2LDEyNywzMiwxLDMyLDIsMTA2LDMzLDYsMzIsMCw2NSwyNCwxMDYsMzMsNCwzMiwwLDY1LDQwLDEwNiw0MCwyLDAsMzMsMywzMiwwLDMyLDAsNDAsMiwwLDMyLDIsMTA2LDU0LDIsMCwzMiwwLDY1LDQsMTA2LDM0LDUsMzIsNSw0MCwyLDAsMzIsMiw2NSwxNiw3OSwzMiwwLDQwLDIsMCw2NSwxNiw3OSwxMTQsMTE0LDU0LDIsMCwzMiwyLDMyLDMsMTA2LDY1LDE2LDczLDQsNjQsMzIsMywzMiw0LDEwNiwzMiwxLDMyLDIsMjUyLDEwLDAsMCwzMiwwLDY1LDQwLDEwNiwzMiwyLDMyLDMsMTA2LDU0LDIsMCwxNSwxMSwzMiwzLDQsNjQsMzIsMywzMiw0LDEwNiwzMiwxLDY1LDE2LDMyLDMsMTA3LDM0LDIsMjUyLDEwLDAsMCwzMiwwLDY1LDgsMTA2LDM0LDMsMzIsMyw0MCwyLDAsMzIsNCw0MCwyLDAsNjUsMjQ3LDE0OCwxNzUsMTc1LDEyMCwxMDgsMTA2LDY1LDEzLDExOSw2NSwxNzcsMjQzLDIyMSwyNDEsMTIxLDEwOCw1NCwyLDAsMzIsMCw2NSwxMiwxMDYsMzQsMywzMiwzLDQwLDIsMCwzMiw0LDY1LDQsMTA2LDQwLDIsMCw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwxMDYsNjUsMTMsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDU0LDIsMCwzMiwwLDY1LDE2LDEwNiwzNCwzLDMyLDMsNDAsMiwwLDMyLDQsNjUsOCwxMDYsNDAsMiwwLDY1LDI0NywxNDgsMTc1LDE3NSwxMjAsMTA4LDEwNiw2NSwxMywxMTksNjUsMTc3LDI0MywyMjEsMjQxLDEyMSwxMDgsNTQsMiwwLDMyLDAsNjUsMjAsMTA2LDM0LDMsMzIsMyw0MCwyLDAsMzIsNCw2NSwxMiwxMDYsNDAsMiwwLDY1LDI0NywxNDgsMTc1LDE3NSwxMjAsMTA4LDEwNiw2NSwxMywxMTksNjUsMTc3LDI0MywyMjEsMjQxLDEyMSwxMDgsNTQsMiwwLDMyLDAsNjUsNDAsMTA2LDY1LDAsNTQsMiwwLDMyLDEsMzIsMiwxMDYsMzMsMSwxMSwzMiwxLDMyLDYsNjUsMTYsMTA3LDc3LDQsNjQsMzIsNiw2NSwxNiwxMDcsMzMsOCwzMiwwLDY1LDgsMTA2LDQwLDIsMCwzMywyLDMyLDAsNjUsMTIsMTA2LDQwLDIsMCwzMywzLDMyLDAsNjUsMTYsMTA2LDQwLDIsMCwzMyw1LDMyLDAsNjUsMjAsMTA2LDQwLDIsMCwzMyw3LDMsNjQsMzIsMiwzMiwxLDQwLDIsMCw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwxMDYsNjUsMTMsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDMzLDIsMzIsMywzMiwxLDY1LDQsMTA2LDM0LDEsNDAsMiwwLDY1LDI0NywxNDgsMTc1LDE3NSwxMjAsMTA4LDEwNiw2NSwxMywxMTksNjUsMTc3LDI0MywyMjEsMjQxLDEyMSwxMDgsMzMsMywzMiw1LDMyLDEsNjUsNCwxMDYsMzQsMSw0MCwyLDAsNjUsMjQ3LDE0OCwxNzUsMTc1LDEyMCwxMDgsMTA2LDY1LDEzLDExOSw2NSwxNzcsMjQzLDIyMSwyNDEsMTIxLDEwOCwzMyw1LDMyLDcsMzIsMSw2NSw0LDEwNiwzNCwxLDQwLDIsMCw2NSwyNDcsMTQ4LDE3NSwxNzUsMTIwLDEwOCwxMDYsNjUsMTMsMTE5LDY1LDE3NywyNDMsMjIxLDI0MSwxMjEsMTA4LDMzLDcsMzIsOCwzMiwxLDY1LDQsMTA2LDM0LDEsNzksMTMsMCwxMSwzMiwwLDY1LDgsMTA2LDMyLDIsNTQsMiwwLDMyLDAsNjUsMTIsMTA2LDMyLDMsNTQsMiwwLDMyLDAsNjUsMTYsMTA2LDMyLDUsNTQsMiwwLDMyLDAsNjUsMjAsMTA2LDMyLDcsNTQsMiwwLDExLDMyLDEsMzIsNiw3Myw0LDY0LDMyLDQsMzIsMSwzMiw2LDMyLDEsMTA3LDM0LDEsMjUyLDEwLDAsMCwzMiwwLDY1LDQwLDEwNiwzMiwxLDU0LDIsMCwxMSwxMSw5NywxLDEsMTI3LDMyLDAsNjUsMTYsMTA2LDQwLDIsMCwzMywxLDMyLDAsNjUsNCwxMDYsNDAsMiwwLDQsMTI3LDMyLDEsNjUsMTIsMTE5LDMyLDAsNjUsMjAsMTA2LDQwLDIsMCw2NSwxOCwxMTksMTA2LDMyLDAsNjUsMTIsMTA2LDQwLDIsMCw2NSw3LDExOSwxMDYsMzIsMCw2NSw4LDEwNiw0MCwyLDAsNjUsMSwxMTksMTA2LDUsMzIsMSw2NSwxNzcsMjA3LDIxNywxNzgsMSwxMDYsMTEsMzIsMCw0MCwyLDAsMTA2LDMyLDAsNjUsMjQsMTA2LDMyLDAsNjUsNDAsMTA2LDQwLDIsMCwxNiwxLDExLDI1NSwzLDIsMywxMjYsMSwxMjcsMzIsMCwzMiwxLDEwNiwzMyw2LDMyLDEsNjUsMzIsNzksNCwxMjYsMzIsNiw2NSwzMiwxMDcsMzMsNiwzMiwyLDY2LDIxNCwyMzUsMTMwLDIzOCwyMzQsMjUzLDEzNywyNDUsMjI0LDAsMTI0LDMzLDMsMzIsMiw2NiwxNzcsMTY5LDE3MiwxOTMsMTczLDE4NCwyMTIsMTY2LDYxLDEyNSwzMyw0LDMyLDIsNjYsMjQ5LDIzNCwyMDgsMjA4LDIzMSwyMDEsMTYxLDIyOCwyMjUsMCwxMjQsMzMsNSwzLDY0LDMyLDMsMzIsMCw0MSwzLDAsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsMTI0LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDMzLDMsMzIsNCwzMiwwLDY1LDgsMTA2LDM0LDAsNDEsMywwLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDEyNCw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwzMyw0LDMyLDIsMzIsMCw2NSw4LDEwNiwzNCwwLDQxLDMsMCw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiwxMjQsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMzMsMiwzMiw1LDMyLDAsNjUsOCwxMDYsMzQsMCw0MSwzLDAsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsMTI0LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDMzLDUsMzIsNiwzMiwwLDY1LDgsMTA2LDM0LDAsNzksMTMsMCwxMSwzMiwyLDY2LDEyLDEzNywzMiw1LDY2LDE4LDEzNywxMjQsMzIsNCw2Niw3LDEzNywxMjQsMzIsMyw2NiwxLDEzNywxMjQsMzIsMyw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwxMzMsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw2NiwxNTcsMTYzLDE4MSwyMzQsMTMxLDE3NywxNDEsMTM4LDI1MCwwLDEyNSwzMiw0LDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDEzMyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDY2LDE1NywxNjMsMTgxLDIzNCwxMzEsMTc3LDE0MSwxMzgsMjUwLDAsMTI1LDMyLDIsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMTMzLDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsNjYsMTU3LDE2MywxODEsMjM0LDEzMSwxNzcsMTQxLDEzOCwyNTAsMCwxMjUsMzIsNSw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwxMzMsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw2NiwxNTcsMTYzLDE4MSwyMzQsMTMxLDE3NywxNDEsMTM4LDI1MCwwLDEyNSw1LDMyLDIsNjYsMTk3LDIwNywyMTcsMTc4LDI0MSwyMjksMTg2LDIzNCwzOSwxMjQsMTEsMzIsMSwxNzMsMTI0LDMyLDAsMzIsMSw2NSwzMSwxMTMsMTYsNiwxMSwxMzQsMiwwLDMyLDEsMzIsMiwxMDYsMzMsMiwzLDY0LDMyLDIsMzIsMSw2NSw4LDEwNiw3OSw0LDY0LDMyLDEsNDEsMywwLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDMyLDAsMTMzLDY2LDI3LDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDY2LDE1NywxNjMsMTgxLDIzNCwxMzEsMTc3LDE0MSwxMzgsMjUwLDAsMTI1LDMzLDAsMzIsMSw2NSw4LDEwNiwzMywxLDEyLDEsMTEsMTEsMzIsMSw2NSw0LDEwNiwzMiwyLDc3LDQsNjQsMzIsMCwzMiwxLDUzLDIsMCw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDEzMyw2NiwyMywxMzcsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsNjYsMjQ5LDI0MywyMjEsMjQxLDE1MywyNDYsMTUzLDE3MSwyMiwxMjQsMzMsMCwzMiwxLDY1LDQsMTA2LDMzLDEsMTEsMyw2NCwzMiwxLDMyLDIsNzMsNCw2NCwzMiwwLDMyLDEsNDksMCwwLDY2LDE5NywyMDcsMjE3LDE3OCwyNDEsMjI5LDE4NiwyMzQsMzksMTI2LDEzMyw2NiwxMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwzMywwLDMyLDEsNjUsMSwxMDYsMzMsMSwxMiwxLDExLDExLDMyLDAsMzIsMCw2NiwzMywxMzYsMTMzLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDM0LDAsMzIsMCw2NiwyOSwxMzYsMTMzLDY2LDI0OSwyNDMsMjIxLDI0MSwxNTMsMjQ2LDE1MywxNzEsMjIsMTI2LDM0LDAsMzIsMCw2NiwzMiwxMzYsMTMzLDExLDc3LDAsMzIsMCw2NSw4LDEwNiwzMiwxLDY2LDIxNCwyMzUsMTMwLDIzOCwyMzQsMjUzLDEzNywyNDUsMjI0LDAsMTI0LDU1LDMsMCwzMiwwLDY1LDE2LDEwNiwzMiwxLDY2LDE3NywxNjksMTcyLDE5MywxNzMsMTg0LDIxMiwxNjYsNjEsMTI1LDU1LDMsMCwzMiwwLDY1LDI0LDEwNiwzMiwxLDU1LDMsMCwzMiwwLDY1LDMyLDEwNiwzMiwxLDY2LDI0OSwyMzQsMjA4LDIwOCwyMzEsMjAxLDE2MSwyMjgsMjI1LDAsMTI0LDU1LDMsMCwxMSwyNDQsNCwyLDMsMTI3LDQsMTI2LDMyLDEsMzIsMiwxMDYsMzMsNSwzMiwwLDY1LDQwLDEwNiwzMyw0LDMyLDAsNjUsMjAwLDAsMTA2LDQwLDIsMCwzMywzLDMyLDAsMzIsMCw0MSwzLDAsMzIsMiwxNzMsMTI0LDU1LDMsMCwzMiwyLDMyLDMsMTA2LDY1LDMyLDczLDQsNjQsMzIsMywzMiw0LDEwNiwzMiwxLDMyLDIsMjUyLDEwLDAsMCwzMiwwLDY1LDIwMCwwLDEwNiwzMiwyLDMyLDMsMTA2LDU0LDIsMCwxNSwxMSwzMiwzLDQsNjQsMzIsMywzMiw0LDEwNiwzMiwxLDY1LDMyLDMyLDMsMTA3LDM0LDIsMjUyLDEwLDAsMCwzMiwwLDY1LDgsMTA2LDM0LDMsMzIsMyw0MSwzLDAsMzIsNCw0MSwzLDAsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsMTI0LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDU1LDMsMCwzMiwwLDY1LDE2LDEwNiwzNCwzLDMyLDMsNDEsMywwLDMyLDQsNjUsOCwxMDYsNDEsMywwLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDEyNCw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw1NSwzLDAsMzIsMCw2NSwyNCwxMDYsMzQsMywzMiwzLDQxLDMsMCwzMiw0LDY1LDE2LDEwNiw0MSwzLDAsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsMTI0LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDU1LDMsMCwzMiwwLDY1LDMyLDEwNiwzNCwzLDMyLDMsNDEsMywwLDMyLDQsNjUsMjQsMTA2LDQxLDMsMCw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiwxMjQsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsNTUsMywwLDMyLDAsNjUsMjAwLDAsMTA2LDY1LDAsNTQsMiwwLDMyLDEsMzIsMiwxMDYsMzMsMSwxMSwzMiwxLDY1LDMyLDEwNiwzMiw1LDc3LDQsNjQsMzIsNSw2NSwzMiwxMDcsMzMsMiwzMiwwLDY1LDgsMTA2LDQxLDMsMCwzMyw2LDMyLDAsNjUsMTYsMTA2LDQxLDMsMCwzMyw3LDMyLDAsNjUsMjQsMTA2LDQxLDMsMCwzMyw4LDMyLDAsNjUsMzIsMTA2LDQxLDMsMCwzMyw5LDMsNjQsMzIsNiwzMiwxLDQxLDMsMCw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiwxMjQsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMzMsNiwzMiw3LDMyLDEsNjUsOCwxMDYsMzQsMSw0MSwzLDAsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsMTI0LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDMzLDcsMzIsOCwzMiwxLDY1LDgsMTA2LDM0LDEsNDEsMywwLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDEyNCw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwzMyw4LDMyLDksMzIsMSw2NSw4LDEwNiwzNCwxLDQxLDMsMCw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiwxMjQsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMzMsOSwzMiwyLDMyLDEsNjUsOCwxMDYsMzQsMSw3OSwxMywwLDExLDMyLDAsNjUsOCwxMDYsMzIsNiw1NSwzLDAsMzIsMCw2NSwxNiwxMDYsMzIsNyw1NSwzLDAsMzIsMCw2NSwyNCwxMDYsMzIsOCw1NSwzLDAsMzIsMCw2NSwzMiwxMDYsMzIsOSw1NSwzLDAsMTEsMzIsMSwzMiw1LDczLDQsNjQsMzIsNCwzMiwxLDMyLDUsMzIsMSwxMDcsMzQsMSwyNTIsMTAsMCwwLDMyLDAsNjUsMjAwLDAsMTA2LDMyLDEsNTQsMiwwLDExLDExLDE4OCwyLDEsNSwxMjYsMzIsMCw2NSwyNCwxMDYsNDEsMywwLDMzLDEsMzIsMCw0MSwzLDAsMzQsMiw2NiwzMiw5MCw0LDEyNiwzMiwwLDY1LDgsMTA2LDQxLDMsMCwzNCwzLDY2LDEsMTM3LDMyLDAsNjUsMTYsMTA2LDQxLDMsMCwzNCw0LDY2LDcsMTM3LDEyNCwzMiwxLDY2LDEyLDEzNywzMiwwLDY1LDMyLDEwNiw0MSwzLDAsMzQsNSw2NiwxOCwxMzcsMTI0LDEyNCwzMiwzLDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDEzMyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDY2LDE1NywxNjMsMTgxLDIzNCwxMzEsMTc3LDE0MSwxMzgsMjUwLDAsMTI1LDMyLDQsNjYsMjA3LDIxNCwyMTEsMTkwLDIxMCwxOTksMTcxLDIxNyw2NiwxMjYsNjYsMzEsMTM3LDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsMTMzLDY2LDEzNSwxNDksMTc1LDE3NSwxNTIsMTgyLDIyMiwxNTUsMTU4LDEyNywxMjYsNjYsMTU3LDE2MywxODEsMjM0LDEzMSwxNzcsMTQxLDEzOCwyNTAsMCwxMjUsMzIsMSw2NiwyMDcsMjE0LDIxMSwxOTAsMjEwLDE5OSwxNzEsMjE3LDY2LDEyNiw2NiwzMSwxMzcsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiwxMzMsNjYsMTM1LDE0OSwxNzUsMTc1LDE1MiwxODIsMjIyLDE1NSwxNTgsMTI3LDEyNiw2NiwxNTcsMTYzLDE4MSwyMzQsMTMxLDE3NywxNDEsMTM4LDI1MCwwLDEyNSwzMiw1LDY2LDIwNywyMTQsMjExLDE5MCwyMTAsMTk5LDE3MSwyMTcsNjYsMTI2LDY2LDMxLDEzNyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDEzMyw2NiwxMzUsMTQ5LDE3NSwxNzUsMTUyLDE4MiwyMjIsMTU1LDE1OCwxMjcsMTI2LDY2LDE1NywxNjMsMTgxLDIzNCwxMzEsMTc3LDE0MSwxMzgsMjUwLDAsMTI1LDUsMzIsMSw2NiwxOTcsMjA3LDIxNywxNzgsMjQxLDIyOSwxODYsMjM0LDM5LDEyNCwxMSwzMiwyLDEyNCwzMiwwLDY1LDQwLDEwNiwzMiwyLDY2LDMxLDEzMSwxNjcsMTYsNiwxMV0pO3ZhciBpPUFycmF5LmlzQXJyYXksdT0ib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsJiZnbG9iYWwuT2JqZWN0PT09T2JqZWN0JiZnbG9iYWwsYT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLGM9dXx8YXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxzPWMuU3ltYm9sLGY9T2JqZWN0LnByb3RvdHlwZSxsPWYuaGFzT3duUHJvcGVydHkscD1mLnRvU3RyaW5nLHk9cz9zLnRvU3RyaW5nVGFnOnZvaWQgMDt2YXIgaD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO3ZhciB2PSJbb2JqZWN0IE51bGxdIixiPSJbb2JqZWN0IFVuZGVmaW5lZF0iLGc9cz9zLnRvU3RyaW5nVGFnOnZvaWQgMDtmdW5jdGlvbiBkKHQpe3JldHVybiBudWxsPT10P3ZvaWQgMD09PXQ/Yjp2OmcmJmcgaW4gT2JqZWN0KHQpP2Z1bmN0aW9uKHQpe3ZhciBlPWwuY2FsbCh0LHkpLHI9dFt5XTt0cnl7dFt5XT12b2lkIDA7dmFyIG49ITB9Y2F0Y2godCl7fXZhciBvPXAuY2FsbCh0KTtyZXR1cm4gbiYmKGU/dFt5XT1yOmRlbGV0ZSB0W3ldKSxvfSh0KTpmdW5jdGlvbih0KXtyZXR1cm4gaC5jYWxsKHQpfSh0KX12YXIgXz0iW29iamVjdCBTeW1ib2xdIjtmdW5jdGlvbiBqKHQpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgdHx8ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH0odCkmJmQodCk9PV99dmFyIE89L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8sbT0vXlx3KiQvO2Z1bmN0aW9uIFModCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09ZXx8ImZ1bmN0aW9uIj09ZSl9dmFyIHc9IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iLFA9IltvYmplY3QgRnVuY3Rpb25dIix4PSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsej0iW29iamVjdCBQcm94eV0iO3ZhciBBLCQ9Y1siX19jb3JlLWpzX3NoYXJlZF9fIl0sTD0oQT0vW14uXSskLy5leGVjKCQmJiQua2V5cyYmJC5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrQToiIjt2YXIgRT1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7dmFyIE49L15cW29iamVjdCAuKz9Db25zdHJ1Y3RvclxdJC8sVD1GdW5jdGlvbi5wcm90b3R5cGUsaz1PYmplY3QucHJvdG90eXBlLEY9VC50b1N0cmluZyxEPWsuaGFzT3duUHJvcGVydHksST1SZWdFeHAoIl4iK0YuY2FsbChEKS5yZXBsYWNlKC9bXFxeJC4qKz8oKVtcXXt9fF0vZywiXFwkJiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKTtmdW5jdGlvbiBSKHQpe2lmKCFTKHQpfHwoZT10LEwmJkwgaW4gZSkpcmV0dXJuITE7dmFyIGUscj1mdW5jdGlvbih0KXtpZighUyh0KSlyZXR1cm4hMTt2YXIgZT1kKHQpO3JldHVybiBlPT1QfHxlPT14fHxlPT13fHxlPT16fSh0KT9JOk47cmV0dXJuIHIudGVzdChmdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIEUuY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9KHQpKX1mdW5jdGlvbiBVKHQsZSl7dmFyIHI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD92b2lkIDA6dFtlXX0odCxlKTtyZXR1cm4gUihyKT9yOnZvaWQgMH12YXIgQz1VKE9iamVjdCwiY3JlYXRlIik7dmFyIE09T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgVz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIHEodCl7dmFyIGU9LTEscj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8cjspe3ZhciBuPXRbZV07dGhpcy5zZXQoblswXSxuWzFdKX19ZnVuY3Rpb24gRyh0LGUpe2Zvcih2YXIgcixuLG89dC5sZW5ndGg7by0tOylpZigocj10W29dWzBdKT09PShuPWUpfHxyIT1yJiZuIT1uKXJldHVybiBvO3JldHVybi0xfXEucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1DP0MobnVsbCk6e30sdGhpcy5zaXplPTB9LHEucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX0scS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYoQyl7dmFyIHI9ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1yP3ZvaWQgMDpyfXJldHVybiBNLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH0scS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIEM/dm9pZCAwIT09ZVt0XTpXLmNhbGwoZSx0KX0scS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fX2RhdGFfXztyZXR1cm4gdGhpcy5zaXplKz10aGlzLmhhcyh0KT8wOjEsclt0XT1DJiZ2b2lkIDA9PT1lPyJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fIjplLHRoaXN9O3ZhciBCPUFycmF5LnByb3RvdHlwZS5zcGxpY2U7ZnVuY3Rpb24gSCh0KXt2YXIgZT0tMSxyPW51bGw9PXQ/MDp0Lmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrZTxyOyl7dmFyIG49dFtlXTt0aGlzLnNldChuWzBdLG5bMV0pfX1ILnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9LEgucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9fZGF0YV9fLHI9RyhlLHQpO3JldHVybiEocjwwKSYmKHI9PWUubGVuZ3RoLTE/ZS5wb3AoKTpCLmNhbGwoZSxyLDEpLC0tdGhpcy5zaXplLCEwKX0sSC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1HKGUsdCk7cmV0dXJuIHI8MD92b2lkIDA6ZVtyXVsxXX0sSC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiBHKHRoaXMuX19kYXRhX18sdCk+LTF9LEgucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX19kYXRhX18sbj1HKHIsdCk7cmV0dXJuIG48MD8oKyt0aGlzLnNpemUsci5wdXNoKFt0LGVdKSk6cltuXVsxXT1lLHRoaXN9O3ZhciBKPVUoYywiTWFwIik7ZnVuY3Rpb24gSyh0LGUpe3ZhciByLG4sbz10Ll9fZGF0YV9fO3JldHVybigic3RyaW5nIj09KG49dHlwZW9mKHI9ZSkpfHwibnVtYmVyIj09bnx8InN5bWJvbCI9PW58fCJib29sZWFuIj09bj8iX19wcm90b19fIiE9PXI6bnVsbD09PXIpP29bInN0cmluZyI9PXR5cGVvZiBlPyJzdHJpbmciOiJoYXNoIl06by5tYXB9ZnVuY3Rpb24gUSh0KXt2YXIgZT0tMSxyPW51bGw9PXQ/MDp0Lmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrZTxyOyl7dmFyIG49dFtlXTt0aGlzLnNldChuWzBdLG5bMV0pfX1RLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuc2l6ZT0wLHRoaXMuX19kYXRhX189e2hhc2g6bmV3IHEsbWFwOm5ldyhKfHxIKSxzdHJpbmc6bmV3IHF9fSxRLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24odCl7dmFyIGU9Syh0aGlzLHQpLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplLT1lPzE6MCxlfSxRLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIEsodGhpcyx0KS5nZXQodCl9LFEucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gSyh0aGlzLHQpLmhhcyh0KX0sUS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9Syh0aGlzLHQpLG49ci5zaXplO3JldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZSs9ci5zaXplPT1uPzA6MSx0aGlzfTt2YXIgVj0iRXhwZWN0ZWQgYSBmdW5jdGlvbiI7ZnVuY3Rpb24gWCh0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0fHxudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKFYpO3ZhciByPWZ1bmN0aW9uKCl7dmFyIG49YXJndW1lbnRzLG89ZT9lLmFwcGx5KHRoaXMsbik6blswXSxpPXIuY2FjaGU7aWYoaS5oYXMobykpcmV0dXJuIGkuZ2V0KG8pO3ZhciB1PXQuYXBwbHkodGhpcyxuKTtyZXR1cm4gci5jYWNoZT1pLnNldChvLHUpfHxpLHV9O3JldHVybiByLmNhY2hlPW5ldyhYLkNhY2hlfHxRKSxyfVguQ2FjaGU9UTt2YXIgWSxaLHR0LGV0PS9bXi5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCQpKS9nLHJ0PS9cXChcXCk/L2csbnQ9KFk9ZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIDQ2PT09dC5jaGFyQ29kZUF0KDApJiZlLnB1c2goIiIpLHQucmVwbGFjZShldCwoZnVuY3Rpb24odCxyLG4sbyl7ZS5wdXNoKG4/by5yZXBsYWNlKHJ0LCIkMSIpOnJ8fHQpfSkpLGV9LFo9WChZLChmdW5jdGlvbih0KXtyZXR1cm4gNTAwPT09dHQuc2l6ZSYmdHQuY2xlYXIoKSx0fSkpLHR0PVouY2FjaGUsWiksb3Q9bnQ7dmFyIGl0PTEvMCx1dD1zP3MucHJvdG90eXBlOnZvaWQgMCxhdD11dD91dC50b1N0cmluZzp2b2lkIDA7ZnVuY3Rpb24gY3QodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O2lmKGkodCkpcmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLG89QXJyYXkobik7KytyPG47KW9bcl09ZSh0W3JdLHIsdCk7cmV0dXJuIG99KHQsY3QpKyIiO2lmKGoodCkpcmV0dXJuIGF0P2F0LmNhbGwodCk6IiI7dmFyIGU9dCsiIjtyZXR1cm4iMCI9PWUmJjEvdD09LWl0PyItMCI6ZX1mdW5jdGlvbiBzdCh0LGUpe3JldHVybiBpKHQpP3Q6ZnVuY3Rpb24odCxlKXtpZihpKHQpKXJldHVybiExO3ZhciByPXR5cGVvZiB0O3JldHVybiEoIm51bWJlciIhPXImJiJzeW1ib2wiIT1yJiYiYm9vbGVhbiIhPXImJm51bGwhPXQmJiFqKHQpKXx8bS50ZXN0KHQpfHwhTy50ZXN0KHQpfHxudWxsIT1lJiZ0IGluIE9iamVjdChlKX0odCxlKT9bdF06b3QoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/IiI6Y3QodCl9KHQpKX12YXIgZnQ9MS8wO2Z1bmN0aW9uIGx0KHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdHx8aih0KSlyZXR1cm4gdDt2YXIgZT10KyIiO3JldHVybiIwIj09ZSYmMS90PT0tZnQ/Ii0wIjplfWZ1bmN0aW9uIHB0KHQsZSxyKXt2YXIgbj1udWxsPT10P3ZvaWQgMDpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49KGU9c3QoZSx0KSkubGVuZ3RoO251bGwhPXQmJnI8bjspdD10W2x0KGVbcisrXSldO3JldHVybiByJiZyPT1uP3Q6dm9pZCAwfSh0LGUpO3JldHVybiB2b2lkIDA9PT1uP3I6bn1mdW5jdGlvbiB5dCh0KXtyZXR1cm4hKCFmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBTdHJpbmddIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0odCl8fCIiPT09dCl9ZnVuY3Rpb24gaHQodCl7bGV0IGU9ITE7aWYoeXQodCkpZT0haXNOYU4oTnVtYmVyKHQpKTtlbHNlIGlmKGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IE51bWJlcl0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSh0KSl7aWYoZnVuY3Rpb24odCl7cmV0dXJuIHQhPXR9KHQpKXJldHVybiExO2U9ITB9cmV0dXJuIGV9dmFyIHZ0PS9ccy87dmFyIGJ0PS9eXHMrLztmdW5jdGlvbiBndCh0KXtyZXR1cm4gdD90LnNsaWNlKDAsZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQubGVuZ3RoO2UtLSYmdnQudGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX0odCkrMSkucmVwbGFjZShidCwiIik6dH12YXIgZHQ9TmFOLF90PS9eWy0rXTB4WzAtOWEtZl0rJC9pLGp0PS9eMGJbMDFdKyQvaSxPdD0vXjBvWzAtN10rJC9pLG10PXBhcnNlSW50O3ZhciBTdD0xLzAsd3Q9MTc5NzY5MzEzNDg2MjMxNTdlMjkyO2Z1bmN0aW9uIFB0KHQpe3JldHVybiB0Pyh0PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZihqKHQpKXJldHVybiBkdDtpZihTKHQpKXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdC52YWx1ZU9mP3QudmFsdWVPZigpOnQ7dD1TKGUpP2UrIiI6ZX1pZigic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuIDA9PT10P3Q6K3Q7dD1ndCh0KTt2YXIgcj1qdC50ZXN0KHQpO3JldHVybiByfHxPdC50ZXN0KHQpP210KHQuc2xpY2UoMikscj8yOjgpOl90LnRlc3QodCk/ZHQ6K3R9KHQpKT09PVN0fHx0PT09LVN0Pyh0PDA/LTE6MSkqd3Q6dD09dD90OjA6MD09PXQ/dDowfWFzeW5jIGZ1bmN0aW9uIHh0KHQsZT17fSl7bGV0IHI9cHQoZSwiZnMiKSxuPXB0KGUsImNodW5rU2l6ZSIpO3ZhciBpO2lmKGh0KG4pfHwobj02NzEwODg2NCksbj1odChpPW4pP1B0KGkpOjAsIWZ1bmN0aW9uKHQsZT17fSl7bGV0IHI9cHQoZSwiZnMiKTtyZXR1cm4hIXIuZXhpc3RzU3luYyh0KSYmIXIubHN0YXRTeW5jKHQpLmlzRGlyZWN0b3J5KCkmJiFyLmxzdGF0U3luYyh0KS5pc1N5bWJvbGljTGluaygpfSh0LHtmczpyfSkpcmV0dXJuIFByb21pc2UucmVqZWN0KCJmcCBpcyBub3QgYSBmaWxlIik7bGV0IHU9ZnVuY3Rpb24oKXtsZXQgdCxlLHI9bmV3IFByb21pc2UoKGZ1bmN0aW9uKCl7dD1hcmd1bWVudHNbMF0sZT1hcmd1bWVudHNbMV19KSk7cmV0dXJuIHIucmVzb2x2ZT10LHIucmVqZWN0PWUscn0oKTt0cnl7bGV0e2NyZWF0ZTY0OmV9PWF3YWl0IGFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2NvbnN0e2V4cG9ydHM6e21lbTplLHh4aDMyOnIseHhoNjQ6bixpbml0MzI6byx1cGRhdGUzMjppLGRpZ2VzdDMyOnUsaW5pdDY0OmEsdXBkYXRlNjQ6YyxkaWdlc3Q2NDpzfX09dDtsZXQgZj1uZXcgVWludDhBcnJheShlLmJ1ZmZlcik7ZnVuY3Rpb24gbCh0LHIpe2lmKGUuYnVmZmVyLmJ5dGVMZW5ndGg8dCtyKXtjb25zdCBuPU1hdGguY2VpbCgodCtyLWUuYnVmZmVyLmJ5dGVMZW5ndGgpLzY1NTM2KTtlLmdyb3cobiksZj1uZXcgVWludDhBcnJheShlLmJ1ZmZlcil9fWZ1bmN0aW9uIHAodCxlLHIsbixvLGkpe2wodCk7Y29uc3QgdT1uZXcgVWludDhBcnJheSh0KTtyZXR1cm4gZi5zZXQodSkscigwLGUpLHUuc2V0KGYuc3ViYXJyYXkoMCx0KSkse3VwZGF0ZShlKXtsZXQgcjtyZXR1cm4gZi5zZXQodSksInN0cmluZyI9PXR5cGVvZiBlPyhsKDMqZS5sZW5ndGgsdCkscj1iLmVuY29kZUludG8oZSxmLnN1YmFycmF5KHQpKS53cml0dGVuKToobChlLmJ5dGVMZW5ndGgsdCksZi5zZXQoZSx0KSxyPWUuYnl0ZUxlbmd0aCksbigwLHQsciksdS5zZXQoZi5zdWJhcnJheSgwLHQpKSx0aGlzfSxkaWdlc3Q6KCk9PihmLnNldCh1KSxpKG8oMCkpKX19ZnVuY3Rpb24geSh0KXtyZXR1cm4gdD4+PjB9Y29uc3QgaD0ybioqNjRuLTFuO2Z1bmN0aW9uIHYodCl7cmV0dXJuIHQmaH1jb25zdCBiPW5ldyBUZXh0RW5jb2RlcixnPTAsZD0wbjtmdW5jdGlvbiBfKHQsZT1nKXtyZXR1cm4gbCgzKnQubGVuZ3RoLDApLHkocigwLGIuZW5jb2RlSW50byh0LGYpLndyaXR0ZW4sZSkpfWZ1bmN0aW9uIGoodCxlPWQpe3JldHVybiBsKDMqdC5sZW5ndGgsMCksdihuKDAsYi5lbmNvZGVJbnRvKHQsZikud3JpdHRlbixlKSl9cmV0dXJue2gzMjpfLGgzMlRvU3RyaW5nOih0LGU9Zyk9Pl8odCxlKS50b1N0cmluZygxNikucGFkU3RhcnQoOCwiMCIpLGgzMlJhdzoodCxlPWcpPT4obCh0LmJ5dGVMZW5ndGgsMCksZi5zZXQodCkseShyKDAsdC5ieXRlTGVuZ3RoLGUpKSksY3JlYXRlMzI6KHQ9Zyk9PnAoNDgsdCxvLGksdSx5KSxoNjQ6aixoNjRUb1N0cmluZzoodCxlPWQpPT5qKHQsZSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDE2LCIwIiksaDY0UmF3Oih0LGU9ZCk9PihsKHQuYnl0ZUxlbmd0aCwwKSxmLnNldCh0KSx2KG4oMCx0LmJ5dGVMZW5ndGgsZSkpKSxjcmVhdGU2NDoodD1kKT0+cCg4OCx0LGEsYyxzLHYpfX0oKGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKG8pKS5pbnN0YW5jZSl9KCksaT1lKCksYT1yLmNyZWF0ZVJlYWRTdHJlYW0odCx7aGlnaFdhdGVyTWFyazpufSk7YS5vbigiZGF0YSIsKHQ9PntpLnVwZGF0ZSh0KX0pKSxhLm9uKCJlbmQiLCgoKT0+e2xldCB0PWkuZGlnZXN0KCkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDE2LCIwIik7dS5yZXNvbHZlKHQpfSkpLGEub24oImVycm9yIix1LnJlamVjdCl9Y2F0Y2godCl7dS5yZWplY3QodC50b1N0cmluZygpKX1yZXR1cm4gdX1mdW5jdGlvbiB6dCh0LGUpe3ZhciByPU9iamVjdC5rZXlzKHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7ZSYmKG49bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gQXQoZSxyPXt9KXtyZXR1cm4geHQoZSxmdW5jdGlvbih0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj96dChPYmplY3QociksITApLmZvckVhY2goKGZ1bmN0aW9uKGUpe24odCxlLHJbZV0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMocikpOnp0KE9iamVjdChyKSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIsZSkpfSkpfXJldHVybiB0fSh7ZnM6dH0scikpfWxldCBjYWxjRmlsZUhhc2g9ZnVuY3Rpb24odCl7cmV0dXJuIEF0KHQpfTsKCgpsZXQgaW5zdGFuY2UgPSBudWxsCmZ1bmN0aW9uIGluaXQoaW5wdXQpewoKICAgIC8vaW5pdAogICAgbGV0IHIKICAgIAogICAgICAgIHIgPSB7CiAgICAgICAgICAgIG1haW46IGNhbGNGaWxlSGFzaAogICAgICAgIH0KICAgICAgICAKCiAgICAvL29uCiAgICAKCiAgICAvL3NhdmUKICAgIGluc3RhbmNlID0gcgoKfQoKZnVuY3Rpb24gc2VuZE1lc3NhZ2UoZGF0YSkgewogICAgCiAgICAgICAgc2VsZi5wb3N0TWVzc2FnZShkYXRhKQogICAgICAgIAp9Cgphc3luYyBmdW5jdGlvbiBydW4oZGF0YSkgewogICAgLy8gY29uc29sZS5sb2coJ2lubmVyIHdvcmtlciBydW4nLGRhdGEpCgogICAgLy9tb2RlCiAgICBsZXQgbW9kZSA9IGRhdGEubW9kZQoKICAgIC8vY2hlY2sKICAgIGlmKG1vZGUgIT09ICdpbml0JyAmJiBtb2RlICE9PSAnY2FsbCcpewogICAgICAgIHJldHVybgogICAgfQoKICAgIC8vaW5pdAogICAgaWYobW9kZSA9PT0gJ2luaXQnKXsKICAgICAgICAKICAgICAgICB0cnl7CgogICAgICAgICAgICAvL3R5cGUKICAgICAgICAgICAgbGV0IHR5cGUgPSBkYXRhLnR5cGUKCiAgICAgICAgICAgIC8vaW5wdXQKICAgICAgICAgICAgbGV0IGlucHV0ID0gZGF0YS5pbnB1dAogICAgCiAgICAgICAgICAgIC8vaW5zdGFuY2UKICAgICAgICAgICAgaWYodHlwZSA9PT0gJ2Z1bmN0aW9uJyl7CiAgICAgICAgICAgICAgICBpbml0KC4uLmlucHV0KQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYodHlwZSA9PT0gJ29iamVjdCcpewogICAgICAgICAgICAgICAgaW5zdGFuY2UgPSBjYWxjRmlsZUhhc2gKICAgICAgICAgICAgfQoKICAgICAgICB9CiAgICAgICAgY2F0Y2goZXJyKXsKICAgICAgICAKICAgICAgICAgICAgLy9zZW5kTWVzc2FnZQogICAgICAgICAgICBsZXQgcmVzID0gewogICAgICAgICAgICAgICAgbW9kZTogJ2VtaXQnLAogICAgICAgICAgICAgICAgZXZOYW1lOiAnZXJyb3InLAogICAgICAgICAgICAgICAgbXNnOiBlcnIsCiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2VuZE1lc3NhZ2UocmVzKQoKICAgICAgICB9CiAgICAgICAgICAgIAogICAgfQoKICAgIC8vY2hlY2sKICAgIGlmKG1vZGUgPT09ICdjYWxsJyl7CiAgICAgICAgbGV0IHN0YXRlID0gJycKICAgICAgICBsZXQgbXNnID0gbnVsbAoKICAgICAgICB0cnl7CgogICAgICAgICAgICAvL2Z1bgogICAgICAgICAgICBsZXQgZnVuID0gaW5zdGFuY2VbZGF0YS5mdW5dCgogICAgICAgICAgICAvL2lucHV0CiAgICAgICAgICAgIGxldCBpbnB1dCA9IGRhdGEuaW5wdXQKCiAgICAgICAgICAgIC8vZXhlYwogICAgICAgICAgICBhd2FpdCBmdW4oLi4uaW5wdXQpCiAgICAgICAgICAgICAgICAudGhlbigoc3VjKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgc3RhdGU9J3N1Y2Nlc3MnCiAgICAgICAgICAgICAgICAgICAgbXNnPXN1YwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgc3RhdGU9J2Vycm9yJwogICAgICAgICAgICAgICAgICAgIG1zZz1lcnIKICAgICAgICAgICAgICAgIH0pCgogICAgICAgIH0KICAgICAgICBjYXRjaChlcnIpewogICAgICAgICAgICBzdGF0ZSA9ICdlcnJvcicKICAgICAgICAgICAgbXNnID0gZXJyCiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vc2VuZE1lc3NhZ2UKICAgICAgICBsZXQgcmVzID0gewogICAgICAgICAgICBtb2RlOiAncmV0dXJuJywKICAgICAgICAgICAgaWQ6IGRhdGEuaWQsCiAgICAgICAgICAgIGZ1bjogZGF0YS5mdW4sCiAgICAgICAgICAgIHN0YXRlLAogICAgICAgICAgICBtc2csCiAgICAgICAgfQogICAgICAgIHNlbmRNZXNzYWdlKHJlcykKCiAgICB9Cgp9CgpmdW5jdGlvbiByZWN2TWVzc2FnZShkYXRhKSB7CiAgICAvLyBjb25zb2xlLmxvZygnaW5uZXIgd29ya2VyIHJlY3Y6JywgZGF0YSkKCiAgICAvL2RhdGFSZWN2CiAgICBsZXQgZGF0YVJlY3YgPSBkYXRhCgogICAgLy9ydW4KICAgIHJ1bihkYXRhUmVjdikKCn0KCgogICAgICAgIHNlbGYub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgcmVjdk1lc3NhZ2UoZS5kYXRhKQogICAgICAgIH0KICAgICAgICAKCnRyeXsKICAgIHByb2Nlc3Mub24oJ3VuaGFuZGxlZFJlamVjdGlvbicsIChlcnIpID0+IHsKICAgICAgICBjb25zb2xlLmxvZygnaW5uZXI6dW5oYW5kbGVkUmVqZWN0aW9uJywgZXJyKQogICAgfSkKICAgIHByb2Nlc3Mub24oJ3VuY2F1Z2h0RXhjZXB0aW9uJywgKGVycikgPT4gewogICAgICAgIGNvbnNvbGUubG9nKCdpbm5lcjp1bmNhdWdodEV4Y2VwdGlvbicsIGVycikKICAgIH0pCiAgICBwcm9jZXNzLm9uKCd1bmNhdWdodEV4Y2VwdGlvbk1vbml0b3InLCAoZXJyKSA9PiB7CiAgICAgICAgY29uc29sZS5sb2coJ2lubmVyOnVuY2F1Z2h0RXhjZXB0aW9uTW9uaXRvcicsIGVycikKICAgIH0pCn0KY2F0Y2goZXJyKXt9Cgo=");function e(){let e=new g,s=function(t){try{let e=new Blob([t]),s=window.URL||window.webkitURL;return new Worker(s.createObjectURL(e))}catch(t){n(t)}}(t);if(!s)return n("invalid worker"),null;function i(){let t=function(){let t,e,s=new Promise((function(){t=arguments[0],e=arguments[1]}));return s.resolve=t,s.reject=e,s}(),i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=[],s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),i=s.length;for(let n=0;n<t;n++)e[n]=s[0|Math.random()*i];return e.join("")}(),n={mode:"call",id:i,fun:"main",input:[...arguments]};return s.postMessage(n),e.once(i,(e=>{"success"===e.state?t.resolve(e.msg):t.reject(e.msg)})),t}function n(t){e.emit("error",t)}return s.onmessage=function(t){!function(t){let s=t,i=s.mode;"emit"!==i&&"return"!==i||("emit"===i&&e.emit(s.evName,s.msg),"return"===i&&e.emit(s.id,s))}(t.data)},s.onerror=n,s.onmessageerror=function(t){n(t.data)},function(){let t={mode:"init",type:"function",input:[...arguments]};s.postMessage(t)}([...arguments]),e.main=i,e.main=i,e.terminate=function(){s?(s.terminate(),s=void 0):n("worker has been terminated")},e}a=async function(){let t=[...arguments],s=e();return await s.main(...t).finally((()=>{s.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 a}()}({get exports(){return i},set exports(t){i=t}});var n=i;let M;return M="undefined"!=typeof window&&void 0!==window.document?n:s,M}(M)}({get exports(){return Cn},set exports(t){Cn=t}});var Dn=Cn,un={};!function(t,e){t.exports=function(t){var e={};!function(e,s){e.exports=function(t){var e={};!function(t){var e=Object.prototype.hasOwnProperty,s="~";function i(){}function n(t,e,s){this.fn=t,this.context=e,this.once=s||!1}function M(t,e,i,M,c){if("function"!=typeof i)throw new TypeError("The listener must be a function");var I=new n(i,M||t,c),w=s?s+e:e;return t._events[w]?t._events[w].fn?t._events[w]=[t._events[w],I]:t._events[w].push(I):(t._events[w]=I,t._eventsCount++),t}function c(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function I(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(s=!1)),I.prototype.eventNames=function(){var t,i,n=[];if(0===this._eventsCount)return n;for(i in t=this._events)e.call(t,i)&&n.push(s?i.slice(1):i);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},I.prototype.listeners=function(t){var e=s?s+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,M=i.length,c=new Array(M);n<M;n++)c[n]=i[n].fn;return c},I.prototype.listenerCount=function(t){var e=s?s+t:t,i=this._events[e];return i?i.fn?1:i.length:0},I.prototype.emit=function(t,e,i,n,M,c){var I=s?s+t:t;if(!this._events[I])return!1;var w,o,l=this._events[I],r=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),r){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,i),!0;case 4:return l.fn.call(l.context,e,i,n),!0;case 5:return l.fn.call(l.context,e,i,n,M),!0;case 6:return l.fn.call(l.context,e,i,n,M,c),!0}for(o=1,w=new Array(r-1);o<r;o++)w[o-1]=arguments[o];l.fn.apply(l.context,w)}else{var d,L=l.length;for(o=0;o<L;o++)switch(l[o].once&&this.removeListener(t,l[o].fn,void 0,!0),r){case 1:l[o].fn.call(l[o].context);break;case 2:l[o].fn.call(l[o].context,e);break;case 3:l[o].fn.call(l[o].context,e,i);break;case 4:l[o].fn.call(l[o].context,e,i,n);break;default:if(!w)for(d=1,w=new Array(r-1);d<r;d++)w[d-1]=arguments[d];l[o].fn.apply(l[o].context,w)}}return!0},I.prototype.on=function(t,e,s){return M(this,t,e,s,!1)},I.prototype.once=function(t,e,s){return M(this,t,e,s,!0)},I.prototype.removeListener=function(t,e,i,n){var M=s?s+t:t;if(!this._events[M])return this;if(!e)return c(this,M),this;var I=this._events[M];if(I.fn)I.fn!==e||n&&!I.once||i&&I.context!==i||c(this,M);else{for(var w=0,o=[],l=I.length;w<l;w++)(I[w].fn!==e||n&&!I[w].once||i&&I[w].context!==i)&&o.push(I[w]);o.length?this._events[M]=1===o.length?o[0]:o:c(this,M)}return this},I.prototype.removeAllListeners=function(t){var e;return t?(e=s?s+t:t,this._events[e]&&c(this,e)):(this._events=new i,this._eventsCount=0),this},I.prototype.off=I.prototype.removeListener,I.prototype.addListener=I.prototype.on,I.prefixed=s,I.EventEmitter=I,t.exports=I}({get exports(){return e},set exports(t){e=t}});var s=e;let i;!function(){if("nodejs"!=("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let e=(n="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(n,"base64").toString("utf8"));var n;function M(){let i=new s,n=function(e){try{return new t.Worker(e,{eval:!0})}catch(t){c(t)}}(e);if(!n)return c("invalid worker"),null;function M(){let t=function(){let t,e,s=new Promise((function(){t=arguments[0],e=arguments[1]}));return s.resolve=t,s.reject=e,s}(),e=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=[],s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),i=s.length;for(let n=0;n<t;n++)e[n]=s[0|Math.random()*i];return e.join("")}(),s={mode:"call",id:e,fun:"main",input:[...arguments]};return n.postMessage(s),i.once(e,(e=>{"success"===e.state?t.resolve(e.msg):t.reject(e.msg)})),t}function c(t){i.emit("error",t)}return n.on("message",(function(t){let e=t,s=e.mode;"emit"!==s&&"return"!==s||("emit"===s&&i.emit(e.evName,e.msg),"return"===s&&i.emit(e.id,e))})),n.on("error",c),n.on("exit",(t=>{1!==t&&c("exit code["+t+"] !== 1")})),function(){let t={mode:"init",type:"function",input:[...arguments]};n.postMessage(t)}([...arguments]),i.main=M,i.main=M,i.terminate=function(){n?(n.terminate(),n=void 0):c("worker has been terminated")},i}i=async function(){let t=[...arguments],e=M();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 i}(t)}({get exports(){return e},set exports(t){e=t}});var s=e,i={};!function(t,e){t.exports=function(){const t="function"==typeof Buffer,e="function"==typeof TextDecoder?new TextDecoder:void 0,s=(t=>{let e={};return t.forEach(((t,s)=>e[t]=s)),e})(("function"==typeof TextEncoder&&new TextEncoder,Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="))),i=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,n=String.fromCharCode.bind(String),M="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,""),I=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,w=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 n(55296+(e>>>10))+n(56320+(1023&e));case 3:return n((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return n((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},o=t=>t.replace(I,w),l=t=>{if(t=t.replace(/\s+/g,""),!i.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));let e,M,c,I="";for(let i=0;i<t.length;)e=s[t.charAt(i++)]<<18|s[t.charAt(i++)]<<12|(M=s[t.charAt(i++)])<<6|(c=s[t.charAt(i++)]),I+=64===M?n(e>>16&255):64===c?n(e>>16&255,e>>8&255):n(e>>16&255,e>>8&255,255&e);return I},r="function"==typeof atob?t=>atob(c(t)):t?t=>Buffer.from(t,"base64").toString("binary"):l,d=t?t=>M(Buffer.from(t,"base64")):t=>M(r(t).split("").map((t=>t.charCodeAt(0)))),L=t?t=>Buffer.from(t,"base64").toString("utf8"):e?t=>e.decode(d(t)):t=>o(r(t)),y=t=>c(t.replace(/[-_]/g,(t=>"-"==t?"+":"/"))),C=t=>L(y(t)),D=C;var u={};!function(t){var e=Object.prototype.hasOwnProperty,s="~";function i(){}function n(t,e,s){this.fn=t,this.context=e,this.once=s||!1}function M(t,e,i,M,c){if("function"!=typeof i)throw new TypeError("The listener must be a function");var I=new n(i,M||t,c),w=s?s+e:e;return t._events[w]?t._events[w].fn?t._events[w]=[t._events[w],I]:t._events[w].push(I):(t._events[w]=I,t._eventsCount++),t}function c(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function I(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(s=!1)),I.prototype.eventNames=function(){var t,i,n=[];if(0===this._eventsCount)return n;for(i in t=this._events)e.call(t,i)&&n.push(s?i.slice(1):i);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},I.prototype.listeners=function(t){var e=s?s+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,M=i.length,c=new Array(M);n<M;n++)c[n]=i[n].fn;return c},I.prototype.listenerCount=function(t){var e=s?s+t:t,i=this._events[e];return i?i.fn?1:i.length:0},I.prototype.emit=function(t,e,i,n,M,c){var I=s?s+t:t;if(!this._events[I])return!1;var w,o,l=this._events[I],r=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),r){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,i),!0;case 4:return l.fn.call(l.context,e,i,n),!0;case 5:return l.fn.call(l.context,e,i,n,M),!0;case 6:return l.fn.call(l.context,e,i,n,M,c),!0}for(o=1,w=new Array(r-1);o<r;o++)w[o-1]=arguments[o];l.fn.apply(l.context,w)}else{var d,L=l.length;for(o=0;o<L;o++)switch(l[o].once&&this.removeListener(t,l[o].fn,void 0,!0),r){case 1:l[o].fn.call(l[o].context);break;case 2:l[o].fn.call(l[o].context,e);break;case 3:l[o].fn.call(l[o].context,e,i);break;case 4:l[o].fn.call(l[o].context,e,i,n);break;default:if(!w)for(d=1,w=new Array(r-1);d<r;d++)w[d-1]=arguments[d];l[o].fn.apply(l[o].context,w)}}return!0},I.prototype.on=function(t,e,s){return M(this,t,e,s,!1)},I.prototype.once=function(t,e,s){return M(this,t,e,s,!0)},I.prototype.removeListener=function(t,e,i,n){var M=s?s+t:t;if(!this._events[M])return this;if(!e)return c(this,M),this;var I=this._events[M];if(I.fn)I.fn!==e||n&&!I.once||i&&I.context!==i||c(this,M);else{for(var w=0,o=[],l=I.length;w<l;w++)(I[w].fn!==e||n&&!I[w].once||i&&I[w].context!==i)&&o.push(I[w]);o.length?this._events[M]=1===o.length?o[0]:o:c(this,M)}return this},I.prototype.removeAllListeners=function(t){var e;return t?(e=s?s+t:t,this._events[e]&&c(this,e)):(this._events=new i,this._eventsCount=0),this},I.prototype.off=I.prototype.removeListener,I.prototype.addListener=I.prototype.on,I.prefixed=s,I.EventEmitter=I,t.exports=I}({get exports(){return u},set exports(t){u=t}});var g=u;let a;!function(){if("browser"!=("undefined"!=typeof window&&void 0!==window.document?"browser":"nodejs"))return null;let t=D("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 g,s=function(t){try{let e=new Blob([t]),s=window.URL||window.webkitURL;return new Worker(s.createObjectURL(e))}catch(t){n(t)}}(t);if(!s)return n("invalid worker"),null;function i(){let t=function(){let t,e,s=new Promise((function(){t=arguments[0],e=arguments[1]}));return s.resolve=t,s.reject=e,s}(),i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,e=[],s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),i=s.length;for(let n=0;n<t;n++)e[n]=s[0|Math.random()*i];return e.join("")}(),n={mode:"call",id:i,fun:"main",input:[...arguments]};return s.postMessage(n),e.once(i,(e=>{"success"===e.state?t.resolve(e.msg):t.reject(e.msg)})),t}function n(t){e.emit("error",t)}return s.onmessage=function(t){!function(t){let s=t,i=s.mode;"emit"!==i&&"return"!==i||("emit"===i&&e.emit(s.evName,s.msg),"return"===i&&e.emit(s.id,s))}(t.data)},s.onerror=n,s.onmessageerror=function(t){n(t.data)},function(){let t={mode:"init",type:"function",input:[...arguments]};s.postMessage(t)}([...arguments]),e.main=i,e.main=i,e.terminate=function(){s?(s.terminate(),s=void 0):n("worker has been terminated")},e}a=async function(){let t=[...arguments],s=e();return await s.main(...t).finally((()=>{s.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 a}()}({get exports(){return i},set exports(t){i=t}});var n=i;let M;return M="undefined"!=typeof window&&void 0!==window.document?n:s,M}(M)}({get exports(){return un},set exports(t){un=t}});var gn=un;return function(){let M=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=mt(M,"port");Ns(c)||(c=8080);let I=mt(M,"useInert");Xs(I)||(I=!0);let w=mt(M,"pathStaticFiles");qe(w)||(w="dist");let o=mt(M,"apiName");qe(o)||(o="api");let l=mt(M,"pathUploadTemp");qe(l)||(l="./uploadTemp"),ri(l,{fs:e})||di(l);let r=mt(M,"tokenType");qe(r)||(r="Bearer");let d=mt(M,"sizeSlice");Ns(d)||(d=1048576);let L=mt(M,"verifyConn");(function(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e})(L)||(L=()=>!0);let y=mt(M,"corsOrigins",[]);Zs(y)||(y=["*"]);let C=mt(M,"delayForBasic","");ms(C)||(C=0),C=ps(C);let D=mt(M,"delayForSlice","");ms(D)||(D=100),D=ps(D);let u=null;u=mt(M,"serverHapi")?M.serverHapi:i.server({port:c,routes:{timeout:{server:!1,socket:!1},cors:{origin:y,credentials:!1}}});let g=new ke,a=function(t){for(var e=arguments.length,s=new Array(e>1?e-1:0),i=1;i<e;i++)s[i-1]=arguments[i];setTimeout((()=>{g.emit(t,...s)}),1)};async function p(t){let e=Re(),s=Re();return s.then((t=>{e.resolve(t)})).catch((t=>{e.reject(t)})),a("download",t,s),e}function m(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=new s.Readable;n._read=()=>{},n.push(e),n.push(null);let M=mt(i,"returnType",""),c=mt(i,"returnMsg",""),I=t.response(n).header("Cache-Control","no-cache, no-store, must-revalidate").header("Content-Type","application/octet-stream").header("Content-Length",n.readableLength);return qe(M)&&I.header("Return-Type",M),qe(c)&&I.header("Return-Msg",c),I}function N(t,e){return qe(e)||(console.log("msg",e),console.log("msg is not an effective string, set msg=''"),e=""),m(t,ni({error:e}),{returnType:"error",returnMsg:e})}let b={path:`/${o}`,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 i=mt(t,"headers");i=Fe(i)?i:"";let n=mt(t,"query");n=Fe(n)?n:"";let M=mt(i,"authorization","");M=qe(M)?M:"";{let t=L({apiType:"main",authorization:M,headers:i,query:n});if(Ts(t)&&(t=await t),!0!==t)return N(e,"permission denied")}a("handler",{api:"apiMain",headers:i,query:n});let c=await(()=>{let e=Re(),i=[],n=new s.Writable({write(t,e,s){i.push(t),setTimeout((()=>{s()}),C)}});return t.payload.pipe(n),t.payload.on("end",(()=>{let t=Buffer.concat(i);i=[],e.resolve(t)})),t.payload.on("error",(t=>{a("error","receive payload err"),e.reject(t.message)})),e})(),I=oi(new Uint8Array(c)),w={},o="",l="";return await async function(t){let e=Re(),s=Re();s.then((s=>{t.output=s,delete t.input,e.resolve(t)})).catch((t=>{e.reject(t)}));{let e=mt(t,"func",""),i=mt(t,"input",null);a("execute",e,i,s)}return e}(I).then((t=>{w.success=t,o="success",l="need to parse"})).catch((t=>{w.error=t,o="error",l="need to parse"})),m(e,ni(w),{returnType:o,returnMsg:l})}},x={path:`/${o}ulck`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(s,i){let n=mt(s,"headers");n=Fe(n)?n:"";let M=mt(s,"query");M=Fe(M)?M:"";let c=mt(n,"authorization","");c=qe(c)?c:"";{let t=L({apiType:"upload-check",authorization:c,headers:n,query:M});if(Ts(t)&&(t=await t),!0!==t)return N(i,"permission denied")}a("handler",{api:"apiUploadCheck",headers:n,query:M});let I=mt(s,"payload.mode","");if("check-total-hash"!==I&&"check-slices-hash"!==I)return N(i,`invalid mode[${I}] in payload`);let w=mt(s,"payload.fileHash","");if(!qe(w))return N(i,"invalid fileHash in payload");let o=async()=>{let i=t.join(l,w),n=!1;n=li(i);let M=mt(s,"payload.fileSize","");if(!Ls(M)){return{error:"invalid fileSize in payload"}}let c=!1;if(n){c=M===e.statSync(i).size}let I=!1;n&&c&&await Dn(i).then((t=>{I=w===t})).catch((t=>{console.log(t),console.log("fsIsFile(pathFile)",i,li(i)),I=!1}));let o=function(s){return dn(s,arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,{path:t,fs:e})}(l),r=[];ce(o,((t,s)=>{let i=t.name.indexOf(`${w}_`)>=0,n=e.statSync(t.path).size===d;i&&n&&r.push(s)}));let L=Qe(r)>0;return{success:{path:i,bAllExist:n,bAllSize:c,bAllHash:I,bSls:L,slks:r}}},r=null;if("check-total-hash"===I?r=await o():"check-slices-hash"===I&&(r=await(async()=>{let i=mt(s,"payload.fileSliceHashs",[]);if(0===Qe(i))return{error:"no fileSliceHashs"};let n=[];for(let s=0;s<i.length;s++){let M=i[s],c=t.join(l,`${w}_${M.i}`),I="";await yn(new Blob([e.readFileSync(c)])).then((t=>{I=t})).catch((t=>{console.log(t),console.log("fsIsFile(_pathFile)",c,li(c))})),M.h===I&&n.push(M.i)}return{success:{slks:n}}})()),r.error)return N(i,r.error);return m(i,ni(r),{returnType:"success",returnMsg:"need to parse"})}},A={path:`/${o}slc`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,output:"stream",parse:!1},timeout:{server:!1,socket:!1}},handler:async function(s,i){let n=mt(s,"headers");n=Fe(n)?n:"";let M=mt(s,"query");M=Fe(M)?M:"";let c=mt(n,"authorization","");c=qe(c)?c:"";{let t=L({apiType:"upload-slice",authorization:c,headers:n,query:M});if(Ts(t)&&(t=await t),!0!==t)return N(i,"permission denied")}a("handler",{api:"apiUploadSlice",headers:n,query:M});let I=mt(n,"chunk-index",""),w=mt(n,"chunk-total",""),o=mt(n,"package-id","");if(!ms(I))return console.log("invalid chunkIndex in headers"),i.response({error:"invalid chunkIndex in headers"}).code(400);if(I=ps(I),!ms(w))return console.log("invalid chunkTotal in headers"),i.response({error:"invalid chunkTotal in headers"}).code(400);if(w=ps(w),!qe(o))return console.log("invalid packageId in headers"),i.response({error:"invalid packageId in headers"}).code(400);let r=t.join(l,`${o}_${I}`),d=e.createWriteStream(r),y={},C="",u="";return await(()=>{let t=Re();return s.payload.pipe(d),s.payload.on("end",(()=>{setTimeout((()=>{t.resolve(`chunk[${I}/${w}] of packageId[${o}] done`)}),D)})),s.payload.on("error",(e=>{a("error",`receive chunk[${I}/${w}] of packageId[${o}] err`),t.reject(`apiUploadSlice receive error: ${e.message}`)})),t})().then((t=>{y.success=t,C="success",u="need to parse"})).catch((t=>{y.error=t,C="error",u="need to parse",a("error",t)})),m(i,ni(y),{returnType:C,returnMsg:u})}},Z={path:`/${o}slcm`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(t,e){let s=mt(t,"headers");s=Fe(s)?s:"";let i=mt(t,"query");i=Fe(i)?i:"";let n=mt(s,"authorization","");n=qe(n)?n:"";{let t=L({apiType:"upload-slice-merge",authorization:n,headers:s,query:i});if(Ts(t)&&(t=await t),!0!==t)return N(e,"permission denied")}a("handler",{api:"apiUploadSliceMerge",headers:s,query:i});let M=mt(t,"payload.filename",""),c=mt(t,"payload.chunk-total",""),I=mt(t,"payload.package-id","");if(!qe(M))return console.log("invalid filename in payload"),e.response({error:"invalid filename in payload"}).code(400);if(!ms(c))return console.log("invalid chunkTotal in payload"),e.response({error:"invalid chunkTotal in payload"}).code(400);if(c=ps(c),!qe(I))return console.log("invalid packageId in payload"),e.response({error:"invalid packageId in payload"}).code(400);let w={},o="",r="";return await(async()=>{let t=await gn(l,I,c,M);return await async function(t){let e=Re(),s=Re();return s.then((t=>{e.resolve(t)})).catch((t=>{e.reject(t)})),a("upload",t,s),e}(t)})().then((t=>{w.success=t,o="success",r="need to parse"})).catch((t=>{w.error=t,o="error",r="need to parse",a("error",`${t.message}`)})),m(e,ni(w),{returnType:o,returnMsg:r})}},h={path:`/${o}dwgfn`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(t,e){let s=mt(t,"headers");s=Fe(s)?s:"";let i=mt(t,"query");i=Fe(i)?i:"";let n=mt(s,"authorization","");n=qe(n)?n:"";{let t=L({apiType:"download-get-filename",authorization:n,headers:s,query:i});if(Ts(t)&&(t=await t),!0!==t)return N(e,"permission denied")}a("handler",{api:"apiDownloadGetFilename",headers:s,query:i});let M=mt(t,"payload.fileId","");if(!qe(M))return N(e,"invalid fileId in payload");let c={fileId:M},I={},w="",o="";await p(c).then((t=>{I.success=t,w="success",o="need to parse"})).catch((t=>{I.error=t,w="error",o="need to parse"}));let l=mt(I,"success"),r=mt(l,"streamRead");try{r.destroy()}catch(t){}let d=mt(l,"filename");return qe(d)?(I={success:{filename:d}},m(e,ni(I),{returnType:w,returnMsg:o})):N(e,"invalid filename")}},X={path:`/${o}dwgf`,method:"GET",options:{timeout:{server:!1,socket:!1}},handler:async function(t,e){let s=mt(t,"headers");s=Fe(s)?s:"";let i=mt(t,"query");i=Fe(i)?i:"";let n=mt(i,"token","");n=qe(n)?n:"";let M="";qe(n)&&(M=`${r} ${n}`);{let t=L({apiType:"download-get-file",authorization:M,headers:s,query:i});if(Ts(t)&&(t=await t),!0!==t)return N(e,"permission denied")}a("handler",{api:"apiDownloadGetFilename",headers:s,query:i});let c=mt(i,"fileId","");if(c=qe(c)?c:"",!qe(c))return N(e,"invalid fileId in query");let I={fileId:c},w={};if(await p(I).then((t=>{w.success=t})).catch((t=>{w.error=t})),vs(w,"error"))return N(e,"can not get file from fileId");let o=mt(w,"success"),l=mt(o,"streamRead"),d=mt(o,"fileSize");if(!Je(d)){try{l.destroy()}catch(t){}return N(e,"invalid fileSize")}let y=mt(o,"fileType");if(!qe(y)){try{l.destroy()}catch(t){}return N(e,"invalid fileType")}return y=fs(y),e.response(l).type(y).header("Content-Length",d)}},T={path:`/${o}dw`,method:"POST",options:{payload:{maxBytes:1099511627776,maxParts:1e9,timeout:!1,parse:!0},timeout:{server:!1,socket:!1}},handler:async function(t,e){let s=mt(t,"headers");s=Fe(s)?s:"";let i=mt(t,"query");i=Fe(i)?i:"";let n=mt(s,"authorization","");n=qe(n)?n:"";{let t=L({apiType:"download",authorization:n,headers:s,query:i});if(Ts(t)&&(t=await t),!0!==t)return N(e,"permission denied")}a("handler",{api:"apiDownload",headers:s,query:i});let M=mt(t,"payload.fileId","");if(!qe(M))return N(e,"invalid fileId in payload");let c={fileId:M},I={};if(await p(c).then((t=>{I.success=t})).catch((t=>{I.error=t})),vs(I,"error"))return N(e,"can not get file from fileId");let w=mt(I,"success"),o=mt(w,"streamRead"),l=mt(w,"filename");if(!qe(l)){try{o.destroy()}catch(t){}return N(e,"invalid filename")}l=Vs(l);let r=mt(w,"fileSize");if(!Je(r)){try{o.destroy()}catch(t){}return N(e,"invalid fileSize")}let d=mt(w,"fileType");if(!qe(d)){try{o.destroy()}catch(t){}return N(e,"invalid fileType")}return d=fs(d),e.response(o).type(d).header("Content-Disposition",`attachment; filename="${l}"`).header("Content-Length",r)}};return mt(M,"serverHapi")?u.route([b,x,A,Z,h,X,T]):async function(){I&&await u.register(n);let t=[];if(I){let e={method:"GET",path:"/{file*}",handler:{directory:{path:`${w}/`}}};t=[...t,e]}t=[...t,b,x,A,Z,h,X,T],u.route(t),await u.start(),console.log(`Server running at: ${u.info.uri}`)}(),g.stop=()=>{u.stop()},g}}));
7
7
  //# sourceMappingURL=w-converhp-server.umd.js.map