@shimotsuki/core 2.0.72 → 2.0.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/shimotsuki_core.js +1 -7
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1086,5 +1086,5 @@ declare global {
|
|
|
1086
1086
|
}
|
|
1087
1087
|
declare const cat: Manager;
|
|
1088
1088
|
|
|
1089
|
-
export { AudioEffect, AudioEventConstant, AudioManager, AudioSourceBaseComponent, AudioSourceUILayer, AudioTypeEnum, BaseComponent, BaseManager, BasePrefab, BaseStore, ButtonLock, CoreBlackMask, CoreNotice, CoreReconnection, CoreShowLoading, CoreStore, CoreToast, CoreUIContainer, CoreUIModal, CoreUtil, GlobalEventConstant, Gui, GuiManager, LayerType, ReconnectPrompt, RootUILayer, SceneLayer, TimerManager, ToastType, UILayer, WrapperSocialGameClient, cat };
|
|
1089
|
+
export { AudioEffect, AudioEventConstant, AudioManager, AudioSourceBaseComponent, AudioSourceUILayer, AudioTypeEnum, BaseComponent, BaseManager, BasePrefab, BaseStore, ButtonLock, CoreBlackMask, CoreNotice, CoreReconnection, CoreShowLoading, CoreStore, CoreToast, CoreUIContainer, CoreUIModal, CoreUtil, GlobalEventConstant, Gui, GuiManager, LayerType, Manager, ReconnectPrompt, RootUILayer, SceneLayer, TimerManager, ToastType, UILayer, WrapperSocialGameClient, cat };
|
|
1090
1090
|
export type { CoreNoticeProps, CoreShowLoadingProps, CoreUIModalProps, HOOK, ICloseOptions, IDirection, IOpenOptions, IUIOption, SceneComponentType, SceneDataType, ScenePropsType, ToastProps, UIComponentType };
|
package/dist/shimotsuki_core.js
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
import{AudioSource as e,_decorator as t,AudioClip as n,error as i,Node as o,director as r,log as s,Component as c,Prefab as a,instantiate as l,isValid as u,Layers as d,view as h,Widget as g,v3 as m,tween as b,Enum as p,game as f,Label as y,UIOpacity as I,Tween as A,BlockInputEvents as G,Button as C,Director as Z,warn as v,AsyncDelegate as V,Game as B,assetManager as S,Asset as X,resources as E,sys as R,SpriteFrame as W,Sprite as J}from"cc";import{DEBUG as w,WECHAT as F,PREVIEW as x}from"cc/env";var Y="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function H(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var N=function(e){return e&&e.Math===Math&&e},k=N("object"==typeof globalThis&&globalThis)||N("object"==typeof window&&window)||N("object"==typeof self&&self)||N("object"==typeof Y&&Y)||N("object"==typeof Y&&Y)||function(){return this}()||Function("return this")(),_=function(e){try{return!!e()}catch(e){return!0}},M=!_((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),z=M,K=Function.prototype,U=K.apply,L=K.call,D="object"==typeof Reflect&&Reflect.apply||(z?L.bind(U):function(){return L.apply(U,arguments)}),T=M,Q=Function.prototype,O=Q.call,P=T&&Q.bind.bind(O,O),j=T?P:function(e){return function(){return O.apply(e,arguments)}},q=j,$=q({}.toString),ee=q("".slice),te=function(e){return ee($(e),8,-1)},ne=te,ie=j,oe=function(e){if("Function"===ne(e))return ie(e)},re="object"==typeof document&&document.all,se=void 0===re&&void 0!==re?function(e){return"function"==typeof e||e===re}:function(e){return"function"==typeof e},ce={},ae=!_((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})),le=M,ue=Function.prototype.call,de=le?ue.bind(ue):function(){return ue.apply(ue,arguments)},he={},ge={}.propertyIsEnumerable,me=Object.getOwnPropertyDescriptor,be=me&&!ge.call({1:2},1);he.f=be?function(e){var t=me(this,e);return!!t&&t.enumerable}:ge;var pe,fe,ye=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},Ie=_,Ae=te,Ge=Object,Ce=j("".split),Ze=Ie((function(){return!Ge("z").propertyIsEnumerable(0)}))?function(e){return"String"===Ae(e)?Ce(e,""):Ge(e)}:Ge,ve=function(e){return null==e},Ve=ve,Be=TypeError,Se=function(e){if(Ve(e))throw new Be("Can't call method on "+e);return e},Xe=Ze,Ee=Se,Re=function(e){return Xe(Ee(e))},We=se,Je=function(e){return"object"==typeof e?null!==e:We(e)},we={},Fe=we,xe=k,Ye=se,He=function(e){return Ye(e)?e:void 0},Ne=function(e,t){return arguments.length<2?He(Fe[e])||He(xe[e]):Fe[e]&&Fe[e][t]||xe[e]&&xe[e][t]},ke=j({}.isPrototypeOf),_e=k.navigator,Me=_e&&_e.userAgent,ze=Me?String(Me):"",Ke=k,Ue=ze,Le=Ke.process,De=Ke.Deno,Te=Le&&Le.versions||De&&De.version,Qe=Te&&Te.v8;Qe&&(fe=(pe=Qe.split("."))[0]>0&&pe[0]<4?1:+(pe[0]+pe[1])),!fe&&Ue&&(!(pe=Ue.match(/Edge\/(\d+)/))||pe[1]>=74)&&(pe=Ue.match(/Chrome\/(\d+)/))&&(fe=+pe[1]);var Oe=fe,Pe=Oe,je=_,qe=k.String,$e=!!Object.getOwnPropertySymbols&&!je((function(){var e=Symbol("symbol detection");return!qe(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Pe&&Pe<41})),et=$e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,tt=Ne,nt=se,it=ke,ot=Object,rt=et?function(e){return"symbol"==typeof e}:function(e){var t=tt("Symbol");return nt(t)&&it(t.prototype,ot(e))},st=String,ct=function(e){try{return st(e)}catch(e){return"Object"}},at=se,lt=ct,ut=TypeError,dt=function(e){if(at(e))return e;throw new ut(lt(e)+" is not a function")},ht=dt,gt=ve,mt=function(e,t){var n=e[t];return gt(n)?void 0:ht(n)},bt=de,pt=se,ft=Je,yt=TypeError,It={exports:{}},At=k,Gt=Object.defineProperty,Ct=k,Zt=function(e,t){try{Gt(At,e,{value:t,configurable:!0,writable:!0})}catch(n){At[e]=t}return t},vt="__core-js_shared__",Vt=It.exports=Ct[vt]||Zt(vt,{});(Vt.versions||(Vt.versions=[])).push({version:"3.43.0",mode:"pure",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Bt=It.exports,St=Bt,Xt=function(e,t){return St[e]||(St[e]=t||{})},Et=Se,Rt=Object,Wt=function(e){return Rt(Et(e))},Jt=Wt,wt=j({}.hasOwnProperty),Ft=Object.hasOwn||function(e,t){return wt(Jt(e),t)},xt=j,Yt=0,Ht=Math.random(),Nt=xt(1.1.toString),kt=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Nt(++Yt+Ht,36)},_t=Xt,Mt=Ft,zt=kt,Kt=$e,Ut=et,Lt=k.Symbol,Dt=_t("wks"),Tt=Ut?Lt.for||Lt:Lt&&Lt.withoutSetter||zt,Qt=function(e){return Mt(Dt,e)||(Dt[e]=Kt&&Mt(Lt,e)?Lt[e]:Tt("Symbol."+e)),Dt[e]},Ot=de,Pt=Je,jt=rt,qt=mt,$t=function(e,t){var n,i;if("string"===t&&pt(n=e.toString)&&!ft(i=bt(n,e)))return i;if(pt(n=e.valueOf)&&!ft(i=bt(n,e)))return i;if("string"!==t&&pt(n=e.toString)&&!ft(i=bt(n,e)))return i;throw new yt("Can't convert object to primitive value")},en=TypeError,tn=Qt("toPrimitive"),nn=function(e,t){if(!Pt(e)||jt(e))return e;var n,i=qt(e,tn);if(i){if(void 0===t&&(t="default"),n=Ot(i,e,t),!Pt(n)||jt(n))return n;throw new en("Can't convert object to primitive value")}return void 0===t&&(t="number"),$t(e,t)},on=nn,rn=rt,sn=function(e){var t=on(e,"string");return rn(t)?t:t+""},cn=Je,an=k.document,ln=cn(an)&&cn(an.createElement),un=function(e){return ln?an.createElement(e):{}},dn=un,hn=!ae&&!_((function(){return 7!==Object.defineProperty(dn("div"),"a",{get:function(){return 7}}).a})),gn=ae,mn=de,bn=he,pn=ye,fn=Re,yn=sn,In=Ft,An=hn,Gn=Object.getOwnPropertyDescriptor;ce.f=gn?Gn:function(e,t){if(e=fn(e),t=yn(t),An)try{return Gn(e,t)}catch(e){}if(In(e,t))return pn(!mn(bn.f,e,t),e[t])};var Cn=_,Zn=se,vn=/#|\.prototype\./,Vn=function(e,t){var n=Sn[Bn(e)];return n===En||n!==Xn&&(Zn(t)?Cn(t):!!t)},Bn=Vn.normalize=function(e){return String(e).replace(vn,".").toLowerCase()},Sn=Vn.data={},Xn=Vn.NATIVE="N",En=Vn.POLYFILL="P",Rn=Vn,Wn=dt,Jn=M,wn=oe(oe.bind),Fn=function(e,t){return Wn(e),void 0===t?e:Jn?wn(e,t):function(){return e.apply(t,arguments)}},xn={},Yn=ae&&_((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Hn=Je,Nn=String,kn=TypeError,_n=function(e){if(Hn(e))return e;throw new kn(Nn(e)+" is not an object")},Mn=ae,zn=hn,Kn=Yn,Un=_n,Ln=sn,Dn=TypeError,Tn=Object.defineProperty,Qn=Object.getOwnPropertyDescriptor,On="enumerable",Pn="configurable",jn="writable";xn.f=Mn?Kn?function(e,t,n){if(Un(e),t=Ln(t),Un(n),"function"==typeof e&&"prototype"===t&&"value"in n&&jn in n&&!n[jn]){var i=Qn(e,t);i&&i[jn]&&(e[t]=n.value,n={configurable:Pn in n?n[Pn]:i[Pn],enumerable:On in n?n[On]:i[On],writable:!1})}return Tn(e,t,n)}:Tn:function(e,t,n){if(Un(e),t=Ln(t),Un(n),zn)try{return Tn(e,t,n)}catch(e){}if("get"in n||"set"in n)throw new Dn("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var qn=xn,$n=ye,ei=ae?function(e,t,n){return qn.f(e,t,$n(1,n))}:function(e,t,n){return e[t]=n,e},ti=k,ni=D,ii=oe,oi=se,ri=ce.f,si=Rn,ci=we,ai=Fn,li=ei,ui=Ft,di=function(e){var t=function(n,i,o){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(n);case 2:return new e(n,i)}return new e(n,i,o)}return ni(e,this,arguments)};return t.prototype=e.prototype,t},hi=function(e,t){var n,i,o,r,s,c,a,l,u,d=e.target,h=e.global,g=e.stat,m=e.proto,b=h?ti:g?ti[d]:ti[d]&&ti[d].prototype,p=h?ci:ci[d]||li(ci,d,{})[d],f=p.prototype;for(r in t)i=!(n=si(h?r:d+(g?".":"#")+r,e.forced))&&b&&ui(b,r),c=p[r],i&&(a=e.dontCallGetSet?(u=ri(b,r))&&u.value:b[r]),s=i&&a?a:t[r],(n||m||typeof c!=typeof s)&&(l=e.bind&&i?ai(s,ti):e.wrap&&i?di(s):m&&oi(s)?ii(s):s,(e.sham||s&&s.sham||c&&c.sham)&&li(l,"sham",!0),li(p,r,l),m&&(ui(ci,o=d+"Prototype")||li(ci,o,{}),li(ci[o],r,s),e.real&&f&&(n||!f[r])&&li(f,r,s)))},gi=k;hi({global:!0,forced:gi.globalThis!==gi},{globalThis:gi});var mi=H(k),bi=Ft,pi=function(e){return void 0!==e&&(bi(e,"value")||bi(e,"writable"))},fi=kt,yi=Xt("keys"),Ii=function(e){return yi[e]||(yi[e]=fi(e))},Ai=!_((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),Gi=Ft,Ci=se,Zi=Wt,vi=Ai,Vi=Ii("IE_PROTO"),Bi=Object,Si=Bi.prototype,Xi=vi?Bi.getPrototypeOf:function(e){var t=Zi(e);if(Gi(t,Vi))return t[Vi];var n=t.constructor;return Ci(n)&&t instanceof n?n.prototype:t instanceof Bi?Si:null},Ei=de,Ri=Je,Wi=_n,Ji=pi,wi=ce,Fi=Xi;hi({target:"Reflect",stat:!0},{get:function e(t,n){var i,o,r=arguments.length<3?t:arguments[2];return Wi(t)===r?t[n]:(i=wi.f(t,n))?Ji(i)?i.value:void 0===i.get?void 0:Ei(i.get,r):Ri(o=Fi(t))?e(o,n,r):void 0}});var xi=H(we.Reflect.get),Yi=de,Hi=_n,Ni=Je,ki=pi,_i=xn,Mi=ce,zi=Xi,Ki=ye;hi({target:"Reflect",stat:!0,forced:_((function(){var e=function(){},t=_i.f(new e,"a",{configurable:!0});return!1!==Reflect.set(e.prototype,"a",1,t)}))},{set:function e(t,n,i){var o,r,s,c=arguments.length<4?t:arguments[3],a=Mi.f(Hi(t),n);if(!a){if(Ni(r=zi(t)))return e(r,n,i,c);a=Ki(0)}if(ki(a)){if(!1===a.writable||!Ni(c))return!1;if(o=Mi.f(c,n)){if(o.get||o.set||!1===o.writable)return!1;o.value=i,_i.f(c,n,o)}else _i.f(c,n,Ki(0,i))}else{if(void 0===(s=a.set))return!1;Yi(s,c,i)}return!0}});var Ui=H(we.Reflect.set),Li=Math.ceil,Di=Math.floor,Ti=Math.trunc||function(e){var t=+e;return(t>0?Di:Li)(t)},Qi=Ti,Oi=function(e){var t=+e;return t!=t||0===t?0:Qi(t)},Pi=Oi,ji=Math.max,qi=Math.min,$i=Oi,eo=Math.min,to=function(e){var t=$i(e);return t>0?eo(t,9007199254740991):0},no=to,io=function(e){return no(e.length)},oo=Re,ro=function(e,t){var n=Pi(e);return n<0?ji(n+t,0):qi(n,t)},so=io,co=function(e){return function(t,n,i){var o=oo(t),r=so(o);if(0===r)return!e&&-1;var s,c=ro(i,r);if(e&&n!=n){for(;r>c;)if((s=o[c++])!=s)return!0}else for(;r>c;c++)if((e||c in o)&&o[c]===n)return e||c||0;return!e&&-1}},ao={includes:co(!0),indexOf:co(!1)},lo={},uo=Ft,ho=Re,go=ao.indexOf,mo=lo,bo=j([].push),po=function(e,t){var n,i=ho(e),o=0,r=[];for(n in i)!uo(mo,n)&&uo(i,n)&&bo(r,n);for(;t.length>o;)uo(i,n=t[o++])&&(~go(r,n)||bo(r,n));return r},fo=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],yo=po,Io=fo,Ao=Object.keys||function(e){return yo(e,Io)},Go={};Go.f=Object.getOwnPropertySymbols;var Co=ae,Zo=j,vo=de,Vo=_,Bo=Ao,So=Go,Xo=he,Eo=Wt,Ro=Ze,Wo=Object.assign,Jo=Object.defineProperty,wo=Zo([].concat),Fo=!Wo||Vo((function(){if(Co&&1!==Wo({b:1},Wo(Jo({},"a",{enumerable:!0,get:function(){Jo(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol("assign detection"),i="abcdefghijklmnopqrst";return e[n]=7,i.split("").forEach((function(e){t[e]=e})),7!==Wo({},e)[n]||Bo(Wo({},t)).join("")!==i}))?function(e,t){for(var n=Eo(e),i=arguments.length,o=1,r=So.f,s=Xo.f;i>o;)for(var c,a=Ro(arguments[o++]),l=r?wo(Bo(a),r(a)):Bo(a),u=l.length,d=0;u>d;)c=l[d++],Co&&!vo(s,a,c)||(n[c]=a[c]);return n}:Wo,xo=Fo;hi({target:"Object",stat:!0,forced:Object.assign!==xo},{assign:xo});var Yo=H(we.Object.assign),Ho=j,No=dt,ko=Je,_o=function(e){return ko(e)||null===e},Mo=String,zo=TypeError,Ko=function(e,t,n){try{return Ho(No(Object.getOwnPropertyDescriptor(e,t)[n]))}catch(e){}},Uo=Je,Lo=Se,Do=function(e){if(_o(e))return e;throw new zo("Can't set "+Mo(e)+" as a prototype")},To=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Ko(Object.prototype,"__proto__","set"))(n,[]),t=n instanceof Array}catch(e){}return function(n,i){return Lo(n),Do(i),Uo(n)?(t?e(n,i):n.__proto__=i,n):n}}():void 0),Qo={},Oo=po,Po=fo.concat("length","prototype");Qo.f=Object.getOwnPropertyNames||function(e){return Oo(e,Po)};var jo=Ne,qo=Qo,$o=Go,er=_n,tr=j([].concat),nr=jo("Reflect","ownKeys")||function(e){var t=qo.f(er(e)),n=$o.f;return n?tr(t,n(e)):t},ir=Ft,or=nr,rr=ce,sr=xn,cr={},ar=ae,lr=Yn,ur=xn,dr=_n,hr=Re,gr=Ao;cr.f=ar&&!lr?Object.defineProperties:function(e,t){dr(e);for(var n,i=hr(t),o=gr(t),r=o.length,s=0;r>s;)ur.f(e,n=o[s++],i[n]);return e};var mr,br=Ne("document","documentElement"),pr=_n,fr=cr,yr=fo,Ir=lo,Ar=br,Gr=un,Cr="prototype",Zr="script",vr=Ii("IE_PROTO"),Vr=function(){},Br=function(e){return"<"+Zr+">"+e+"</"+Zr+">"},Sr=function(e){e.write(Br("")),e.close();var t=e.parentWindow.Object;return e=null,t},Xr=function(){try{mr=new ActiveXObject("htmlfile")}catch(e){}var e,t,n;Xr="undefined"!=typeof document?document.domain&&mr?Sr(mr):(t=Gr("iframe"),n="java"+Zr+":",t.style.display="none",Ar.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(Br("document.F=Object")),e.close(),e.F):Sr(mr);for(var i=yr.length;i--;)delete Xr[Cr][yr[i]];return Xr()};Ir[vr]=!0;var Er=Object.create||function(e,t){var n;return null!==e?(Vr[Cr]=pr(e),n=new Vr,Vr[Cr]=null,n[vr]=e):n=Xr(),void 0===t?n:fr.f(n,t)},Rr=Je,Wr=ei,Jr=Error,wr=j("".replace),Fr=String(new Jr("zxcasd").stack),xr=/\n\s*at [^:]*:[^\n]*/,Yr=xr.test(Fr),Hr=ye,Nr=!_((function(){var e=new Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",Hr(1,7)),7!==e.stack)})),kr=ei,_r=function(e,t){if(Yr&&"string"==typeof e&&!Jr.prepareStackTrace)for(;t--;)e=wr(e,xr,"");return e},Mr=Nr,zr=Error.captureStackTrace,Kr={},Ur=Kr,Lr=Qt("iterator"),Dr=Array.prototype,Tr=function(e){return void 0!==e&&(Ur.Array===e||Dr[Lr]===e)},Qr={};Qr[Qt("toStringTag")]="z";var Or="[object z]"===String(Qr),Pr=Or,jr=se,qr=te,$r=Qt("toStringTag"),es=Object,ts="Arguments"===qr(function(){return arguments}()),ns=Pr?qr:function(e){var t,n,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=es(e),$r))?n:ts?qr(t):"Object"===(i=qr(t))&&jr(t.callee)?"Arguments":i},is=ns,os=mt,rs=ve,ss=Kr,cs=Qt("iterator"),as=function(e){if(!rs(e))return os(e,cs)||os(e,"@@iterator")||ss[is(e)]},ls=de,us=dt,ds=_n,hs=ct,gs=as,ms=TypeError,bs=function(e,t){var n=arguments.length<2?gs(e):t;if(us(n))return ds(ls(n,e));throw new ms(hs(e)+" is not iterable")},ps=de,fs=_n,ys=mt,Is=function(e,t,n){var i,o;fs(e);try{if(!(i=ys(e,"return"))){if("throw"===t)throw n;return n}i=ps(i,e)}catch(e){o=!0,i=e}if("throw"===t)throw n;if(o)throw i;return fs(i),n},As=Fn,Gs=de,Cs=_n,Zs=ct,vs=Tr,Vs=io,Bs=ke,Ss=bs,Xs=as,Es=Is,Rs=TypeError,Ws=function(e,t){this.stopped=e,this.result=t},Js=Ws.prototype,ws=function(e,t,n){var i,o,r,s,c,a,l,u=n&&n.that,d=!(!n||!n.AS_ENTRIES),h=!(!n||!n.IS_RECORD),g=!(!n||!n.IS_ITERATOR),m=!(!n||!n.INTERRUPTED),b=As(t,u),p=function(e){return i&&Es(i,"normal"),new Ws(!0,e)},f=function(e){return d?(Cs(e),m?b(e[0],e[1],p):b(e[0],e[1])):m?b(e,p):b(e)};if(h)i=e.iterator;else if(g)i=e;else{if(!(o=Xs(e)))throw new Rs(Zs(e)+" is not iterable");if(vs(o)){for(r=0,s=Vs(e);s>r;r++)if((c=f(e[r]))&&Bs(Js,c))return c;return new Ws(!1)}i=Ss(e,o)}for(a=h?e.next:i.next;!(l=Gs(a,i)).done;){try{c=f(l.value)}catch(e){Es(i,"throw",e)}if("object"==typeof c&&c&&Bs(Js,c))return c}return new Ws(!1)},Fs=ns,xs=String,Ys=function(e){if("Symbol"===Fs(e))throw new TypeError("Cannot convert a Symbol value to a string");return xs(e)},Hs=Ys,Ns=hi,ks=ke,_s=Xi,Ms=To,zs=function(e,t,n){for(var i=or(t),o=sr.f,r=rr.f,s=0;s<i.length;s++){var c=i[s];ir(e,c)||n&&ir(n,c)||o(e,c,r(t,c))}},Ks=Er,Us=ei,Ls=ye,Ds=function(e,t){Rr(t)&&"cause"in t&&Wr(e,"cause",t.cause)},Ts=function(e,t,n,i){Mr&&(zr?zr(e,t):kr(e,"stack",_r(n,i)))},Qs=ws,Os=function(e,t){return void 0===e?arguments.length<2?"":t:Hs(e)},Ps=Qt("toStringTag"),js=Error,qs=[].push,$s=function(e,t){var n,i=ks(ec,this);Ms?n=Ms(new js,i?_s(this):ec):(n=i?this:Ks(ec),Us(n,Ps,"Error")),void 0!==t&&Us(n,"message",Os(t)),Ts(n,$s,n.stack,1),arguments.length>2&&Ds(n,arguments[2]);var o=[];return Qs(e,qs,{that:o}),Us(n,"errors",o),n};Ms?Ms($s,js):zs($s,js,{name:!0});var ec=$s.prototype=Ks(js.prototype,{constructor:Ls(1,$s),message:Ls(1,""),name:Ls(1,"AggregateError")});Ns({global:!0},{AggregateError:$s});var tc,nc,ic,oc=se,rc=k.WeakMap,sc=oc(rc)&&/native code/.test(String(rc)),cc=k,ac=Je,lc=ei,uc=Ft,dc=Bt,hc=Ii,gc=lo,mc="Object already initialized",bc=cc.TypeError,pc=cc.WeakMap;if(sc||dc.state){var fc=dc.state||(dc.state=new pc);fc.get=fc.get,fc.has=fc.has,fc.set=fc.set,tc=function(e,t){if(fc.has(e))throw new bc(mc);return t.facade=e,fc.set(e,t),t},nc=function(e){return fc.get(e)||{}},ic=function(e){return fc.has(e)}}else{var yc=hc("state");gc[yc]=!0,tc=function(e,t){if(uc(e,yc))throw new bc(mc);return t.facade=e,lc(e,yc,t),t},nc=function(e){return uc(e,yc)?e[yc]:{}},ic=function(e){return uc(e,yc)}}var Ic,Ac,Gc,Cc={set:tc,get:nc,has:ic,enforce:function(e){return ic(e)?nc(e):tc(e,{})},getterFor:function(e){return function(t){var n;if(!ac(t)||(n=nc(t)).type!==e)throw new bc("Incompatible receiver, "+e+" required");return n}}},Zc=ae,vc=Ft,Vc=Function.prototype,Bc=Zc&&Object.getOwnPropertyDescriptor,Sc=vc(Vc,"name"),Xc={PROPER:Sc&&"something"===function(){}.name,CONFIGURABLE:Sc&&(!Zc||Zc&&Bc(Vc,"name").configurable)},Ec=ei,Rc=function(e,t,n,i){return i&&i.enumerable?e[t]=n:Ec(e,t,n),e},Wc=_,Jc=se,wc=Je,Fc=Er,xc=Xi,Yc=Rc,Hc=Qt("iterator"),Nc=!1;[].keys&&("next"in(Gc=[].keys())?(Ac=xc(xc(Gc)))!==Object.prototype&&(Ic=Ac):Nc=!0);var kc=!wc(Ic)||Wc((function(){var e={};return Ic[Hc].call(e)!==e}));Jc((Ic=kc?{}:Fc(Ic))[Hc])||Yc(Ic,Hc,(function(){return this}));var _c={IteratorPrototype:Ic,BUGGY_SAFARI_ITERATORS:Nc},Mc=ns,zc=Or?{}.toString:function(){return"[object "+Mc(this)+"]"},Kc=Or,Uc=xn.f,Lc=ei,Dc=Ft,Tc=zc,Qc=Qt("toStringTag"),Oc=function(e,t,n,i){var o=n?e:e&&e.prototype;o&&(Dc(o,Qc)||Uc(o,Qc,{configurable:!0,value:t}),i&&!Kc&&Lc(o,"toString",Tc))},Pc=_c.IteratorPrototype,jc=Er,qc=ye,$c=Oc,ea=Kr,ta=function(){return this},na=hi,ia=de,oa=Xc,ra=function(e,t,n,i){var o=t+" Iterator";return e.prototype=jc(Pc,{next:qc(+!i,n)}),$c(e,o,!1,!0),ea[o]=ta,e},sa=Xi,ca=Oc,aa=Rc,la=Kr,ua=_c,da=oa.PROPER,ha=ua.BUGGY_SAFARI_ITERATORS,ga=Qt("iterator"),ma="keys",ba="values",pa="entries",fa=function(){return this},ya=function(e,t,n,i,o,r,s){ra(n,t,i);var c,a,l,u=function(e){if(e===o&&b)return b;if(!ha&&e&&e in g)return g[e];switch(e){case ma:case ba:case pa:return function(){return new n(this,e)}}return function(){return new n(this)}},d=t+" Iterator",h=!1,g=e.prototype,m=g[ga]||g["@@iterator"]||o&&g[o],b=!ha&&m||u(o),p="Array"===t&&g.entries||m;if(p&&(c=sa(p.call(new e)))!==Object.prototype&&c.next&&(ca(c,d,!0,!0),la[d]=fa),da&&o===ba&&m&&m.name!==ba&&(h=!0,b=function(){return ia(m,this)}),o)if(a={values:u(ba),keys:r?b:u(ma),entries:u(pa)},s)for(l in a)(ha||h||!(l in g))&&aa(g,l,a[l]);else na({target:t,proto:!0,forced:ha||h},a);return s&&g[ga]!==b&&aa(g,ga,b,{}),la[t]=b,a},Ia=function(e,t){return{value:e,done:t}},Aa=Re,Ga=Kr,Ca=Cc;xn.f;var Za=ya,va=Ia,Va="Array Iterator",Ba=Ca.set,Sa=Ca.getterFor(Va);Za(Array,"Array",(function(e,t){Ba(this,{type:Va,target:Aa(e),index:0,kind:t})}),(function(){var e=Sa(this),t=e.target,n=e.index++;if(!t||n>=t.length)return e.target=null,va(void 0,!0);switch(e.kind){case"keys":return va(n,!1);case"values":return va(t[n],!1)}return va([n,t[n]],!1)}),"values"),Ga.Arguments=Ga.Array;var Xa=k,Ea=ze,Ra=te,Wa=function(e){return Ea.slice(0,e.length)===e},Ja=Wa("Bun/")?"BUN":Wa("Cloudflare-Workers")?"CLOUDFLARE":Wa("Deno/")?"DENO":Wa("Node.js/")?"NODE":Xa.Bun&&"string"==typeof Bun.version?"BUN":Xa.Deno&&"object"==typeof Deno.version?"DENO":"process"===Ra(Xa.process)?"NODE":Xa.window&&Xa.document?"BROWSER":"REST",wa="NODE"===Ja,Fa=xn,xa=function(e,t,n){return Fa.f(e,t,n)},Ya=Ne,Ha=xa,Na=ae,ka=Qt("species"),_a=function(e){var t=Ya(e);Na&&t&&!t[ka]&&Ha(t,ka,{configurable:!0,get:function(){return this}})},Ma=ke,za=TypeError,Ka=function(e,t){if(Ma(t,e))return e;throw new za("Incorrect invocation")},Ua=se,La=Bt,Da=j(Function.toString);Ua(La.inspectSource)||(La.inspectSource=function(e){return Da(e)});var Ta=La.inspectSource,Qa=j,Oa=_,Pa=se,ja=ns,qa=Ta,$a=function(){},el=Ne("Reflect","construct"),tl=/^\s*(?:class|function)\b/,nl=Qa(tl.exec),il=!tl.test($a),ol=function(e){if(!Pa(e))return!1;try{return el($a,[],e),!0}catch(e){return!1}},rl=function(e){if(!Pa(e))return!1;switch(ja(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return il||!!nl(tl,qa(e))}catch(e){return!0}};rl.sham=!0;var sl,cl,al,ll,ul=!el||Oa((function(){var e;return ol(ol.call)||!ol(Object)||!ol((function(){e=!0}))||e}))?rl:ol,dl=ul,hl=ct,gl=TypeError,ml=_n,bl=function(e){if(dl(e))return e;throw new gl(hl(e)+" is not a constructor")},pl=ve,fl=Qt("species"),yl=function(e,t){var n,i=ml(e).constructor;return void 0===i||pl(n=ml(i)[fl])?t:bl(n)},Il=j([].slice),Al=TypeError,Gl=function(e,t){if(e<t)throw new Al("Not enough arguments");return e},Cl=/(?:ipad|iphone|ipod).*applewebkit/i.test(ze),Zl=k,vl=D,Vl=Fn,Bl=se,Sl=Ft,Xl=_,El=br,Rl=Il,Wl=un,Jl=Gl,wl=Cl,Fl=wa,xl=Zl.setImmediate,Yl=Zl.clearImmediate,Hl=Zl.process,Nl=Zl.Dispatch,kl=Zl.Function,_l=Zl.MessageChannel,Ml=Zl.String,zl=0,Kl={},Ul="onreadystatechange";Xl((function(){sl=Zl.location}));var Ll=function(e){if(Sl(Kl,e)){var t=Kl[e];delete Kl[e],t()}},Dl=function(e){return function(){Ll(e)}},Tl=function(e){Ll(e.data)},Ql=function(e){Zl.postMessage(Ml(e),sl.protocol+"//"+sl.host)};xl&&Yl||(xl=function(e){Jl(arguments.length,1);var t=Bl(e)?e:kl(e),n=Rl(arguments,1);return Kl[++zl]=function(){vl(t,void 0,n)},cl(zl),zl},Yl=function(e){delete Kl[e]},Fl?cl=function(e){Hl.nextTick(Dl(e))}:Nl&&Nl.now?cl=function(e){Nl.now(Dl(e))}:_l&&!wl?(ll=(al=new _l).port2,al.port1.onmessage=Tl,cl=Vl(ll.postMessage,ll)):Zl.addEventListener&&Bl(Zl.postMessage)&&!Zl.importScripts&&sl&&"file:"!==sl.protocol&&!Xl(Ql)?(cl=Ql,Zl.addEventListener("message",Tl,!1)):cl=Ul in Wl("script")?function(e){El.appendChild(Wl("script"))[Ul]=function(){El.removeChild(this),Ll(e)}}:function(e){setTimeout(Dl(e),0)});var Ol={set:xl},Pl=k,jl=ae,ql=Object.getOwnPropertyDescriptor,$l=function(){this.head=null,this.tail=null};$l.prototype={add:function(e){var t={item:e,next:null},n=this.tail;n?n.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var eu,tu,nu,iu,ou,ru=$l,su=/ipad|iphone|ipod/i.test(ze)&&"undefined"!=typeof Pebble,cu=/web0s(?!.*chrome)/i.test(ze),au=k,lu=function(e){if(!jl)return Pl[e];var t=ql(Pl,e);return t&&t.value},uu=Fn,du=Ol.set,hu=ru,gu=Cl,mu=su,bu=cu,pu=wa,fu=au.MutationObserver||au.WebKitMutationObserver,yu=au.document,Iu=au.process,Au=au.Promise,Gu=lu("queueMicrotask");if(!Gu){var Cu=new hu,Zu=function(){var e,t;for(pu&&(e=Iu.domain)&&e.exit();t=Cu.get();)try{t()}catch(e){throw Cu.head&&eu(),e}e&&e.enter()};gu||pu||bu||!fu||!yu?!mu&&Au&&Au.resolve?((iu=Au.resolve(void 0)).constructor=Au,ou=uu(iu.then,iu),eu=function(){ou(Zu)}):pu?eu=function(){Iu.nextTick(Zu)}:(du=uu(du,au),eu=function(){du(Zu)}):(tu=!0,nu=yu.createTextNode(""),new fu(Zu).observe(nu,{characterData:!0}),eu=function(){nu.data=tu=!tu}),Gu=function(e){Cu.head||eu(),Cu.add(e)}}var vu=Gu,Vu=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},Bu=k.Promise,Su=k,Xu=Bu,Eu=se,Ru=Rn,Wu=Ta,Ju=Qt,wu=Ja,Fu=Oe,xu=Xu&&Xu.prototype,Yu=Ju("species"),Hu=!1,Nu=Eu(Su.PromiseRejectionEvent),ku=Ru("Promise",(function(){var e=Wu(Xu),t=e!==String(Xu);if(!t&&66===Fu)return!0;if(!xu.catch||!xu.finally)return!0;if(!Fu||Fu<51||!/native code/.test(e)){var n=new Xu((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};if((n.constructor={})[Yu]=i,!(Hu=n.then((function(){}))instanceof i))return!0}return!(t||"BROWSER"!==wu&&"DENO"!==wu||Nu)})),_u={CONSTRUCTOR:ku,REJECTION_EVENT:Nu,SUBCLASSING:Hu},Mu={},zu=dt,Ku=TypeError,Uu=function(e){var t,n;this.promise=new e((function(e,i){if(void 0!==t||void 0!==n)throw new Ku("Bad Promise constructor");t=e,n=i})),this.resolve=zu(t),this.reject=zu(n)};Mu.f=function(e){return new Uu(e)};var Lu,Du,Tu,Qu=hi,Ou=wa,Pu=k,ju=we,qu=de,$u=Rc,ed=Oc,td=_a,nd=dt,id=se,od=Je,rd=Ka,sd=yl,cd=Ol.set,ad=vu,ld=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(e){}},ud=Vu,dd=ru,hd=Cc,gd=Bu,md=_u,bd=Mu,pd="Promise",fd=md.CONSTRUCTOR,yd=md.REJECTION_EVENT,Id=hd.getterFor(pd),Ad=hd.set,Gd=gd&&gd.prototype,Cd=gd,Zd=Gd,vd=Pu.TypeError,Vd=Pu.document,Bd=Pu.process,Sd=bd.f,Xd=Sd,Ed=!!(Vd&&Vd.createEvent&&Pu.dispatchEvent),Rd="unhandledrejection",Wd=function(e){var t;return!(!od(e)||!id(t=e.then))&&t},Jd=function(e,t){var n,i,o,r=t.value,s=1===t.state,c=s?e.ok:e.fail,a=e.resolve,l=e.reject,u=e.domain;try{c?(s||(2===t.rejection&&Hd(t),t.rejection=1),!0===c?n=r:(u&&u.enter(),n=c(r),u&&(u.exit(),o=!0)),n===e.promise?l(new vd("Promise-chain cycle")):(i=Wd(n))?qu(i,n,a,l):a(n)):l(r)}catch(e){u&&!o&&u.exit(),l(e)}},wd=function(e,t){e.notified||(e.notified=!0,ad((function(){for(var n,i=e.reactions;n=i.get();)Jd(n,e);e.notified=!1,t&&!e.rejection&&xd(e)})))},Fd=function(e,t,n){var i,o;Ed?((i=Vd.createEvent("Event")).promise=t,i.reason=n,i.initEvent(e,!1,!0),Pu.dispatchEvent(i)):i={promise:t,reason:n},!yd&&(o=Pu["on"+e])?o(i):e===Rd&&ld("Unhandled promise rejection",n)},xd=function(e){qu(cd,Pu,(function(){var t,n=e.facade,i=e.value;if(Yd(e)&&(t=ud((function(){Ou?Bd.emit("unhandledRejection",i,n):Fd(Rd,n,i)})),e.rejection=Ou||Yd(e)?2:1,t.error))throw t.value}))},Yd=function(e){return 1!==e.rejection&&!e.parent},Hd=function(e){qu(cd,Pu,(function(){var t=e.facade;Ou?Bd.emit("rejectionHandled",t):Fd("rejectionhandled",t,e.value)}))},Nd=function(e,t,n){return function(i){e(t,i,n)}},kd=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,wd(e,!0))},_d=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw new vd("Promise can't be resolved itself");var i=Wd(t);i?ad((function(){var n={done:!1};try{qu(i,t,Nd(_d,n,e),Nd(kd,n,e))}catch(t){kd(n,t,e)}})):(e.value=t,e.state=1,wd(e,!1))}catch(t){kd({done:!1},t,e)}}};fd&&(Cd=function(e){rd(this,Zd),nd(e),qu(Lu,this);var t=Id(this);try{e(Nd(_d,t),Nd(kd,t))}catch(e){kd(t,e)}},Zd=Cd.prototype,(Lu=function(e){Ad(this,{type:pd,done:!1,notified:!1,parent:!1,reactions:new dd,rejection:!1,state:0,value:null})}).prototype=$u(Zd,"then",(function(e,t){var n=Id(this),i=Sd(sd(this,Cd));return n.parent=!0,i.ok=!id(e)||e,i.fail=id(t)&&t,i.domain=Ou?Bd.domain:void 0,0===n.state?n.reactions.add(i):ad((function(){Jd(i,n)})),i.promise})),Du=function(){var e=new Lu,t=Id(e);this.promise=e,this.resolve=Nd(_d,t),this.reject=Nd(kd,t)},bd.f=Sd=function(e){return e===Cd||e===Tu?new Du(e):Xd(e)}),Qu({global:!0,wrap:!0,forced:fd},{Promise:Cd}),Tu=ju.Promise,ed(Cd,pd,!1,!0),td(pd);var Md=Qt("iterator"),zd=!1;try{var Kd=0,Ud={next:function(){return{done:!!Kd++}},return:function(){zd=!0}};Ud[Md]=function(){return this},Array.from(Ud,(function(){throw 2}))}catch(i){}var Ld=function(e,t){try{if(!t&&!zd)return!1}catch(e){return!1}var n=!1;try{var i={};i[Md]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(e){}return n},Dd=Bu,Td=_u.CONSTRUCTOR||!Ld((function(e){Dd.all(e).then(void 0,(function(){}))})),Qd=de,Od=dt,Pd=Mu,jd=Vu,qd=ws;hi({target:"Promise",stat:!0,forced:Td},{all:function(e){var t=this,n=Pd.f(t),i=n.resolve,o=n.reject,r=jd((function(){var n=Od(t.resolve),r=[],s=0,c=1;qd(e,(function(e){var a=s++,l=!1;c++,Qd(n,t,e).then((function(e){l||(l=!0,r[a]=e,--c||i(r))}),o)})),--c||i(r)}));return r.error&&o(r.value),n.promise}});var $d=hi,eh=_u.CONSTRUCTOR;Bu&&Bu.prototype,$d({target:"Promise",proto:!0,forced:eh,real:!0},{catch:function(e){return this.then(void 0,e)}});var th=de,nh=dt,ih=Mu,oh=Vu,rh=ws;hi({target:"Promise",stat:!0,forced:Td},{race:function(e){var t=this,n=ih.f(t),i=n.reject,o=oh((function(){var o=nh(t.resolve);rh(e,(function(e){th(o,t,e).then(n.resolve,i)}))}));return o.error&&i(o.value),n.promise}});var sh=Mu;hi({target:"Promise",stat:!0,forced:_u.CONSTRUCTOR},{reject:function(e){var t=sh.f(this);return(0,t.reject)(e),t.promise}});var ch=_n,ah=Je,lh=Mu,uh=function(e,t){if(ch(e),ah(t)&&t.constructor===e)return t;var n=lh.f(e);return(0,n.resolve)(t),n.promise},dh=hi,hh=Bu,gh=_u.CONSTRUCTOR,mh=uh,bh=Ne("Promise"),ph=!gh;dh({target:"Promise",stat:!0,forced:true},{resolve:function(e){return mh(ph&&this===bh?hh:this,e)}});var fh=de,yh=dt,Ih=Mu,Ah=Vu,Gh=ws;hi({target:"Promise",stat:!0,forced:Td},{allSettled:function(e){var t=this,n=Ih.f(t),i=n.resolve,o=n.reject,r=Ah((function(){var n=yh(t.resolve),o=[],r=0,s=1;Gh(e,(function(e){var c=r++,a=!1;s++,fh(n,t,e).then((function(e){a||(a=!0,o[c]={status:"fulfilled",value:e},--s||i(o))}),(function(e){a||(a=!0,o[c]={status:"rejected",reason:e},--s||i(o))}))})),--s||i(o)}));return r.error&&o(r.value),n.promise}});var Ch=de,Zh=dt,vh=Ne,Vh=Mu,Bh=Vu,Sh=ws,Xh="No one promise resolved";hi({target:"Promise",stat:!0,forced:Td},{any:function(e){var t=this,n=vh("AggregateError"),i=Vh.f(t),o=i.resolve,r=i.reject,s=Bh((function(){var i=Zh(t.resolve),s=[],c=0,a=1,l=!1;Sh(e,(function(e){var u=c++,d=!1;a++,Ch(i,t,e).then((function(e){d||l||(l=!0,o(e))}),(function(e){d||l||(d=!0,s[u]=e,--a||r(new n(s,Xh)))}))})),--a||r(new n(s,Xh))}));return s.error&&r(s.value),i.promise}});var Eh=hi,Rh=D,Wh=Il,Jh=Mu,wh=dt,Fh=Vu,xh=k.Promise,Yh=!1;Eh({target:"Promise",stat:!0,forced:!xh||!xh.try||Fh((function(){xh.try((function(e){Yh=8===e}),8)})).error||!Yh},{try:function(e){var t=arguments.length>1?Wh(arguments,1):[],n=Jh.f(this),i=Fh((function(){return Rh(wh(e),void 0,t)}));return(i.error?n.reject:n.resolve)(i.value),n.promise}});var Hh=Mu;hi({target:"Promise",stat:!0},{withResolvers:function(){var e=Hh.f(this);return{promise:e.promise,resolve:e.resolve,reject:e.reject}}});var Nh=hi,kh=Bu,_h=_,Mh=Ne,zh=se,Kh=yl,Uh=uh,Lh=kh&&kh.prototype;Nh({target:"Promise",proto:!0,real:!0,forced:!!kh&&_h((function(){Lh.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=Kh(this,Mh("Promise")),n=zh(e);return this.then(n?function(n){return Uh(t,e()).then((function(){return n}))}:e,n?function(n){return Uh(t,e()).then((function(){throw n}))}:e)}});var Dh,Th=j,Qh=Oi,Oh=Ys,Ph=Se,jh=Th("".charAt),qh=Th("".charCodeAt),$h=Th("".slice),eg={charAt:(Dh=!0,function(e,t){var n,i,o=Oh(Ph(e)),r=Qh(t),s=o.length;return r<0||r>=s?Dh?"":void 0:(n=qh(o,r))<55296||n>56319||r+1===s||(i=qh(o,r+1))<56320||i>57343?Dh?jh(o,r):n:Dh?$h(o,r,r+2):i-56320+(n-55296<<10)+65536})},tg=eg.charAt,ng=Ys,ig=Cc,og=ya,rg=Ia,sg="String Iterator",cg=ig.set,ag=ig.getterFor(sg);og(String,"String",(function(e){cg(this,{type:sg,string:ng(e),index:0})}),(function(){var e,t=ag(this),n=t.string,i=t.index;return i>=n.length?rg(void 0,!0):(e=tg(n,i),t.index+=e.length,rg(e,!1))}));var lg=we.Promise,ug={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},dg=k,hg=Oc,gg=Kr;for(var mg in ug)hg(dg[mg],mg),gg[mg]=gg.Array;var bg=H(lg),pg={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,n="~";function i(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function r(e,t,i,r,s){if("function"!=typeof i)throw new TypeError("The listener must be a function");var c=new o(i,r||e,s),a=n?n+t:t;return e._events[a]?e._events[a].fn?e._events[a]=[e._events[a],c]:e._events[a].push(c):(e._events[a]=c,e._eventsCount++),e}function s(e,t){0===--e._eventsCount?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(n=!1)),c.prototype.eventNames=function(){var e,i,o=[];if(0===this._eventsCount)return o;for(i in e=this._events)t.call(e,i)&&o.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=n?n+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,r=i.length,s=new Array(r);o<r;o++)s[o]=i[o].fn;return s},c.prototype.listenerCount=function(e){var t=n?n+e:e,i=this._events[t];return i?i.fn?1:i.length:0},c.prototype.emit=function(e,t,i,o,r,s){var c=n?n+e:e;if(!this._events[c])return!1;var a,l,u=this._events[c],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,i),!0;case 4:return u.fn.call(u.context,t,i,o),!0;case 5:return u.fn.call(u.context,t,i,o,r),!0;case 6:return u.fn.call(u.context,t,i,o,r,s),!0}for(l=1,a=new Array(d-1);l<d;l++)a[l-1]=arguments[l];u.fn.apply(u.context,a)}else{var h,g=u.length;for(l=0;l<g;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),d){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,i);break;case 4:u[l].fn.call(u[l].context,t,i,o);break;default:if(!a)for(h=1,a=new Array(d-1);h<d;h++)a[h-1]=arguments[h];u[l].fn.apply(u[l].context,a)}}return!0},c.prototype.on=function(e,t,n){return r(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return r(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,i,o){var r=n?n+e:e;if(!this._events[r])return this;if(!t)return s(this,r),this;var c=this._events[r];if(c.fn)c.fn!==t||o&&!c.once||i&&c.context!==i||s(this,r);else{for(var a=0,l=[],u=c.length;a<u;a++)(c[a].fn!==t||o&&!c[a].once||i&&c[a].context!==i)&&l.push(c[a]);l.length?this._events[r]=1===l.length?l[0]:l:s(this,r)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=n,c.EventEmitter=c,e.exports=c}(pg);var fg=H(pg.exports),yg=ao.includes;hi({target:"Array",proto:!0,forced:_((function(){return!Array(1).includes()}))},{includes:function(e){return yg(this,e,arguments.length>1?arguments[1]:void 0)}});var Ig=k,Ag=we,Gg=function(e,t){var n=Ag[e+"Prototype"],i=n&&n[t];if(i)return i;var o=Ig[e],r=o&&o.prototype;return r&&r[t]},Cg=Gg("Array","includes"),Zg=Je,vg=te,Vg=Qt("match"),Bg=function(e){var t;return Zg(e)&&(void 0!==(t=e[Vg])?!!t:"RegExp"===vg(e))},Sg=TypeError,Xg=Qt("match"),Eg=hi,Rg=function(e){if(Bg(e))throw new Sg("The method doesn't accept regular expressions");return e},Wg=Se,Jg=Ys,wg=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[Xg]=!1,"/./"[e](t)}catch(e){}}return!1},Fg=j("".indexOf);Eg({target:"String",proto:!0,forced:!wg("includes")},{includes:function(e){return!!~Fg(Jg(Wg(this)),Jg(Rg(e)),arguments.length>1?arguments[1]:void 0)}});var xg,Yg=Gg("String","includes"),Hg=ke,Ng=Cg,kg=Yg,_g=Array.prototype,Mg=String.prototype,zg=function(e){var t=e.includes;return e===_g||Hg(_g,e)&&t===_g.includes?Ng:"string"==typeof e||e===Mg||Hg(Mg,e)&&t===Mg.includes?kg:t},Kg=H(zg),Ug=Oi,Lg=Ys,Dg=Se,Tg=RangeError,Qg=j,Og=to,Pg=Ys,jg=function(e){var t=Lg(Dg(this)),n="",i=Ug(e);if(i<0||i===1/0)throw new Tg("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(n+=t);return n},qg=Se,$g=Qg(jg),em=Qg("".slice),tm=Math.ceil,nm={start:(xg=!1,function(e,t,n){var i,o,r=Pg(qg(e)),s=Og(t),c=r.length,a=void 0===n?" ":Pg(n);return s<=c||""===a?r:((o=$g(a,tm((i=s-c)/a.length))).length>i&&(o=em(o,0,i)),xg?r+o:o+r)})},im=j,om=_,rm=nm.start,sm=RangeError,cm=isFinite,am=Math.abs,lm=Date.prototype,um=lm.toISOString,dm=im(lm.getTime),hm=im(lm.getUTCDate),gm=im(lm.getUTCFullYear),mm=im(lm.getUTCHours),bm=im(lm.getUTCMilliseconds),pm=im(lm.getUTCMinutes),fm=im(lm.getUTCMonth),ym=im(lm.getUTCSeconds),Im=om((function(){return"0385-07-25T07:06:39.999Z"!==um.call(new Date(-50000000000001))}))||!om((function(){um.call(new Date(NaN))}))?function(){if(!cm(dm(this)))throw new sm("Invalid time value");var e=this,t=gm(e),n=bm(e),i=t<0?"-":t>9999?"+":"";return i+rm(am(t),i?6:4,0)+"-"+rm(fm(e)+1,2,0)+"-"+rm(hm(e),2,0)+"T"+rm(mm(e),2,0)+":"+rm(pm(e),2,0)+":"+rm(ym(e),2,0)+"."+rm(n,3,0)+"Z"}:um,Am=de,Gm=Wt,Cm=nn,Zm=Im,vm=te;hi({target:"Date",proto:!0,forced:_((function(){return null!==new Date(NaN).toJSON()||1!==Am(Date.prototype.toJSON,{toISOString:function(){return 1}})}))},{toJSON:function(e){var t=Gm(this),n=Cm(t,"number");return"number"!=typeof n||isFinite(n)?"toISOString"in t||"Date"!==vm(t)?t.toISOString():Am(Zm,t):null}});var Vm=te,Bm=Array.isArray||function(e){return"Array"===Vm(e)},Sm=Bm,Xm=se,Em=te,Rm=Ys,Wm=j([].push),Jm=hi,wm=Ne,Fm=D,xm=de,Ym=j,Hm=_,Nm=se,km=rt,_m=Il,Mm=function(e){if(Xm(e))return e;if(Sm(e)){for(var t=e.length,n=[],i=0;i<t;i++){var o=e[i];"string"==typeof o?Wm(n,o):"number"!=typeof o&&"Number"!==Em(o)&&"String"!==Em(o)||Wm(n,Rm(o))}var r=n.length,s=!0;return function(e,t){if(s)return s=!1,t;if(Sm(this))return t;for(var i=0;i<r;i++)if(n[i]===e)return t}}},zm=$e,Km=String,Um=wm("JSON","stringify"),Lm=Ym(/./.exec),Dm=Ym("".charAt),Tm=Ym("".charCodeAt),Qm=Ym("".replace),Om=Ym(1.1.toString),Pm=/[\uD800-\uDFFF]/g,jm=/^[\uD800-\uDBFF]$/,qm=/^[\uDC00-\uDFFF]$/,$m=!zm||Hm((function(){var e=wm("Symbol")("stringify detection");return"[null]"!==Um([e])||"{}"!==Um({a:e})||"{}"!==Um(Object(e))})),eb=Hm((function(){return'"\\udf06\\ud834"'!==Um("\udf06\ud834")||'"\\udead"'!==Um("\udead")})),tb=function(e,t){var n=_m(arguments),i=Mm(t);if(Nm(i)||void 0!==e&&!km(e))return n[1]=function(e,t){if(Nm(i)&&(t=xm(i,this,Km(e),t)),!km(t))return t},Fm(Um,null,n)},nb=function(e,t,n){var i=Dm(n,t-1),o=Dm(n,t+1);return Lm(jm,e)&&!Lm(qm,o)||Lm(qm,e)&&!Lm(jm,i)?"\\u"+Om(Tm(e,0),16):e};Um&&Jm({target:"JSON",stat:!0,forced:$m||eb},{stringify:function(e,t,n){var i=_m(arguments),o=Fm($m?tb:Um,null,i);return eb&&"string"==typeof o?Qm(o,Pm,nb):o}});var ib=we,ob=D;ib.JSON||(ib.JSON={stringify:JSON.stringify});var rb=H((function(e,t,n){return ob(ib.JSON.stringify,null,arguments)})),sb={exports:{}},cb={},ab=te,lb=Re,ub=Qo.f,db=Il,hb="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];cb.f=function(e){return hb&&"Window"===ab(e)?function(e){try{return ub(e)}catch(e){return db(hb)}}(e):ub(lb(e))};var gb=_((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})),mb=_,bb=Je,pb=te,fb=gb,yb=Object.isExtensible,Ib=mb((function(){yb(1)}))||fb?function(e){return!!bb(e)&&((!fb||"ArrayBuffer"!==pb(e))&&(!yb||yb(e)))}:yb,Ab=!_((function(){return Object.isExtensible(Object.preventExtensions({}))})),Gb=hi,Cb=j,Zb=lo,vb=Je,Vb=Ft,Bb=xn.f,Sb=Qo,Xb=cb,Eb=Ib,Rb=Ab,Wb=!1,Jb=kt("meta"),wb=0,Fb=function(e){Bb(e,Jb,{value:{objectID:"O"+wb++,weakData:{}}})},xb=sb.exports={enable:function(){xb.enable=function(){},Wb=!0;var e=Sb.f,t=Cb([].splice),n={};n[Jb]=1,e(n).length&&(Sb.f=function(n){for(var i=e(n),o=0,r=i.length;o<r;o++)if(i[o]===Jb){t(i,o,1);break}return i},Gb({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:Xb.f}))},fastKey:function(e,t){if(!vb(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!Vb(e,Jb)){if(!Eb(e))return"F";if(!t)return"E";Fb(e)}return e[Jb].objectID},getWeakData:function(e,t){if(!Vb(e,Jb)){if(!Eb(e))return!0;if(!t)return!1;Fb(e)}return e[Jb].weakData},onFreeze:function(e){return Rb&&Wb&&Eb(e)&&!Vb(e,Jb)&&Fb(e),e}};Zb[Jb]=!0;var Yb=sb.exports,Hb=Bm,Nb=ul,kb=Je,_b=Qt("species"),Mb=Array,zb=function(e){var t;return Hb(e)&&(t=e.constructor,(Nb(t)&&(t===Mb||Hb(t.prototype))||kb(t)&&null===(t=t[_b]))&&(t=void 0)),void 0===t?Mb:t},Kb=Fn,Ub=Ze,Lb=Wt,Db=io,Tb=function(e,t){return new(zb(e))(0===t?0:t)},Qb=j([].push),Ob=function(e){var t=1===e,n=2===e,i=3===e,o=4===e,r=6===e,s=7===e,c=5===e||r;return function(a,l,u,d){for(var h,g,m=Lb(a),b=Ub(m),p=Db(b),f=Kb(l,u),y=0,I=d||Tb,A=t?I(a,p):n||s?I(a,0):void 0;p>y;y++)if((c||y in b)&&(g=f(h=b[y],y,m),e))if(t)A[y]=g;else if(g)switch(e){case 3:return!0;case 5:return h;case 6:return y;case 2:Qb(A,h)}else switch(e){case 4:return!1;case 7:Qb(A,h)}return r?-1:i||o?o:A}},Pb={forEach:Ob(0),map:Ob(1),filter:Ob(2),every:Ob(4)},jb=hi,qb=k,$b=Yb,ep=_,tp=ei,np=ws,ip=Ka,op=se,rp=Je,sp=ve,cp=Oc,ap=xn.f,lp=Pb.forEach,up=ae,dp=Cc.set,hp=Cc.getterFor,gp=Rc,mp=Er,bp=xa,pp=function(e,t,n){for(var i in t)n&&n.unsafe&&e[i]?e[i]=t[i]:gp(e,i,t[i],n);return e},fp=Fn,yp=Ka,Ip=ve,Ap=ws,Gp=ya,Cp=Ia,Zp=_a,vp=ae,Vp=Yb.fastKey,Bp=Cc.set,Sp=Cc.getterFor,Xp={getConstructor:function(e,t,n,i){var o=e((function(e,o){yp(e,r),Bp(e,{type:t,index:mp(null),first:null,last:null,size:0}),vp||(e.size=0),Ip(o)||Ap(o,e[i],{that:e,AS_ENTRIES:n})})),r=o.prototype,s=Sp(t),c=function(e,t,n){var i,o,r=s(e),c=a(e,t);return c?c.value=n:(r.last=c={index:o=Vp(t,!0),key:t,value:n,previous:i=r.last,next:null,removed:!1},r.first||(r.first=c),i&&(i.next=c),vp?r.size++:e.size++,"F"!==o&&(r.index[o]=c)),e},a=function(e,t){var n,i=s(e),o=Vp(t);if("F"!==o)return i.index[o];for(n=i.first;n;n=n.next)if(n.key===t)return n};return pp(r,{clear:function(){for(var e=s(this),t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=null),t=t.next;e.first=e.last=null,e.index=mp(null),vp?e.size=0:this.size=0},delete:function(e){var t=this,n=s(t),i=a(t,e);if(i){var o=i.next,r=i.previous;delete n.index[i.index],i.removed=!0,r&&(r.next=o),o&&(o.previous=r),n.first===i&&(n.first=o),n.last===i&&(n.last=r),vp?n.size--:t.size--}return!!i},forEach:function(e){for(var t,n=s(this),i=fp(e,arguments.length>1?arguments[1]:void 0);t=t?t.next:n.first;)for(i(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!a(this,e)}}),pp(r,n?{get:function(e){var t=a(this,e);return t&&t.value},set:function(e,t){return c(this,0===e?0:e,t)}}:{add:function(e){return c(this,e=0===e?0:e,e)}}),vp&&bp(r,"size",{configurable:!0,get:function(){return s(this).size}}),o},setStrong:function(e,t,n){var i=t+" Iterator",o=Sp(t),r=Sp(i);Gp(e,t,(function(e,t){Bp(this,{type:i,target:e,state:o(e),kind:t,last:null})}),(function(){for(var e=r(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?Cp("keys"===t?n.key:"values"===t?n.value:[n.key,n.value],!1):(e.target=null,Cp(void 0,!0))}),n?"entries":"values",!n,!0),Zp(t)}},Ep=function(e,t,n){var i,o=-1!==e.indexOf("Map"),r=-1!==e.indexOf("Weak"),s=o?"set":"add",c=qb[e],a=c&&c.prototype,l={};if(up&&op(c)&&(r||a.forEach&&!ep((function(){(new c).entries().next()})))){var u=(i=t((function(t,n){dp(ip(t,u),{type:e,collection:new c}),sp(n)||np(n,t[s],{that:t,AS_ENTRIES:o})}))).prototype,d=hp(e);lp(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(e){var t="add"===e||"set"===e;!(e in a)||r&&"clear"===e||tp(u,e,(function(n,i){var o=d(this).collection;if(!t&&r&&!rp(n))return"get"===e&&void 0;var s=o[e](0===n?0:n,i);return t?this:s}))})),r||ap(u,"size",{configurable:!0,get:function(){return d(this).collection.size}})}else i=n.getConstructor(t,e,o,s),$b.enable();return cp(i,e,!1,!0),l[e]=i,jb({global:!0,forced:!0},l),r||n.setStrong(i,e,o),i};Ep("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),Xp);var Rp=function(e,t){return 1===t?function(t,n){return t[e](n)}:function(t,n,i){return t[e](n,i)}},Wp=Ne("Map"),Jp={Map:Wp,set:Rp("set",2),get:Rp("get",1),has:Rp("has",1),proto:Wp.prototype},wp=hi,Fp=dt,xp=Se,Yp=ws,Hp=Jp.Map,Np=Jp.has,kp=Jp.get,_p=Jp.set,Mp=j([].push);wp({target:"Map",stat:!0,forced:true},{groupBy:function(e,t){xp(e),Fp(t);var n=new Hp,i=0;return Yp(e,(function(e){var o=t(e,i++);Np(n,o)?Mp(kp(n,o),e):_p(n,o,[e])})),n}});var zp=H(we.Map);class Kp extends e{cat;initAudio(e){return this.cat=e,this}}const{ccclass:Up,menu:Lp}=t;let Dp=class extends Kp{effects=(()=>new zp)();load(e){return new bg(((t,i)=>{this.cat.res.load(e,n,((n,o)=>{if(n)return i(n);this.effects.set(e,o),this.playOneShot(o,this.volume),t(o)}))}))}release(){for(let e in this.effects)this.cat.res.release(e);this.effects.clear()}};const{ccclass:Tp,menu:Qp}=t;class Op extends Kp{onComplete=null;_progress=0;_url=null;_isPlay=!1;get progress(){return this.duration>0&&(this._progress=this.currentTime/this.duration),this._progress}set progress(e){this._progress=e,this.currentTime=e*this.duration}load(e,t){this.cat.res.load(e,n,((n,o)=>{n&&i(n),this.playing&&(this._isPlay=!1,this.stop(),this.cat.res.release(this._url)),this.playOnAwake=!1,this.enabled=!0,this.clip=o,this._url=e,t&&t()}))}update(e){this.currentTime>0&&(this._isPlay=!0),this._isPlay&&0==this.playing&&(this._isPlay=!1,this.enabled=!1,this.onComplete&&this.onComplete())}release(){this._url&&(this.cat.res.release(this._url),this._url=null)}}class Pp{cat;constructor(e){this.cat=e}}var jp;!function(e){e.MUSIC_ON="AudioEventConstant/MUSIC_ON",e.MUSIC_OFF="AudioEventConstant/MUSIC_OFF",e.EFFECT_ON="AudioEventConstant/EFFECT_ON",e.EFFECT_OFF="AudioEventConstant/EFFECT_OFF",e.PAUSE_AUDIO="AudioEventConstant/PAUSE_AUDIO",e.RESUME_AUDIO="AudioEventConstant/RESUME_AUDIO"}(jp||(jp={}));class qp extends Pp{local_data={};music;effect;_volume_music=1;_volume_effect=1;_switch_music=!0;_switch_effect=!0;local_store_key="game_audio";extra={};constructor(e){super(e),this.local_store_key=this.cat.audio_local_store_key;var t=new o("UIAudioManager");r.addPersistRootNode(t);var n=new o("UIMusic");n.parent=t,this.music=n.addComponent(Op).initAudio(e);var i=new o("UIEffect");i.parent=t,this.effect=i.addComponent(Dp).initAudio(e),this.load()}setMusicComplete(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.music.onComplete=e}playMusic(e,t){this.music.loop=!0,e&&this.music.load(e,(()=>{this._switch_music&&this.music?.play(),t&&t()}))}stopMusic(){0!=this.music.state&&this.music?.stop()}pauseMusic(){1==this.music.state&&this.music?.pause()}resumeMusic(){var e;Kg(e=[0,2]).call(e,this.music.state)&&this.music?.play()}get progressMusic(){return this.music.progress}set progressMusic(e){this.music.progress=e}get volumeMusic(){return this._volume_music}set volumeMusic(e){this._volume_music=e,this.music.volume=e}get switchMusic(){return this._switch_music}set switchMusic(e){if(s("设置背景音乐开关值",e,this._switch_music),e==this._switch_music)return;this._switch_music=e,e?this.resumeMusic():this.pauseMusic();const t=e?jp.MUSIC_ON:jp.MUSIC_OFF;this.cat.event.emit(t),this.save()}async playEffect(e){this._switch_effect&&e&&await this.effect.load(e).then((()=>{this.effect.play()}))}stopEffect(){this.effect?.stop()}get volumeEffect(){return this._volume_effect}set volumeEffect(e){this._volume_effect=e,this.effect.volume=e}get switchEffect(){return this._switch_effect}set switchEffect(e){if(e==this._switch_effect)return;this._switch_effect=e,e?this.effect?.play():this.effect?.stop();const t=e?jp.EFFECT_ON:jp.EFFECT_OFF;this.cat.event.emit(t),this.save()}resumeAll(){this.switchMusic&&this.music?.play(),this.switchEffect&&this.effect?.play()}pauseAll(){this.music?.pause(),this.effect?.pause()}stopAll(){this.music?.stop(),this.effect?.stop()}save(){this.local_data.volume_music=this._volume_music,this.local_data.volume_effect=this._volume_effect,this.local_data.switch_music=this._switch_music,this.local_data.switch_effect=this._switch_effect,this.local_data.extra=this.extra;let e=rb(this.local_data);return this.cat.storage.set(this.local_store_key,e),this}load(){try{let e=this.cat.storage.get(this.local_store_key);this.local_data=JSON.parse(e),this._volume_music=this.local_data.volume_music,this._volume_effect=this.local_data.volume_effect,this._switch_music=this.local_data.switch_music,this._switch_effect=this.local_data.switch_effect,this.extra=this.local_data.extra}catch(e){this.local_data={},this._volume_music=.6,this._volume_effect=1,this._switch_music=!0,this._switch_effect=!0,this.extra={}}this.music&&(this.music.volume=this._volume_music),this.effect&&(this.effect.volume=this._volume_effect)}}var $p=_,ef=function(e,t){var n=[][e];return!!n&&$p((function(){n.call(null,t||function(){return 1},1)}))},tf=Pb.forEach,nf=ef("forEach")?[].forEach:function(e){return tf(this,e,arguments.length>1?arguments[1]:void 0)};hi({target:"Array",proto:!0,forced:[].forEach!==nf},{forEach:nf});var of=Gg("Array","forEach"),rf=ns,sf=Ft,cf=ke,af=of,lf=Array.prototype,uf={DOMTokenList:!0,NodeList:!0},df=function(e){var t=e.forEach;return e===lf||cf(lf,e)&&t===lf.forEach||sf(uf,rf(e))?af:t},hf=H(df),gf=_,mf=Oe,bf=Qt("species"),pf=function(e){return mf>=51||!gf((function(){var t=[];return(t.constructor={})[bf]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},ff=Pb.filter;hi({target:"Array",proto:!0,forced:!pf("filter")},{filter:function(e){return ff(this,e,arguments.length>1?arguments[1]:void 0)}});var yf=Gg("Array","filter"),If=ke,Af=yf,Gf=Array.prototype,Cf=function(e){var t=e.filter;return e===Gf||If(Gf,e)&&t===Gf.filter?Af:t},Zf=H(Cf);function vf(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s}function Vf(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}"function"==typeof SuppressedError&&SuppressedError,hi({target:"Array",stat:!0},{isArray:Bm});var Bf=H(we.Array.isArray),Sf=j,Xf=dt,Ef=Je,Rf=Ft,Wf=Il,Jf=M,wf=Function,Ff=Sf([].concat),xf=Sf([].join),Yf={},Hf=Jf?wf.bind:function(e){var t=Xf(this),n=t.prototype,i=Wf(arguments,1),o=function(){var n=Ff(i,Wf(arguments));return this instanceof o?function(e,t,n){if(!Rf(Yf,t)){for(var i=[],o=0;o<t;o++)i[o]="a["+o+"]";Yf[t]=wf("C,a","return new C("+xf(i,",")+")")}return Yf[t](e,n)}(t,n.length,n):t.apply(e,n)};return Ef(n)&&(o.prototype=n),o},Nf=Hf;hi({target:"Function",proto:!0,forced:Function.bind!==Nf},{bind:Nf});var kf=Gg("Function","bind"),_f=ke,Mf=kf,zf=Function.prototype,Kf=function(e){var t=e.bind;return e===zf||_f(zf,e)&&t===zf.bind?Mf:t},Uf=H(Kf),Lf="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Df={};function Tf(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];throw new Error("number"==typeof e?"[MobX] minified error nr: "+e+(n.length?" "+n.map(String).join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+e)}function Qf(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==Lf?Lf:"undefined"!=typeof self?self:GA}function Of(){XA||Tf("Proxy not available")}function Pf(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function jf(e){return"function"==typeof e}function qf(e){switch(typeof e){case"string":case"symbol":case"number":return!0}return!1}function $f(e){return null!==e&&"object"==typeof e}function ey(e){if(!$f(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n.toString()===EA}function ty(e){var t=null==e?void 0:e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName)}function ny(e,t,n){vA(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function iy(e,t,n){vA(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function oy(e,t){var n="isMobX"+e;return t.prototype[n]=!0,function(e){return $f(e)&&!0===e[n]}}function ry(e){return null!=e&&"[object Map]"===Object.prototype.toString.call(e)}function sy(e){return null!=e&&"[object Set]"===Object.prototype.toString.call(e)}function cy(e){return null===e?null:"object"==typeof e?""+e:e}function ay(e,t){return VA.hasOwnProperty.call(e,t)}function ly(e,t){return!!(e&t)}function uy(e,t,n){return n?e|=t:e&=~t,e}function dy(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function hy(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,py(i.key),i)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function gy(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return dy(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?dy(e,t):void 0}}(e))||t){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function my(){return(my=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(null,arguments)}function by(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,function(e,t){(Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}(e,t)}function py(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}function fy(e){return Object.assign((function(t,n){if(Iy(n))return e.t(t,n);yy(t,n,e)}),e)}function yy(e,t,n){ay(e,FA)||ny(e,FA,my({},e[FA])),function(e){return"override"===e.i}(n)||(e[FA][t]=n)}function Iy(e){return"object"==typeof e&&"string"==typeof e.kind}function Ay(e,t,n){void 0===t&&(t=RA),void 0===n&&(n=RA);var i=new YA(e);return t!==RA&&BI(i,t),n!==RA&&SI(i,n),i}function Gy(e,t,n){return HI(e)?e:Array.isArray(e)?OA.array(e,{name:n}):ey(e)?OA.object(e,void 0,{name:n}):ry(e)?OA.map(e,{name:n}):sy(e)?OA.set(e,{name:n}):"function"!=typeof e||ZI(e)||FI(e)?e:ty(e)?XG(e):ZG(n,e)}function Cy(e){return e}function Zy(e,t){return{i:e,u:t,o:vy,s:Vy,t:By}}function vy(e,t,n,i){var o;if(null!=(o=this.u)&&o.bound)return null===this.s(e,t,n,!1)?0:1;if(i===e.h)return null===this.s(e,t,n,!1)?0:2;if(ZI(n.value))return 1;var r=Sy(e,this,t,n,!1);return vA(i,t,r),2}function Vy(e,t,n,i){var o=Sy(e,this,t,n);return e.v(t,o,i)}function By(e,t){var n,i=t.kind,o=t.name,r=t.addInitializer,s=this,c=function(e){var t,n,i,r;return Qy(null!=(t=null==(n=s.u)?void 0:n.name)?t:o.toString(),e,null!=(i=null==(r=s.u)?void 0:r.autoAction)&&i)};return"field"==i?function(e){var t,n=e;return ZI(n)||(n=c(n)),null!=(t=s.u)&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:"method"==i?(ZI(e)||(e=c(e)),null!=(n=this.u)&&n.bound&&r((function(){var e=this[o].bind(this);e.isMobxAction=!0,this[o]=e})),e):void Tf("Cannot apply '"+s.i+"' to '"+String(o)+"' (kind: "+i+"):\n'"+s.i+"' can only be used on properties with a function value.")}function Sy(e,t,n,i,o){var r,s,c,a,l,u,d;void 0===o&&(o=mG.safeDescriptors);var h,g=i.value;return null!=(r=t.u)&&r.bound&&(g=g.bind(null!=(h=e.l)?h:e.h)),{value:Qy(null!=(s=null==(c=t.u)?void 0:c.name)?s:n.toString(),g,null!=(a=null==(l=t.u)?void 0:l.autoAction)&&a,null!=(u=t.u)&&u.bound?null!=(d=e.l)?d:e.h:void 0),configurable:!o||e.p,enumerable:!1,writable:!o}}function Xy(e,t){return{i:e,u:t,o:Ey,s:Ry,t:Wy}}function Ey(e,t,n,i){var o;if(i===e.h)return null===this.s(e,t,n,!1)?0:2;if(null!=(o=this.u)&&o.bound&&(!ay(e.h,t)||!FI(e.h[t]))&&null===this.s(e,t,n,!1))return 0;if(FI(n.value))return 1;var r=Jy(e,0,0,n,!1,!1);return vA(i,t,r),2}function Ry(e,t,n,i){var o,r=Jy(e,0,0,n,null==(o=this.u)?void 0:o.bound);return e.v(t,r,i)}function Wy(e,t){var n,i=t.name,o=t.addInitializer;return FI(e)||(e=XG(e)),null!=(n=this.u)&&n.bound&&o((function(){var e=this[i].bind(this);e.isMobXFlow=!0,this[i]=e})),e}function Jy(e,t,n,i,o,r){void 0===r&&(r=mG.safeDescriptors);var s,c=i.value;return FI(c)||(c=XG(c)),o&&((c=c.bind(null!=(s=e.l)?s:e.h)).isMobXFlow=!0),{value:c,configurable:!r||e.p,enumerable:!1,writable:!r}}function wy(e,t){return{i:e,u:t,o:Fy,s:xy,t:Yy}}function Fy(e,t,n){return null===this.s(e,t,n,!1)?0:1}function xy(e,t,n,i){return e.m(t,my({},this.u,{get:n.get,set:n.set}),i)}function Yy(e,t){var n=this,i=t.name;return(0,t.addInitializer)((function(){var t=rA(this)[xA],o=my({},n.u,{get:e,context:this});o.name||(o.name="ObservableObject."+i.toString()),t.j.set(i,new rG(o))})),function(){return this[xA].O(i)}}function Hy(e,t){return{i:e,u:t,o:Ny,s:ky,t:_y}}function Ny(e,t,n){return null===this.s(e,t,n,!1)?0:1}function ky(e,t,n,i){var o,r;return e.g(t,n.value,null!=(o=null==(r=this.u)?void 0:r.enhancer)?o:Gy,i)}function _y(e,t){function n(e,t){var n,o,c=rA(e)[xA],a=new iG(t,null!=(n=null==(o=i.u)?void 0:o.enhancer)?n:Gy,"ObservableObject."+r.toString(),!1);c.j.set(r,a),s.add(e)}var i=this,o=t.kind,r=t.name,s=new WeakSet;if("accessor"==o)return{get:function(){return s.has(this)||n(this,e.get.call(this)),this[xA].O(r)},set:function(e){return s.has(this)||n(this,e),this[xA]._(r,e)},init:function(e){return s.has(this)||n(this,e),e}}}function My(e){return{i:"true",u:e,o:zy,s:Ky,t:Uy}}function zy(e,t,n,i){var o,r,s,c;if(n.get)return qA.o(e,t,n,i);if(n.set){var a=Qy(t.toString(),n.set);return i===e.h?null===e.v(t,{configurable:!mG.safeDescriptors||e.p,set:a})?0:2:(vA(i,t,{configurable:!0,set:a}),2)}if(i!==e.h&&"function"==typeof n.value)return ty(n.value)?(null!=(c=this.u)&&c.autoBind?XG.bound:XG).o(e,t,n,i):(null!=(s=this.u)&&s.autoBind?ZG.bound:ZG).o(e,t,n,i);var l,u=!1===(null==(o=this.u)?void 0:o.deep)?OA.ref:OA;return"function"==typeof n.value&&null!=(r=this.u)&&r.autoBind&&(n.value=n.value.bind(null!=(l=e.l)?l:e.h)),u.o(e,t,n,i)}function Ky(e,t,n,i){var o,r,s;return n.get?qA.s(e,t,n,i):n.set?e.v(t,{configurable:!mG.safeDescriptors||e.p,set:Qy(t.toString(),n.set)},i):("function"==typeof n.value&&null!=(o=this.u)&&o.autoBind&&(n.value=n.value.bind(null!=(s=e.l)?s:e.h)),(!1===(null==(r=this.u)?void 0:r.deep)?OA.ref:OA).s(e,t,n,i))}function Uy(){Tf("'"+this.i+"' cannot be used as a decorator")}function Ly(e){return e||MA}function Dy(e){return!0===e.deep?Gy:!1===e.deep?Cy:(t=e.defaultDecorator)&&null!=(n=null==(i=t.u)?void 0:i.enhancer)?n:Gy;var t,n,i}function Ty(e,t,n){return Iy(t)?zA.t(e,t):qf(t)?void yy(e,t,zA):HI(e)?e:ey(e)?OA.object(e,t,n):Array.isArray(e)?OA.array(e,t):ry(e)?OA.map(e,t):sy(e)?OA.set(e,t):"object"==typeof e&&null!==e?e:OA.box(e,t)}function Qy(e,t,n,i){function o(){return Oy(0,n,t,i||this,arguments)}return void 0===n&&(n=!1),o.isMobxAction=!0,o.toString=function(){return t.toString()},tG&&(nG.value=e,vA(o,"name",nG)),o}function Oy(e,t,n,i,o){var r=Py(0,t);try{return n.apply(i,o)}catch(e){throw r.S=e,e}finally{jy(r)}}function Py(e,t){var n=mG.trackingDerivation,i=!t||!n;mI();var o=mG.allowStateChanges;i&&(sI(),o=$y(!0));var r={A:i,k:n,M:o,V:aI(!0),N:!1,R:0,T:eG++,I:$A};return $A=r.T,r}function jy(e){$A!==e.T&&Tf(30),$A=e.I,void 0!==e.S&&(mG.suppressReactionErrors=!0),eI(e.M),lI(e.V),bI(),e.A&&cI(e.k),mG.suppressReactionErrors=!1}function qy(e,t){var n=$y(e);try{return t()}finally{eI(n)}}function $y(e){var t=mG.allowStateChanges;return mG.allowStateChanges=e,t}function eI(e){mG.allowStateChanges=e}function tI(e){return e instanceof lG}function nI(e){switch(e.L){case sG.C:return!1;case sG.P:case sG.K:return!0;case sG.B:for(var t=aI(!0),n=sI(),i=e.D,o=i.length,r=0;r<o;r++){var s=i[r];if(aG(s)){if(mG.disableErrorBoundaries)s.get();else try{s.get()}catch(e){return cI(n),lI(t),!0}if(e.L===sG.K)return cI(n),lI(t),!0}}return uI(e),cI(n),lI(t),!1}}function iI(e,t,n){var i=aI(!0);uI(e),e.W=new Array(0===e.q?100:e.D.length),e.G=0,e.q=++mG.runId;var o,r=mG.trackingDerivation;if(mG.trackingDerivation=e,mG.inBatch++,!0===mG.disableErrorBoundaries)o=t.call(n);else try{o=t.call(n)}catch(e){o=new lG(e)}return mG.inBatch--,mG.trackingDerivation=r,function(e){for(var t=e.D,n=e.D=e.W,i=sG.C,o=0,r=e.G,s=0;s<r;s++){var c=n[s];0===c.diffValue&&(c.diffValue=1,o!==s&&(n[o]=c),o++),c.L>i&&(i=c.L)}for(n.length=o,e.W=null,r=t.length;r--;){var a=t[r];0===a.diffValue&&hI(a,e),a.diffValue=0}for(;o--;){var l=n[o];1===l.diffValue&&(l.diffValue=0,dI(l,e))}i!==sG.C&&(e.L=i,e.H())}(e),lI(i),o}function oI(e){var t=e.D;e.D=[];for(var n=t.length;n--;)hI(t[n],e);e.L=sG.P}function rI(e){var t=sI();try{return e()}finally{cI(t)}}function sI(){var e=mG.trackingDerivation;return mG.trackingDerivation=null,e}function cI(e){mG.trackingDerivation=e}function aI(e){var t=mG.allowStateReads;return mG.allowStateReads=e,t}function lI(e){mG.allowStateReads=e}function uI(e){if(e.L!==sG.C){e.L=sG.C;for(var t=e.D,n=t.length;n--;)t[n].U=sG.C}}function dI(e,t){e.X.add(t),e.U>t.L&&(e.U=t.L)}function hI(e,t){e.X.delete(t),0===e.X.size&&gI(e)}function gI(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,mG.pendingUnobservations.push(e))}function mI(){mG.inBatch++}function bI(){if(0==--mG.inBatch){yI();for(var e=mG.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,0===n.X.size&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof rG&&n.F())}mG.pendingUnobservations=[]}}function pI(e){var t=mG.trackingDerivation;return null!==t?(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&mG.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved):(0===e.X.size&&mG.inBatch>0&&gI(e),!1)}function fI(e){e.U!==sG.K&&(e.U=sG.K,e.X.forEach((function(e){e.L===sG.C&&e.H(),e.L=sG.K})))}function yI(){mG.inBatch>0||mG.isRunningReactions||pG(II)}function II(){mG.isRunningReactions=!0;for(var e=mG.pendingReactions,t=0;e.length>0;){100==++t&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var n=e.splice(0),i=0,o=n.length;i<o;i++)n[i].J()}mG.isRunningReactions=!1}function AI(){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}}function GI(e){return function(t,n){return jf(t)?Qy(t.name||"<unnamed action>",t,e):jf(n)?Qy(t,n,e):Iy(n)?(e?AG:yG).t(t,n):qf(n)?yy(t,n,e?AG:yG):qf(t)?fy(Zy(e?"autoAction":"action",{name:t,autoAction:e})):void 0}}function CI(e){return Oy(0,!1,e,this,void 0)}function ZI(e){return jf(e)&&!0===e.isMobxAction}function vI(e,t){function n(){e(c)}var i,o,r,s;void 0===t&&(t=SA);var c,a=null!=(i=null==(o=t)?void 0:o.name)?i:"Autorun";if(t.scheduler||t.delay){var l=VI(t),u=!1;c=new bG(a,(function(){u||(u=!0,l((function(){u=!1,c.isDisposed||c.track(n)})))}),t.onError,t.requiresObservable)}else c=new bG(a,(function(){this.track(n)}),t.onError,t.requiresObservable);return null!=(r=t)&&null!=(r=r.signal)&&r.aborted||c.Y(),c.Z(null==(s=t)?void 0:s.signal)}function VI(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:vG}function BI(e,t,n){return XI("onBO",e,t,n)}function SI(e,t,n){return XI("onBUO",e,t,n)}function XI(e,t,n,i){var o="function"==typeof i?gA(t,n):gA(t),r=jf(i)?i:n,s=e+"L";return o[s]?o[s].add(r):o[s]=new Set([r]),function(){var e=o[s];e&&(e.delete(r),0===e.size&&delete o[s])}}function EI(e,t,n,i){var o=wA(t);return pA((function(){var t=rA(e,i)[xA];JA(o).forEach((function(e){t.s(e,o[e],!n||!(e in n)||n[e])}))})),e}function RI(e){var t,n={name:e.tt};return e.D&&e.D.length>0&&(n.dependencies=(t=e.D,Array.from(new Set(t))).map(RI)),n}function WI(e){var t={name:e.tt};return function(e){return e.X&&e.X.size>0}(e)&&(t.observers=Array.from(function(e){return e.X}(e)).map(WI)),t}function JI(){this.message="FLOW_CANCELLED"}function wI(e){jf(e.cancel)&&e.cancel()}function FI(e){return!0===(null==e?void 0:e.isMobXFlow)}function xI(e,t){if(void 0===t)return aG(e);if(!1===cA(e))return!1;if(!e[xA].j.has(t))return!1;var n=gA(e,t);return aG(n)}function YI(e,t){return!!e&&(void 0!==t?!!cA(e)&&e[xA].j.has(t):cA(e)||!!e[xA]||HA(e)||fG(e)||aG(e))}function HI(e){return YI(e)}function NI(e){return cA(e)?e[xA].nt():MG(e)||UG(e)?Array.from(e.keys()):nA(e)?e.map((function(e,t){return t})):void Tf(5)}function kI(e,t){return cA(e)?e[xA].it(t):MG(e)||UG(e)?e.has(t):nA(e)?t>=0&&t<e.length:void Tf(10)}function _I(e){if(cA(e))return e[xA].rt();Tf(38)}function MI(e,t,n){return e.set(t,n),n}function zI(e,t){void 0===t&&(t=void 0),mI();try{return e.apply(t)}finally{bI()}}function KI(e,t,n){var i;if("number"==typeof n.timeout){var o=new Error("WHEN_TIMEOUT");i=setTimeout((function(){if(!s[xA].isDisposed){if(s(),!n.onError)throw o;n.onError(o)}}),n.timeout)}n.name="When";var r=Qy("When-effect",t),s=vI((function(t){qy(!1,e)&&(t.dispose(),i&&clearTimeout(i),r())}),n);return s}function UI(e){return e[xA]}function LI(e){return void 0!==e.et&&e.et.length>0}function DI(e,t){var n=e.et||(e.et=[]);return n.push(t),Pf((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function TI(e,t){var n=sI();try{for(var i=[].concat(e.et||[]),o=0,r=i.length;o<r&&((t=i[o](t))&&!t.type&&Tf(14),t);o++);return t}finally{cI(n)}}function QI(e){return void 0!==e.ut&&e.ut.length>0}function OI(e,t){var n=e.ut||(e.ut=[]);return n.push(t),Pf((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function PI(e,t){var n=sI(),i=e.ut;if(i){for(var o=0,r=(i=i.slice()).length;o<r;o++)i[o](t);cI(n)}}function jI(e,t,n,i){return void 0===n&&(n="ObservableArray"),void 0===i&&(i=!1),Of(),pA((function(){var o=new wG(n,t,i,!1);iy(o.j,xA,o);var r=new Proxy(o.j,JG);return o.l=r,e&&e.length&&o.ot(0,0,e),r}))}function qI(e,t){"function"==typeof Array.prototype[e]&&(FG[e]=t(e))}function $I(e){return function(){var t=this[xA];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function eA(e){return function(t,n){var i=this,o=this[xA];return o.st.reportObserved(),o.ft(o.j)[e]((function(e,o){return t.call(n,e,o,i)}))}}function tA(e){return function(){var t=this,n=this[xA];n.st.reportObserved();var i=n.ft(n.j),o=arguments[0];return arguments[0]=function(e,n,i){return o(e,n,i,t)},i[e].apply(i,arguments)}}function nA(e){return $f(e)&&HG(e[xA])}function iA(e){return e[Symbol.toStringTag]="MapIterator",IA(e)}function oA(e){return e[Symbol.toStringTag]="SetIterator",IA(e)}function rA(e,t){var n;if(ay(e,xA))return e;var i=null!=(n=null==t?void 0:t.name)?n:"ObservableObject",o=new DG(e,new Map,String(i),function(e){var t;return e?null!=(t=e.defaultDecorator)?t:My(e):void 0}(t));return ny(e,xA,o),e}function sA(e){return LG[e]||(LG[e]={get:function(){return this[xA].O(e)},set:function(t){return this[xA]._(e,t)}})}function cA(e){return!!$f(e)&&TG(e[xA])}function aA(e,t,n){var i;null==(i=e.h[FA])||delete i[n]}function lA(e){return{enumerable:!1,configurable:!0,get:function(){return this[xA].ct(e)},set:function(t){this[xA].ht(e,t)}}}function uA(e){vA(qG.prototype,""+e,lA(e))}function dA(e){if(e>PG){for(var t=PG;t<e+100;t++)uA(t);PG=e}}function hA(e,t,n){return new qG(e,t,n)}function gA(e,t){if("object"==typeof e&&null!==e){if(nA(e))return void 0!==t&&Tf(23),e[xA].st;if(UG(e))return e.st;if(MG(e)){if(void 0===t)return e.vt;var n=e.lt.get(t)||e.dt.get(t);return n||Tf(25,t,bA(e)),n}if(cA(e)){if(!t)return Tf(26);var i=e[xA].j.get(t);return i||Tf(27,t,bA(e)),i}if(HA(e)||aG(e)||fG(e))return e}else if(jf(e)&&fG(e[xA]))return e[xA];Tf(28)}function mA(e,t){return e||Tf(29),void 0!==t?mA(gA(e,t)):HA(e)||aG(e)||fG(e)||MG(e)||UG(e)?e:e[xA]?e[xA]:void Tf(24,e)}function bA(e,t){var n;if(void 0!==t)n=gA(e,t);else{if(ZI(e))return e.name;n=cA(e)||MG(e)||UG(e)?mA(e):gA(e)}return n.tt}function pA(e){var t=sI(),n=$y(!0);mI();try{return e()}finally{bI(),eI(n),cI(t)}}function fA(e,t,n){return void 0===n&&(n=-1),function e(t,n,i,o,r){if(t===n)return 0!==t||1/t==1/n;if(null==t||null==n)return!1;if(t!=t)return n!=n;var s=typeof t;if("function"!==s&&"object"!==s&&"object"!=typeof n)return!1;var c=eC.call(t);if(c!==eC.call(n))return!1;switch(c){case"[object RegExp]":case"[object String]":return""+t==""+n;case"[object Number]":return+t!=+t?+n!=+n:0==+t?1/+t==1/n:+t==+n;case"[object Date]":case"[object Boolean]":return+t==+n;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(t)===Symbol.valueOf.call(n);case"[object Map]":case"[object Set]":i>=0&&i++}t=yA(t),n=yA(n);var a="[object Array]"===c;if(!a){if("object"!=typeof t||"object"!=typeof n)return!1;var l=t.constructor,u=n.constructor;if(l!==u&&!(jf(l)&&l instanceof l&&jf(u)&&u instanceof u)&&"constructor"in t&&"constructor"in n)return!1}if(0===i)return!1;i<0&&(i=-1),r=r||[];for(var d=(o=o||[]).length;d--;)if(o[d]===t)return r[d]===n;if(o.push(t),r.push(n),a){if((d=t.length)!==n.length)return!1;for(;d--;)if(!e(t[d],n[d],i-1,o,r))return!1}else{var h,g=Object.keys(t);if(d=g.length,Object.keys(n).length!==d)return!1;for(;d--;)if(!ay(n,h=g[d])||!e(t[h],n[h],i-1,o,r))return!1}return o.pop(),r.pop(),!0}(e,t,n)}function yA(e){return nA(e)?e.slice():ry(e)||MG(e)||sy(e)||UG(e)?Array.from(e.entries()):e}function IA(e){return e[Symbol.iterator]=AA,Object.assign(Object.create(tC),e)}function AA(){return this}Object.defineProperty(Df,"__esModule",{value:!0});var GA={},CA=Object.assign,ZA=Object.getOwnPropertyDescriptor,vA=Object.defineProperty,VA=Object.prototype,BA=[];Object.freeze(BA);var SA={};Object.freeze(SA);var XA="undefined"!=typeof Proxy,EA=Object.toString(),RA=function(){},WA=void 0!==Object.getOwnPropertySymbols,JA="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:WA?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,wA=Object.getOwnPropertyDescriptors||function(e){var t={};return JA(e).forEach((function(n){t[n]=ZA(e,n)})),t},FA=Symbol("mobx-stored-annotations"),xA=Symbol("mobx administration"),YA=function(){function e(e){void 0===e&&(e="Atom"),this.tt=void 0,this.bt=0,this.X=new Set,this.$=0,this.U=sG.P,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return pI(this)},t.reportChanged=function(){mI(),fI(this),bI()},t.toString=function(){return this.tt},hy(e,[{key:"isBeingObserved",get:function(){return ly(this.bt,e.pt)},set:function(t){this.bt=uy(this.bt,e.pt,t)}},{key:"isPendingUnobservation",get:function(){return ly(this.bt,e.yt)},set:function(t){this.bt=uy(this.bt,e.yt,t)}},{key:"diffValue",get:function(){return ly(this.bt,e.jt)?1:0},set:function(t){this.bt=uy(this.bt,e.jt,1===t)}}])}();YA.pt=1,YA.yt=2,YA.jt=4;var HA=oy("Atom",YA),NA={identity:function(e,t){return e===t},structural:function(e,t){return fA(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return fA(e,t,1)}},kA=fy({i:"override",o:function(){return 0},s:function(){Tf("'"+this.i+"' can only be used with 'makeObservable'")},t:function(){console.warn("'"+this.i+"' cannot be used with decorators - this is a no-op")}}),_A=My(),MA={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(MA);var zA=Hy("observable"),KA=Hy("observable.ref",{enhancer:Cy}),UA=Hy("observable.shallow",{enhancer:function(e,t,n){return null==e||cA(e)||nA(e)||MG(e)||UG(e)?e:Array.isArray(e)?OA.array(e,{name:n,deep:!1}):ey(e)?OA.object(e,void 0,{name:n,deep:!1}):ry(e)?OA.map(e,{name:n,deep:!1}):sy(e)?OA.set(e,{name:n,deep:!1}):void 0}}),LA=Hy("observable.struct",{enhancer:function(e,t){return fA(e,t)?t:e}}),DA=fy(zA);CA(Ty,DA);var TA,QA,OA=CA(Ty,{box:function(e,t){var n=Ly(t);return new iG(e,Dy(n),n.name,!0,n.equals)},array:function(e,t){var n=Ly(t);return(!1===mG.useProxies||!1===n.proxy?hA:jI)(e,Dy(n),n.name)},map:function(e,t){var n=Ly(t);return new _G(e,Dy(n),n.name)},set:function(e,t){var n=Ly(t);return new KG(e,Dy(n),n.name)},object:function(e,t,n){return pA((function(){return EI(!1===mG.useProxies||!1===(null==n?void 0:n.proxy)?rA({},n):function(e,t){var n,i;return Of(),null!=(i=(n=(e=rA(e,t))[xA]).l)?i:n.l=new Proxy(e,EG)}({},n),e,t)}))},ref:fy(KA),shallow:fy(UA),deep:DA,struct:fy(LA)}),PA=wy("computed"),jA=wy("computed.struct",{equals:NA.structural}),qA=function(e,t){if(Iy(t))return PA.t(e,t);if(qf(t))return yy(e,t,PA);if(ey(e))return fy(wy("computed",e));var n=ey(t)?t:{};return n.get=e,n.name||(n.name=e.name||""),new rG(n)};Object.assign(qA,PA),qA.struct=fy(jA);var $A=0,eG=1,tG=null!=(TA=null==(QA=ZA((function(){}),"name"))?void 0:QA.configurable)&&TA,nG={value:"action",configurable:!0,writable:!1,enumerable:!1},iG=function(e){function t(t,n,i,o,r){var s;return void 0===i&&(i="ObservableValue"),void 0===r&&(r=NA.default),(s=e.call(this,i)||this).enhancer=void 0,s.tt=void 0,s.equals=void 0,s.wt=!1,s.et=void 0,s.ut=void 0,s.Ot=void 0,s.dehancer=void 0,s.enhancer=n,s.tt=i,s.equals=r,s.Ot=n(t,void 0,i),s}by(t,e);var n=t.prototype;return n.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},n.set=function(e){(e=this.xt(e))!==mG.UNCHANGED&&this.gt(e)},n.xt=function(e){if(LI(this)){var t=TI(this,{object:this,type:WG,newValue:e});if(!t)return mG.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?mG.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),QI(this)&&PI(this,{type:WG,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n._t=function(e){return DI(this,e)},n.St=function(e,t){return t&&e({observableKind:"value",debugObjectName:this.tt,object:this,type:WG,newValue:this.Ot,oldValue:void 0}),OI(this,e)},n.raw=function(){return this.Ot},n.toJSON=function(){return this.get()},n.toString=function(){return this.tt+"["+this.Ot+"]"},n.valueOf=function(){return cy(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(YA),oG=oy("ObservableValue",iG),rG=function(){function e(e){this.L=sG.P,this.D=[],this.W=null,this.X=new Set,this.q=0,this.$=0,this.U=sG.C,this.G=0,this.Ot=new lG(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=cG.NONE,this.Vt=void 0,this.Et=void 0,this.Nt=void 0,this.Rt=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||Tf(31),this.derivation=e.get,this.tt=e.name||"ComputedValue",e.set&&(this.kt=Qy("ComputedValue-setter",e.set)),this.Et=e.equals||(e.compareStructural||e.struct?NA.structural:NA.default),this.Vt=e.context,this.Nt=e.requiresReaction,this.Rt=!!e.keepAlive}var t=e.prototype;return t.H=function(){!function(e){e.U===sG.C&&(e.U=sG.B,e.X.forEach((function(e){e.L===sG.C&&(e.L=sG.B,e.H())})))}(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.get=function(){if(this.isComputing&&Tf(32,this.tt,this.derivation),0!==mG.inBatch||0!==this.X.size||this.Rt){if(pI(this),nI(this)){var e=mG.trackingContext;this.Rt&&!e&&(mG.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==sG.K&&(e.U=sG.K,e.X.forEach((function(t){t.L===sG.B?t.L=sG.K:t.L===sG.C&&(e.U=sG.C)})))}(this),mG.trackingContext=e}}else nI(this)&&(this.Tt(),mI(),this.Ot=this.It(!1),bI());var t=this.Ot;if(tI(t))throw t.cause;return t},t.set=function(e){if(this.kt){this.isRunningSetter&&Tf(33,this.tt),this.isRunningSetter=!0;try{this.kt.call(this.Vt,e)}finally{this.isRunningSetter=!1}}else Tf(34,this.tt)},t.trackAndCompute=function(){var e=this.Ot,t=this.L===sG.P,n=this.It(!0),i=t||tI(e)||tI(n)||!this.Et(e,n);return i&&(this.Ot=n),i},t.It=function(e){this.isComputing=!0;var t,n=$y(!1);if(e)t=iI(this,this.derivation,this.Vt);else if(!0===mG.disableErrorBoundaries)t=this.derivation.call(this.Vt);else try{t=this.derivation.call(this.Vt)}catch(e){t=new lG(e)}return eI(n),this.isComputing=!1,t},t.F=function(){this.Rt||(oI(this),this.Ot=void 0)},t.St=function(e,t){var n=this,i=!0,o=void 0;return vI((function(){var r=n.get();if(!i||t){var s=sI();e({observableKind:"computed",debugObjectName:n.tt,type:WG,object:n,newValue:r,oldValue:o}),cI(s)}i=!1,o=r}))},t.Tt=function(){},t.toString=function(){return this.tt+"["+this.derivation.toString()+"]"},t.valueOf=function(){return cy(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},hy(e,[{key:"isComputing",get:function(){return ly(this.bt,e.Lt)},set:function(t){this.bt=uy(this.bt,e.Lt,t)}},{key:"isRunningSetter",get:function(){return ly(this.bt,e.Ct)},set:function(t){this.bt=uy(this.bt,e.Ct,t)}},{key:"isBeingObserved",get:function(){return ly(this.bt,e.pt)},set:function(t){this.bt=uy(this.bt,e.pt,t)}},{key:"isPendingUnobservation",get:function(){return ly(this.bt,e.yt)},set:function(t){this.bt=uy(this.bt,e.yt,t)}},{key:"diffValue",get:function(){return ly(this.bt,e.jt)?1:0},set:function(t){this.bt=uy(this.bt,e.jt,1===t)}}])}();rG.Lt=1,rG.Ct=2,rG.pt=4,rG.yt=8,rG.jt=16;var sG,cG,aG=oy("ComputedValue",rG);!function(e){e[e.P=-1]="NOT_TRACKING_",e[e.C=0]="UP_TO_DATE_",e[e.B=1]="POSSIBLY_STALE_",e[e.K=2]="STALE_"}(sG||(sG={})),function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(cG||(cG={}));var lG=function(e){this.cause=void 0,this.cause=e},uG=["mobxGuid","spyListeners","enforceActions","computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","allowStateReads","disableErrorBoundaries","runId","UNCHANGED","useProxies"],dG=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},hG=!0,gG=!1,mG=function(){var e=Qf();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(hG=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new dG).version&&(hG=!1),hG?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new dG):(setTimeout((function(){gG||Tf(35)}),1),new dG)}(),bG=function(){function e(e,t,n,i){void 0===e&&(e="Reaction"),this.tt=void 0,this.Pt=void 0,this.Kt=void 0,this.Bt=void 0,this.D=[],this.W=[],this.L=sG.P,this.q=0,this.G=0,this.bt=0,this.Mt=cG.NONE,this.tt=e,this.Pt=t,this.Kt=n,this.Bt=i}var t=e.prototype;return t.H=function(){this.Y()},t.Y=function(){this.isScheduled||(this.isScheduled=!0,mG.pendingReactions.push(this),yI())},t.J=function(){if(!this.isDisposed){mI(),this.isScheduled=!1;var e=mG.trackingContext;if(mG.trackingContext=this,nI(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}mG.trackingContext=e,bI()}},t.track=function(e){if(!this.isDisposed){mI(),this.isRunning=!0;var t=mG.trackingContext;mG.trackingContext=this;var n=iI(this,e,void 0);mG.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&oI(this),tI(n)&&this.Dt(n.cause),bI()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(mG.disableErrorBoundaries)throw e;mG.suppressReactionErrors||console.error("[mobx] uncaught error in '"+this+"'",e),mG.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(mI(),oI(this),bI()))},t.Z=function(e){var t=this,n=function n(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener("abort",n)};return null==e||null==e.addEventListener||e.addEventListener("abort",n),n[xA]=this,n},t.toString=function(){return"Reaction["+this.tt+"]"},t.trace=function(){},hy(e,[{key:"isDisposed",get:function(){return ly(this.bt,e.Wt)},set:function(t){this.bt=uy(this.bt,e.Wt,t)}},{key:"isScheduled",get:function(){return ly(this.bt,e.qt)},set:function(t){this.bt=uy(this.bt,e.qt,t)}},{key:"isTrackPending",get:function(){return ly(this.bt,e.Gt)},set:function(t){this.bt=uy(this.bt,e.Gt,t)}},{key:"isRunning",get:function(){return ly(this.bt,e.Ht)},set:function(t){this.bt=uy(this.bt,e.Ht,t)}},{key:"diffValue",get:function(){return ly(this.bt,e.jt)?1:0},set:function(t){this.bt=uy(this.bt,e.jt,1===t)}}])}();bG.Wt=1,bG.qt=2,bG.Gt=4,bG.Ht=8,bG.jt=16;var pG=function(e){return e()},fG=oy("Reaction",bG),yG=Zy("action"),IG=Zy("action.bound",{bound:!0}),AG=Zy("autoAction",{autoAction:!0}),GG=Zy("autoAction.bound",{autoAction:!0,bound:!0}),CG=GI(!1);Object.assign(CG,yG);var ZG=GI(!0);Object.assign(ZG,AG),CG.bound=fy(IG),ZG.bound=fy(GG);var vG=function(e){return e()},VG=0;JI.prototype=Object.create(Error.prototype);var BG=Xy("flow"),SG=Xy("flow.bound",{bound:!0}),XG=Object.assign((function(e,t){if(Iy(t))return BG.t(e,t);if(qf(t))return yy(e,t,BG);var n=e,i=n.name||"<unnamed flow>",o=function(){var e,t=arguments,o=++VG,r=CG(i+" - runid: "+o+" - init",n).apply(this,t),s=void 0,c=new Promise((function(t,n){function c(e){var t;s=void 0;try{t=CG(i+" - runid: "+o+" - yield "+u++,r.next).call(r,e)}catch(e){return n(e)}l(t)}function a(e){var t;s=void 0;try{t=CG(i+" - runid: "+o+" - yield "+u++,r.throw).call(r,e)}catch(e){return n(e)}l(t)}function l(e){if(!jf(null==e?void 0:e.then))return e.done?t(e.value):(s=Promise.resolve(e.value)).then(c,a);e.then(l,n)}var u=0;e=n,c(void 0)}));return c.cancel=CG(i+" - runid: "+o+" - cancel",(function(){try{s&&wI(s);var t=r.return(void 0),n=Promise.resolve(t.value);n.then(RA,RA),wI(n),e(new JI)}catch(t){e(t)}})),c};return o.isMobXFlow=!0,o}),BG);XG.bound=fy(SG);var EG={has:function(e,t){return UI(e).it(t)},get:function(e,t){return UI(e).ct(t)},set:function(e,t,n){var i;return!!qf(t)&&(null==(i=UI(e).ht(t,n,!0))||i)},deleteProperty:function(e,t){var n;return!!qf(t)&&(null==(n=UI(e).Ut(t,!0))||n)},defineProperty:function(e,t,n){var i;return null==(i=UI(e).v(t,n))||i},ownKeys:function(e){return UI(e).rt()},preventExtensions:function(){Tf(13)}},RG=Symbol("mobx-keys"),WG="update",JG={get:function(e,t){var n=e[xA];return t===xA?n:"length"===t?n.Xt():"string"!=typeof t||isNaN(t)?ay(FG,t)?FG[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var i=e[xA];return"length"===t&&i.Ft(n),"symbol"==typeof t||isNaN(t)?e[t]=n:i.ht(parseInt(t),n),!0},preventExtensions:function(){Tf(15)}},wG=function(){function e(e,t,n,i){void 0===e&&(e="ObservableArray"),this.zt=void 0,this.$t=void 0,this.st=void 0,this.j=[],this.et=void 0,this.ut=void 0,this.Jt=void 0,this.dehancer=void 0,this.l=void 0,this.Yt=0,this.zt=n,this.$t=i,this.st=new YA(e),this.Jt=function(e,n){return t(e,n,"ObservableArray[..]")}}var t=e.prototype;return t.Qt=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.ft=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},t._t=function(e){return DI(this,e)},t.St=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:"array",object:this.l,debugObjectName:this.st.tt,type:"splice",index:0,added:this.j.slice(),addedCount:this.j.length,removed:[],removedCount:0}),OI(this,e)},t.Xt=function(){return this.st.reportObserved(),this.j.length},t.Ft=function(e){("number"!=typeof e||isNaN(e)||e<0)&&Tf("Out of range: "+e);var t=this.j.length;if(e!==t)if(e>t){for(var n=new Array(e-t),i=0;i<e-t;i++)n[i]=void 0;this.ot(t,0,n)}else this.ot(e,t-e)},t.Zt=function(e,t){e!==this.Yt&&Tf(16),this.Yt+=t,this.$t&&t>0&&dA(e+t+1)},t.ot=function(e,t,n){var i=this,o=this.j.length;if(void 0===e?e=0:e>o?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:null==t?0:Math.max(0,Math.min(t,o-e)),void 0===n&&(n=BA),LI(this)){var r=TI(this,{object:this.l,type:"splice",index:e,removedCount:t,added:n});if(!r)return BA;t=r.removedCount,n=r.added}if(n=0===n.length?n:n.map((function(e){return i.Jt(e,void 0)})),this.$t){var s=n.length-t;this.Zt(o,s)}var c=this.tn(e,t,n);return 0===t&&0===n.length||this.nn(e,n,c),this.ft(c)},t.tn=function(e,t,n){var i;if(n.length<1e4)return(i=this.j).splice.apply(i,[e,t].concat(n));var o=this.j.slice(e,e+t),r=this.j.slice(e+t);this.j.length+=n.length-t;for(var s=0;s<n.length;s++)this.j[e+s]=n[s];for(var c=0;c<r.length;c++)this.j[e+n.length+c]=r[c];return o},t.in=function(e,t,n){var i=!this.zt&&!1,o=QI(this),r=o||i?{observableKind:"array",object:this.l,type:WG,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),o&&PI(this,r)},t.nn=function(e,t,n){var i=!this.zt&&!1,o=QI(this),r=o||i?{observableKind:"array",object:this.l,debugObjectName:this.st.tt,type:"splice",index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.st.reportChanged(),o&&PI(this,r)},t.ct=function(e){if(!(this.$t&&e>=this.j.length))return this.st.reportObserved(),this.Qt(this.j[e]);console.warn("[mobx] Out of bounds read: "+e)},t.ht=function(e,t){var n=this.j;if(this.$t&&e>n.length&&Tf(17,e,n.length),e<n.length){var i=n[e];if(LI(this)){var o=TI(this,{type:WG,object:this.l,index:e,newValue:t});if(!o)return;t=o.newValue}(t=this.Jt(t,i))!==i&&(n[e]=t,this.in(e,t,i))}else{for(var r=new Array(e+1-n.length),s=0;s<r.length-1;s++)r[s]=void 0;r[r.length-1]=t,this.ot(n.length,0,r)}},e}(),FG={clear:function(){return this.splice(0)},replace:function(e){var t=this[xA];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];var r=this[xA];switch(arguments.length){case 0:return[];case 1:return r.ot(e);case 2:return r.ot(e,t)}return r.ot(e,t,i)},spliceWithArray:function(e,t,n){return this[xA].ot(e,t,n)},push:function(){for(var e=this[xA],t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e.ot(e.j.length,0,n),e.j.length},pop:function(){return this.splice(Math.max(this[xA].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[xA],t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return e.ot(0,0,n),e.j.length},reverse:function(){return mG.trackingDerivation&&Tf(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){mG.trackingDerivation&&Tf(37,"sort");var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[xA],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};qI("at",$I),qI("concat",$I),qI("flat",$I),qI("includes",$I),qI("indexOf",$I),qI("join",$I),qI("lastIndexOf",$I),qI("slice",$I),qI("toString",$I),qI("toLocaleString",$I),qI("toSorted",$I),qI("toSpliced",$I),qI("with",$I),qI("every",eA),qI("filter",eA),qI("find",eA),qI("findIndex",eA),qI("findLast",eA),qI("findLastIndex",eA),qI("flatMap",eA),qI("forEach",eA),qI("map",eA),qI("some",eA),qI("toReversed",eA),qI("reduce",tA),qI("reduceRight",tA);var xG,YG,HG=oy("ObservableArrayAdministration",wG),NG={},kG="add",_G=function(){function e(e,t,n){var i=this;void 0===t&&(t=Gy),void 0===n&&(n="ObservableMap"),this.Jt=void 0,this.tt=void 0,this[xA]=NG,this.lt=void 0,this.dt=void 0,this.vt=void 0,this.et=void 0,this.ut=void 0,this.dehancer=void 0,this.Jt=t,this.tt=n,jf(Map)||Tf(18),pA((function(){i.vt=Ay("ObservableMap.keys()"),i.lt=new Map,i.dt=new Map,e&&i.merge(e)}))}var t=e.prototype;return t.it=function(e){return this.lt.has(e)},t.has=function(e){var t=this;if(!mG.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var i=n=new iG(this.it(e),Cy,"ObservableMap.key?",!1);this.dt.set(e,i),SI(i,(function(){return t.dt.delete(e)}))}return n.get()},t.set=function(e,t){var n=this.it(e);if(LI(this)){var i=TI(this,{type:n?WG:kG,object:this,newValue:t,name:e});if(!i)return this;t=i.newValue}return n?this.rn(e,t):this.en(e,t),this},t.delete=function(e){var t=this;if(LI(this)&&!TI(this,{type:"delete",object:this,name:e}))return!1;if(this.it(e)){var n=QI(this),i=n?{observableKind:"map",debugObjectName:this.tt,type:"delete",object:this,oldValue:this.lt.get(e).Ot,name:e}:null;return zI((function(){var n;t.vt.reportChanged(),null==(n=t.dt.get(e))||n.gt(!1),t.lt.get(e).gt(void 0),t.lt.delete(e)})),n&&PI(this,i),!0}return!1},t.rn=function(e,t){var n=this.lt.get(e);if((t=n.xt(t))!==mG.UNCHANGED){var i=QI(this),o=i?{observableKind:"map",debugObjectName:this.tt,type:WG,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&PI(this,o)}},t.en=function(e,t){var n=this;zI((function(){var i,o=new iG(t,n.Jt,"ObservableMap.key",!1);n.lt.set(e,o),t=o.Ot,null==(i=n.dt.get(e))||i.gt(!0),n.vt.reportChanged()}));var i=QI(this);i&&PI(this,i?{observableKind:"map",debugObjectName:this.tt,type:kG,object:this,name:e,newValue:t}:null)},t.get=function(e){return this.has(e)?this.Qt(this.lt.get(e).get()):this.Qt(void 0)},t.Qt=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.vt.reportObserved(),this.lt.keys()},t.values=function(){var e=this,t=this.keys();return iA({next:function(){var n=t.next(),i=n.done;return{done:i,value:i?void 0:e.get(n.value)}}})},t.entries=function(){var e=this,t=this.keys();return iA({next:function(){var n=t.next(),i=n.done,o=n.value;return{done:i,value:i?void 0:[o,e.get(o)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n,i=gy(this);!(n=i()).done;){var o=n.value;e.call(t,o[1],o[0],this)}},t.merge=function(e){var t=this;return MG(e)&&(e=new Map(e)),zI((function(){var n,i;ey(e)?function(e){var t=Object.keys(e);if(!WA)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return VA.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(n){return t.set(n,e[n])})):Array.isArray(e)?e.forEach((function(e){return t.set(e[0],e[1])})):ry(e)?(n=Object.getPrototypeOf(e),i=Object.getPrototypeOf(n),null!==Object.getPrototypeOf(i)&&Tf(19,e),e.forEach((function(e,n){return t.set(n,e)}))):null!=e&&Tf(20,e)})),this},t.clear=function(){var e=this;zI((function(){rI((function(){for(var t,n=gy(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},t.replace=function(e){var t=this;return zI((function(){for(var n,i=function(e){if(ry(e)||MG(e))return e;if(Array.isArray(e))return new Map(e);if(ey(e)){var t=new Map;for(var n in e)t.set(n,e[n]);return t}return Tf(21,e)}(e),o=new Map,r=!1,s=gy(t.lt.keys());!(n=s()).done;){var c=n.value;if(!i.has(c))if(t.delete(c))r=!0;else{var a=t.lt.get(c);o.set(c,a)}}for(var l,u=gy(i.entries());!(l=u()).done;){var d=l.value,h=d[0],g=d[1],m=t.lt.has(h);if(t.set(h,g),t.lt.has(h)){var b=t.lt.get(h);o.set(h,b),m||(r=!0)}}if(!r)if(t.lt.size!==o.size)t.vt.reportChanged();else for(var p=t.lt.keys(),f=o.keys(),y=p.next(),I=f.next();!y.done;){if(y.value!==I.value){t.vt.reportChanged();break}y=p.next(),I=f.next()}t.lt=o})),this},t.toString=function(){return"[object ObservableMap]"},t.toJSON=function(){return Array.from(this)},t.St=function(e){return OI(this,e)},t._t=function(e){return DI(this,e)},hy(e,[{key:"size",get:function(){return this.vt.reportObserved(),this.lt.size}},{key:Symbol.toStringTag,get:function(){return"Map"}}])}(),MG=oy("ObservableMap",_G),zG={},KG=function(){function e(e,t,n){var i=this;void 0===t&&(t=Gy),void 0===n&&(n="ObservableSet"),this.tt=void 0,this[xA]=zG,this.lt=new Set,this.st=void 0,this.ut=void 0,this.et=void 0,this.dehancer=void 0,this.Jt=void 0,this.tt=n,jf(Set)||Tf(22),this.Jt=function(e,i){return t(e,i,n)},pA((function(){i.st=Ay(i.tt),e&&i.replace(e)}))}var t=e.prototype;return t.Qt=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;zI((function(){rI((function(){for(var t,n=gy(e.lt.values());!(t=n()).done;)e.delete(t.value)}))}))},t.forEach=function(e,t){for(var n,i=gy(this);!(n=i()).done;){var o=n.value;e.call(t,o,o,this)}},t.add=function(e){var t=this;if(LI(this)&&!TI(this,{type:kG,object:this,newValue:e}))return this;if(!this.has(e)){zI((function(){t.lt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var n=QI(this);n&&PI(this,n?{observableKind:"set",debugObjectName:this.tt,type:kG,object:this,newValue:e}:null)}return this},t.delete=function(e){var t=this;if(LI(this)&&!TI(this,{type:"delete",object:this,oldValue:e}))return!1;if(this.has(e)){var n=QI(this),i=n?{observableKind:"set",debugObjectName:this.tt,type:"delete",object:this,oldValue:e}:null;return zI((function(){t.st.reportChanged(),t.lt.delete(e)})),n&&PI(this,i),!0}return!1},t.has=function(e){return this.st.reportObserved(),this.lt.has(this.Qt(e))},t.entries=function(){var e=this.values();return oA({next:function(){var t=e.next(),n=t.value,i=t.done;return i?{value:void 0,done:i}:{value:[n,n],done:i}}})},t.keys=function(){return this.values()},t.values=function(){this.st.reportObserved();var e=this,t=this.lt.values();return oA({next:function(){var n=t.next(),i=n.done;return i?{value:void 0,done:i}:{value:e.Qt(n.value),done:i}}})},t.intersection=function(e){return sy(e)&&!UG(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return sy(e)&&!UG(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return sy(e)&&!UG(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return sy(e)&&!UG(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return UG(e)&&(e=new Set(e)),zI((function(){Array.isArray(e)||sy(e)?(t.clear(),e.forEach((function(e){return t.add(e)}))):null!=e&&Tf("Cannot initialize set from "+e)})),this},t.St=function(e){return OI(this,e)},t._t=function(e){return DI(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return"[object ObservableSet]"},t[Symbol.iterator]=function(){return this.values()},hy(e,[{key:"size",get:function(){return this.st.reportObserved(),this.lt.size}},{key:Symbol.toStringTag,get:function(){return"Set"}}])}(),UG=oy("ObservableSet",KG),LG=Object.create(null),DG=function(){function e(e,t,n,i){void 0===t&&(t=new Map),void 0===i&&(i=_A),this.h=void 0,this.j=void 0,this.tt=void 0,this.un=void 0,this.vt=void 0,this.ut=void 0,this.et=void 0,this.l=void 0,this.p=void 0,this.on=void 0,this.sn=void 0,this.h=e,this.j=t,this.tt=n,this.un=i,this.vt=new YA("ObservableObject.keys"),this.p=ey(this.h)}var t=e.prototype;return t.O=function(e){return this.j.get(e).get()},t._=function(e,t){var n=this.j.get(e);if(n instanceof rG)return n.set(t),!0;if(LI(this)){var i=TI(this,{type:WG,object:this.l||this.h,name:e,newValue:t});if(!i)return null;t=i.newValue}if((t=n.xt(t))!==mG.UNCHANGED){var o=QI(this),r=o?{type:WG,observableKind:"object",debugObjectName:this.tt,object:this.l||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),o&&PI(this,r)}return!0},t.ct=function(e){return mG.trackingDerivation&&!ay(this.h,e)&&this.it(e),this.h[e]},t.ht=function(e,t,n){return void 0===n&&(n=!1),ay(this.h,e)?this.j.has(e)?this._(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.s(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.un,n)},t.it=function(e){if(!mG.trackingDerivation)return e in this.h;this.sn||(this.sn=new Map);var t=this.sn.get(e);return t||(t=new iG(e in this.h,Cy,"ObservableObject.key?",!1),this.sn.set(e,t)),t.get()},t.o=function(e,t){if(!0===t&&(t=this.un),!1!==t){if(!(e in this.h)){var n;if(null!=(n=this.h[FA])&&n[e])return;Tf(1,t.i,this.tt+"."+e.toString())}for(var i=this.h;i&&i!==VA;){var o=ZA(i,e);if(o){var r=t.o(this,e,o,i);if(0===r)return;if(1===r)break}i=Object.getPrototypeOf(i)}aA(this,0,e)}},t.s=function(e,t,n,i){if(void 0===i&&(i=!1),!0===n&&(n=this.un),!1===n)return this.v(e,t,i);var o=n.s(this,e,t,i);return o&&aA(this,0,e),o},t.v=function(e,t,n){void 0===n&&(n=!1);try{mI();var i=this.Ut(e);if(!i)return i;if(LI(this)){var o=TI(this,{object:this.l||this.h,name:e,type:kG,newValue:t.value});if(!o)return null;var r=o.newValue;t.value!==r&&(t=my({},t,{value:r}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else vA(this.h,e,t);this.fn(e,t.value)}finally{bI()}return!0},t.g=function(e,t,n,i){void 0===i&&(i=!1);try{mI();var o=this.Ut(e);if(!o)return o;if(LI(this)){var r=TI(this,{object:this.l||this.h,name:e,type:kG,newValue:t});if(!r)return null;t=r.newValue}var s=sA(e),c={configurable:!mG.safeDescriptors||this.p,enumerable:!0,get:s.get,set:s.set};if(i){if(!Reflect.defineProperty(this.h,e,c))return!1}else vA(this.h,e,c);var a=new iG(t,n,"ObservableObject.key",!1);this.j.set(e,a),this.fn(e,a.Ot)}finally{bI()}return!0},t.m=function(e,t,n){void 0===n&&(n=!1);try{mI();var i=this.Ut(e);if(!i)return i;if(LI(this)&&!TI(this,{object:this.l||this.h,name:e,type:kG,newValue:void 0}))return null;t.name||(t.name="ObservableObject.key"),t.context=this.l||this.h;var o=sA(e),r={configurable:!mG.safeDescriptors||this.p,enumerable:!1,get:o.get,set:o.set};if(n){if(!Reflect.defineProperty(this.h,e,r))return!1}else vA(this.h,e,r);this.j.set(e,new rG(t)),this.fn(e,void 0)}finally{bI()}return!0},t.Ut=function(e,t){if(void 0===t&&(t=!1),!ay(this.h,e))return!0;if(LI(this)&&!TI(this,{object:this.l||this.h,name:e,type:"remove"}))return null;try{var n;mI();var i,o=QI(this),r=this.j.get(e),s=void 0;if(!r&&o&&(s=null==(i=ZA(this.h,e))?void 0:i.value),t){if(!Reflect.deleteProperty(this.h,e))return!1}else delete this.h[e];r&&(this.j.delete(e),r instanceof iG&&(s=r.Ot),fI(r)),this.vt.reportChanged(),null==(n=this.sn)||null==(n=n.get(e))||n.set(e in this.h),o&&o&&PI(this,{type:"remove",observableKind:"object",object:this.l||this.h,debugObjectName:this.tt,oldValue:s,name:e})}finally{bI()}return!0},t.St=function(e){return OI(this,e)},t._t=function(e){return DI(this,e)},t.fn=function(e,t){var n,i=QI(this);i&&i&&PI(this,i?{type:kG,observableKind:"object",debugObjectName:this.tt,object:this.l||this.h,name:e,newValue:t}:null),null==(n=this.sn)||null==(n=n.get(e))||n.set(!0),this.vt.reportChanged()},t.rt=function(){return this.vt.reportObserved(),JA(this.h)},t.nt=function(){return this.vt.reportObserved(),Object.keys(this.h)},e}(),TG=oy("ObservableObjectAdministration",DG),QG=lA(0),OG=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),PG=0,jG=function(){};xG=jG,YG=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(xG.prototype,YG):void 0!==xG.prototype.__proto__?xG.prototype.__proto__=YG:xG.prototype=YG;var qG=function(e){function t(t,n,i,o){var r;return void 0===i&&(i="ObservableArray"),void 0===o&&(o=!1),r=e.call(this)||this,pA((function(){var e=new wG(i,n,o,!0);e.l=r,iy(r,xA,e),t&&t.length&&r.spliceWithArray(0,0,t),OG&&Object.defineProperty(r,"0",QG)})),r}by(t,e);var n=t.prototype;return n.concat=function(){this[xA].st.reportObserved();for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Array.prototype.concat.apply(this.slice(),t.map((function(e){return nA(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return IA({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},hy(t,[{key:"length",get:function(){return this[xA].Xt()},set:function(e){this[xA].Ft(e)}},{key:Symbol.toStringTag,get:function(){return"Array"}}])}(jG);Object.entries(FG).forEach((function(e){var t=e[0];"concat"!==t&&ny(qG.prototype,t,e[1])})),dA(1e3);var $G,eC=VA.toString,tC=(null==($G=Qf().Iterator)?void 0:$G.prototype)||{};["Symbol","Map","Set"].forEach((function(e){void 0===Qf()[e]&&Tf("MobX requires global '"+e+"' to be available or polyfilled")})),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:AI,extras:{getDebugName:bA},$mobx:xA}),Df.$mobx=xA,Df.FlowCancellationError=JI,Df.ObservableMap=_G,Df.ObservableSet=KG,Df.Reaction=bG,Df._allowStateChanges=qy,Df._allowStateChangesInsideComputed=CI,Df._allowStateReadsEnd=lI,Df._allowStateReadsStart=aI,Df._autoAction=ZG,Df._endAction=jy,Df._getAdministration=mA,Df._getGlobalState=function(){return mG},Df._interceptReads=function(e,t,n){var i;return MG(e)||nA(e)||oG(e)?i=mA(e):cA(e)&&(i=mA(e,t)),i.dehancer="function"==typeof t?t:n,function(){i.dehancer=void 0}},Df._isComputingDerivation=function(){return null!==mG.trackingDerivation},Df._resetGlobalState=function(){var e=new dG;for(var t in e)-1===uG.indexOf(t)&&(mG[t]=e[t]);mG.allowStateChanges=!mG.enforceActions},Df._startAction=Py,Df.action=CG,Df.autorun=vI,Df.comparer=NA,Df.computed=qA,Df.configure=function(e){!0===e.isolateGlobalState&&function(){if((mG.pendingReactions.length||mG.inBatch||mG.isRunningReactions)&&Tf(36),gG=!0,hG){var e=Qf();0==--e.__mobxInstanceCount&&(e.__mobxGlobals=void 0),mG=new dG}}();var t,n,i=e.useProxies,o=e.enforceActions;if(void 0!==i&&(mG.useProxies="always"===i||"never"!==i&&"undefined"!=typeof Proxy),"ifavailable"===i&&(mG.verifyProxies=!0),void 0!==o){var r="always"===o?"always":"observed"===o;mG.enforceActions=r,mG.allowStateChanges=!0!==r&&"always"!==r}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries","safeDescriptors"].forEach((function(t){t in e&&(mG[t]=!!e[t])})),mG.allowStateReads=!mG.observableRequiresReaction,e.reactionScheduler&&(t=e.reactionScheduler,n=pG,pG=function(e){return t((function(){return n(e)}))})},Df.createAtom=Ay,Df.defineProperty=function(e,t,n){if(cA(e))return e[xA].v(t,n);Tf(39)},Df.entries=function(e){return cA(e)?NI(e).map((function(t){return[t,e[t]]})):MG(e)?NI(e).map((function(t){return[t,e.get(t)]})):UG(e)?Array.from(e.entries()):nA(e)?e.map((function(e,t){return[t,e]})):void Tf(7)},Df.extendObservable=EI,Df.flow=XG,Df.flowResult=function(e){return e},Df.get=function(e,t){if(kI(e,t))return cA(e)?e[xA].ct(t):MG(e)?e.get(t):nA(e)?e[t]:void Tf(11)},Df.getAtom=gA,Df.getDebugName=bA,Df.getDependencyTree=function(e,t){return RI(gA(e,t))},Df.getObserverTree=function(e,t){return WI(gA(e,t))},Df.has=kI,Df.intercept=function(e,t,n){return jf(n)?function(e,t,n){return mA(e,t)._t(n)}(e,t,n):function(e,t){return mA(e)._t(t)}(e,t)},Df.isAction=ZI,Df.isBoxedObservable=oG,Df.isComputed=function(e){return xI(e)},Df.isComputedProp=function(e,t){return xI(e,t)},Df.isFlow=FI,Df.isFlowCancellationError=function(e){return e instanceof JI},Df.isObservable=HI,Df.isObservableArray=nA,Df.isObservableMap=MG,Df.isObservableObject=cA,Df.isObservableProp=function(e,t){return YI(e,t)},Df.isObservableSet=UG,Df.keys=NI,Df.makeAutoObservable=function(e,t,n){return ey(e)?EI(e,e,t,n):(pA((function(){var i=rA(e,n)[xA];if(!e[RG]){var o=Object.getPrototypeOf(e),r=new Set([].concat(JA(e),JA(o)));r.delete("constructor"),r.delete(xA),ny(o,RG,r)}e[RG].forEach((function(e){return i.o(e,!t||!(e in t)||t[e])}))})),e)},Df.makeObservable=function(e,t,n){return pA((function(){var i=rA(e,n)[xA];null!=t||(t=function(e){return ay(e,FA)||ny(e,FA,my({},e[FA])),e[FA]}(e)),JA(t).forEach((function(e){return i.o(e,t[e])}))})),e},Df.observable=OA,Df.observe=function(e,t,n,i){return jf(n)?function(e,t,n,i){return mA(e,t).St(n,i)}(e,t,n,i):function(e,t,n){return mA(e).St(t,n)}(e,t,n)},Df.onBecomeObserved=BI,Df.onBecomeUnobserved=SI,Df.onReactionError=function(e){return mG.globalReactionErrorHandlers.push(e),function(){var t=mG.globalReactionErrorHandlers.indexOf(e);t>=0&&mG.globalReactionErrorHandlers.splice(t,1)}},Df.override=kA,Df.ownKeys=_I,Df.reaction=function(e,t,n){function i(){if(b=!1,!f.isDisposed){var t=!1,i=l;f.track((function(){var n=qy(!1,(function(){return e(f)}));t=m||!p(l,n),l=n})),(m&&n.fireImmediately||!m&&t)&&d(l,i,f),m=!1}}var o,r,s;void 0===n&&(n=SA);var c,a,l,u=null!=(o=n.name)?o:"Reaction",d=CG(u,n.onError?(c=n.onError,a=t,function(){try{return a.apply(this,arguments)}catch(e){c.call(this,e)}}):t),h=!n.scheduler&&!n.delay,g=VI(n),m=!0,b=!1,p=n.compareStructural?NA.structural:n.equals||NA.default,f=new bG(u,(function(){m||h?i():b||(b=!0,g(i))}),n.onError,n.requiresObservable);return null!=(r=n)&&null!=(r=r.signal)&&r.aborted||f.Y(),f.Z(null==(s=n)?void 0:s.signal)},Df.remove=function(e,t){cA(e)?e[xA].Ut(t):MG(e)||UG(e)?e.delete(t):nA(e)?("number"!=typeof t&&(t=parseInt(t,10)),e.splice(t,1)):Tf(9)},Df.runInAction=CI,Df.set=function e(t,n,i){if(2!==arguments.length||UG(t))cA(t)?t[xA].ht(n,i):MG(t)?t.set(n,i):UG(t)?t.add(n):nA(t)?("number"!=typeof n&&(n=parseInt(n,10)),n<0&&Tf("Invalid index: '"+n+"'"),mI(),n>=t.length&&(t.length=n+1),t[n]=i,bI()):Tf(8);else{mI();var o=n;try{for(var r in o)e(t,r,o[r])}finally{bI()}}},Df.spy=AI,Df.toJS=function(e){return function e(t,n){if(null==t||"object"!=typeof t||t instanceof Date||!HI(t))return t;if(oG(t)||aG(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(nA(t)){var i=MI(n,t,new Array(t.length));return t.forEach((function(t,o){i[o]=e(t,n)})),i}if(UG(t)){var o=MI(n,t,new Set);return t.forEach((function(t){o.add(e(t,n))})),o}if(MG(t)){var r=MI(n,t,new Map);return t.forEach((function(t,i){r.set(i,e(t,n))})),r}var s=MI(n,t,{});return _I(t).forEach((function(i){VA.propertyIsEnumerable.call(t,i)&&(s[i]=e(t[i],n))})),s}(e,new Map)},Df.trace=function(){},Df.transaction=zI,Df.untracked=rI,Df.values=function(e){return cA(e)?NI(e).map((function(t){return e[t]})):MG(e)?NI(e).map((function(t){return e.get(t)})):UG(e)?Array.from(e.values()):nA(e)?e.slice():void Tf(6)},Df.when=function(e,t,n){return 1===arguments.length||t&&"object"==typeof t?function(e,t){var n,i,o;if(null!=t&&null!=(n=t.signal)&&n.aborted)return Object.assign(Promise.reject(new Error("WHEN_ABORTED")),{cancel:function(){return null}});var r=new Promise((function(n,r){var s,c=KI(e,n,my({},t,{onError:r}));i=function(){c(),r(new Error("WHEN_CANCELLED"))},o=function(){c(),r(new Error("WHEN_ABORTED"))},null==t||null==(s=t.signal)||null==s.addEventListener||s.addEventListener("abort",o)})).finally((function(){var e;return null==t||null==(e=t.signal)||null==e.removeEventListener?void 0:e.removeEventListener("abort",o)}));return r.cancel=i,r}(e,t):KI(e,t,n||{})};const{IObservable:nC,IDepTreeNode:iC,Reaction:oC,IReactionPublic:rC,IReactionDisposer:sC,untracked:cC,IAtom:aC,createAtom:lC,spy:uC,IComputedValue:dC,IEqualsComparer:hC,comparer:gC,IEnhancer:mC,IInterceptable:bC,IInterceptor:pC,IListenable:fC,IObjectWillChange:yC,IObjectDidChange:IC,isObservableObject:AC,IValueDidChange:GC,IValueWillChange:CC,IObservableValue:ZC,isBoxedObservable:vC,IObservableArray:VC,IArrayWillChange:BC,IArrayWillSplice:SC,IArraySplice:XC,IArrayUpdate:EC,IArrayDidChange:RC,isObservableArray:WC,IKeyValueMap:JC,ObservableMap:wC,IMapEntries:FC,IMapEntry:xC,IMapWillChange:YC,IMapDidChange:HC,isObservableMap:NC,IObservableMapInitialValues:kC,ObservableSet:_C,isObservableSet:MC,ISetDidChange:zC,ISetWillChange:KC,IObservableSetInitialValues:UC,transaction:LC,observable:DC,IObservableFactory:TC,CreateObservableOptions:QC,computed:OC,IComputedFactory:PC,isObservable:jC,isObservableProp:qC,isComputed:$C,isComputedProp:eZ,extendObservable:tZ,observe:nZ,intercept:iZ,autorun:oZ,IAutorunOptions:rZ,reaction:sZ,IReactionOptions:cZ,when:aZ,IWhenOptions:lZ,action:uZ,isAction:dZ,runInAction:hZ,IActionFactory:gZ,keys:mZ,values:bZ,entries:pZ,set:fZ,remove:yZ,has:IZ,get:AZ,ownKeys:GZ,apiDefineProperty:CZ,configure:ZZ,onBecomeObserved:vZ,onBecomeUnobserved:VZ,flow:BZ,isFlow:SZ,flowResult:XZ,FlowCancellationError:EZ,isFlowCancellationError:RZ,toJS:WZ,trace:JZ,IObserverTree:wZ,IDependencyTree:FZ,getDependencyTree:xZ,getObserverTree:YZ,resetGlobalState:HZ,getGlobalState:NZ,getAtom:kZ,getAdministration:_Z,allowStateChanges:MZ,Lambda:zZ,$mobx:KZ,isComputingDerivation:UZ,onReactionError:LZ,interceptReads:DZ,IComputedValueOptions:TZ,IActionRunInfo:QZ,_startAction:OZ,_endAction:PZ,allowStateReadsStart:jZ,allowStateReadsEnd:qZ,makeObservable:$Z,makeAutoObservable:ev,autoAction:tv,AnnotationsMap:nv,AnnotationMapEntry:iv,override:ov}=Df;class rv extends c{props={};data={};cat=(()=>mi._cat)();autorunDisposers=[];reactionDisposers=[];eventEmitter=[];hook={destroyed:()=>{},started:()=>{}};initUI(){}__preload(){this.initUI(),this.onAutoObserver()}constructor(){super(),$Z(this,{props:DC,data:DC})}onAutoObserver(){}addAutorun(e){const t=Bf(e)?e:[e];return hf(t).call(t,(e=>{const t=oZ(e);this.autorunDisposers.push(t)})),this}addReaction(e,t,n){const i=sZ(e,t,n);return this.reactionDisposers.push(i),this}addAudoListener(e){var t;return Kg(t=this.eventEmitter).call(t,e)||e===this.cat.event||this.eventEmitter.push(e),e}_onPreDestroy(){var e,t;if(hf(e=this.autorunDisposers).call(e,(e=>{e()})),hf(t=this.reactionDisposers).call(t,(e=>{e()})),this.autorunDisposers=[],this.reactionDisposers=[],!super._onPreDestroy)throw new Error("_onPreDestroy已弃用");super._onPreDestroy()}onDisable(){var e;this.onHide(),this.deleteAllEventByEmitter(this.cat.event),hf(e=this.eventEmitter).call(e,(e=>{this.deleteAllEventByEmitter(e)})),this.eventEmitter=[],this.removeListener()}deleteAllEventByEmitter(e){const t=e._events;for(const n in t){let i=t[n];Bf(i)||(i=[i]),hf(i).call(i,(t=>{t.context===this&&e.off(n,t.fn,this)}))}}onEnable(){this.onShow(),this.addListener(),this.onEventListener()}onEventListener(){}addListener(){}removeListener(){}addToParent(e,t,n){const i=e instanceof a?l(e):e instanceof c?e.node:e;if("number"==typeof t){const e=t,o=n;this.setOptions(o),i.insertChild(this.node,e)}else{const e=t;this.setOptions(e),i.addChild(this.node)}return this}setOptions(e){if(e)for(let t in e)switch(t){case"hook":e.hook&&(this.hook=e.hook);break;case"props":null!==e.props&&"object"==typeof e.props&&(this.props=e.props);break;case"data":null!==e.data&&"object"==typeof e.data&&(this.data=e.data)}}setUpdateData(e){return e&&Yo(this.data,e),this}setUpdateProps(e){return this.props,e&&Yo(this.props,e),this}removeAndDestroy(){u(this?.node)&&(this.node.removeFromParent(),this.node.destroy())}setPosition(e){return this.node.setPosition(e),this}setScale(e){return this.node.setScale(e),this}setAngle(e){return this.node.angle=e,this}setRotation(e){return this.node.setRotation(e),this}setRotationFromEuler(e){return this.node.setRotationFromEuler(e),this}onShow(){}onHide(){}setNodeAndChildrenLayer(e){return sv(this.node,e),this}}const sv=(e,t)=>{var n,i,o;e.layer="string"==typeof t?2**d.nameToLayer(t):t,(null==(n=e)?void 0:Uf(o=Function.call).call(o,hf(i=n.children),i))?.((e=>{sv(e,t)}))};class cv extends rv{lastEnterDirection="center";screen;isClosing=!1;root;constructor(){super(),this._init()}_init(){this.root=this.node,this.screen=h.getVisibleSize()}async showTween(e){let{isMotion:t=!0,direction:n="center",duration:i=.1,isBounce:o=!0,bounceDuration:r=.05}=e;if(this.lastEnterDirection=n,t){const e=this.node.getComponent(g);let t,r;e&&(e.updateAlignment(),e.enabled=!1),m(1.1,1.1,1),"center"==n?(t=m(.01,.01,.01),r=m(1,1,1)):(t="left"==n?m(-this.screen.width,0,0):"right"==n?m(this.screen.width,0,0):m(0,"top"==n?this.screen.height:-this.screen.height,0),r=m(0,0,0)),await this.handle(n,i,t,r,o),e&&(e.enabled=!0)}}async hideTween(e){let{isMotion:t=!0,direction:n,duration:i=.1}=e;if(n=n||this.lastEnterDirection,!this.isClosing){if(this.isClosing=!0,b(this.node).removeSelf(),t){const e=this.node.getComponent(g);let t,o;e&&(e.enabled=!1),"center"==n?(t=this.node.scale,o=m(0,0,0)):(o="left"==n?m(-this.screen.width,0,0):"right"==n?m(this.screen.width,0,0):m(0,"top"==n?this.screen.height:-this.screen.height,0),t=this.node.getPosition()),await this.handle(n,i,t,o,!1)}this.removeAndDestroy()}}async handle(e,t,n,i,o){"center"==e?this.node.setScale(n):this.node.setPosition(n),await this.deftween(t,{["center"==e?"scale":"position"]:i},o)}deftween(e,t,n,i){return new bg(((n,i)=>{b(this.node).to(e,t).call((()=>{n()})).start()}))}}const{ccclass:av,property:lv}=t;var uv;!function(e){e[e.EFFECT=0]="EFFECT",e[e.BGM=1]="BGM"}(uv||(uv={}));class dv extends rv{type=(()=>uv.EFFECT)();clip=null;loop=!1;volume=1;playOnAwake=!1;audioSource=(()=>new e)();onEnable(){super.onEnable(),this.clip&&(this.audioSource.clip=this.clip),this.audioSource.loop=this.loop,this.audioSource.volume=this.volume,this.audioSource.playOnAwake=this.playOnAwake,this.cat.event.on(jp.EFFECT_ON,this.onPlayEffectHandler,this).on(jp.EFFECT_OFF,this.onStopEffectHandler,this).on(jp.MUSIC_ON,this.onPlayMusicHandler,this).on(jp.MUSIC_OFF,this.onStopMusicHandler,this)}__preload(){super.__preload();const{volumeEffect:e,volumeMusic:t}=this.cat.audio;this.audioSource.volume=this.type===uv.BGM?t:e}start(){}stopAudio(){this.audioSource.stop()}playAudio(){const{switchEffect:e,switchMusic:t}=this.cat.audio;this.audioSource.playing||!(this.type===uv.BGM?t:e)||f._paused||this.audioSource.play()}onPlayEffectHandler(){}onStopEffectHandler(){this.stopAudio()}onPlayMusicHandler(){}onStopMusicHandler(){this.stopAudio()}_onPreDestroy(){this.onStopMusicHandler(),super._onPreDestroy()}}vf([lv({tooltip:"类型:\n EFFECT 音效\n BGM 音乐",type:p(uv)}),Vf("design:type",Number)],dv.prototype,"type",void 0),vf([lv({tooltip:"音源",type:n}),Vf("design:type",n)],dv.prototype,"clip",void 0),vf([lv({tooltip:"循环"}),Vf("design:type",Boolean)],dv.prototype,"loop",void 0),vf([lv({tooltip:"音量"}),Vf("design:type",Number)],dv.prototype,"volume",void 0),vf([lv({tooltip:"是否启用自动播放"}),Vf("design:type",Boolean)],dv.prototype,"playOnAwake",void 0);const{ccclass:hv,property:gv}=t;class mv extends cv{type=(()=>uv.EFFECT)();clip=null;loop=!1;volume=1;playOnAwake=!1;audioSource=(()=>new e)();onEnable(){super.onEnable(),this.cat.event.on(jp.EFFECT_ON,this.onPlayEffectHandler,this).on(jp.EFFECT_OFF,this.onStopEffectHandler,this).on(jp.MUSIC_ON,this.onPlayMusicHandler,this).on(jp.MUSIC_OFF,this.onStopMusicHandler,this)}__preload(){this.clip&&(this.audioSource.clip=this.clip),this.audioSource.loop=this.loop,this.audioSource.volume=this.volume,this.audioSource.playOnAwake=this.playOnAwake,super.__preload();const{volumeEffect:e,volumeMusic:t}=this.cat.audio;this.audioSource.volume=this.type===uv.BGM?t:e}stopAudio(){this.audioSource.stop()}playAudio(){const{switchEffect:e,switchMusic:t}=this.cat.audio;this.audioSource.playing||!(this.type===uv.BGM?t:e)||f._paused||this.audioSource.play()}onPlayEffectHandler(){}onStopEffectHandler(){this.stopAudio()}onPlayMusicHandler(){}onStopMusicHandler(){this.stopAudio()}_onPreDestroy(){this.onStopMusicHandler(),super._onPreDestroy()}}vf([gv({tooltip:"类型:\n EFFECT 音效\n BGM 音乐",type:p(uv)}),Vf("design:type",Number)],mv.prototype,"type",void 0),vf([gv({tooltip:"音源",type:n}),Vf("design:type",n)],mv.prototype,"clip",void 0),vf([gv({tooltip:"循环"}),Vf("design:type",Boolean)],mv.prototype,"loop",void 0),vf([gv({tooltip:"音量"}),Vf("design:type",Number)],mv.prototype,"volume",void 0),vf([gv({tooltip:"是否启用自动播放"}),Vf("design:type",Boolean)],mv.prototype,"playOnAwake",void 0);const{ccclass:bv,property:pv,menu:fv}=t;var yv;!function(e){e[e.FIXED=0]="FIXED",e[e.SLIDE=1]="SLIDE"}(yv||(yv={}));let Iv=class extends rv{fixed_node;slide_node;fixed_label;slide_label;onLoad(){this.fixed_node.active=this.slide_node.active=!1}start(){this.show()}async show(){return new bg((async(e,t)=>{const{title:n,type:i,fixed_time:o}=this.props;i==yv.FIXED?(this.fixed_node.active=!0,this.fixed_label.string=`${n}`,this.scheduleOnce((()=>{this.node.destroy(),e()}),o)):(this.slide_node.active=!0,this.slide_label.string=`${n}`,this.playAnim(this.node).then((()=>{e()})))}))}playAnim(e){return new bg(((t,n)=>{const i=this.node.getComponent(I),o=b(i).delay(1.2).to(.5,{opacity:0}).call((()=>{A.stopAllByTarget(e),this.node.destroy(),t()}));b(e).by(.5,{position:m(0,400,0)}).call((()=>{o.start()})).start()}))}onDestroy(){A.stopAllByTarget(this.node),this.unscheduleAllCallbacks()}};var Av;vf([pv({type:o,tooltip:"固定节点"}),Vf("design:type",o)],Iv.prototype,"fixed_node",void 0),vf([pv({type:o,tooltip:"滑动节点"}),Vf("design:type",o)],Iv.prototype,"slide_node",void 0),vf([pv({type:y,tooltip:"固定标签节点"}),Vf("design:type",y)],Iv.prototype,"fixed_label",void 0),vf([pv({type:y,tooltip:"滑动标签节点"}),Vf("design:type",y)],Iv.prototype,"slide_label",void 0),Iv=vf([bv("CoreToast"),fv("CATCORE/CoreToast")],Iv),function(e){e.EVENT_SHOW="GlobalEventConstant/EVENT_SHOW",e.EVENT_HIDE="GlobalEventConstant/EVENT_HIDE",e.GAME_RESIZE="GlobalEventConstant/GAME_RESIZE",e.EVENT_CLOSE="GlobalEventConstant/EVENT_CLOSE",e.ONLINE="GlobalEventConstant/ONLINE",e.OFFLINE="GlobalEventConstant/OFFLINE",e.ROOT_MASK_UPDATE="GlobalEventConstant/ROOT_MASK_UPDATE",e.ROOT_MASK_CHANGE="GlobalEventConstant/ROOT_MASK_CHANGE"}(Av||(Av={}));const{ccclass:Gv,property:Cv,menu:Zv}=t;let vv=class extends rv{tween};vf([Cv({type:o,tooltip:"动画节点"}),Vf("design:type",o)],vv.prototype,"tween",void 0),vv=vf([Gv("CoreBlackMask"),Zv("CATCORE/CoreBlackMask")],vv);const{ccclass:Vv,property:Bv,menu:Sv}=t;let Xv=class extends cv{scene_mask_node;ui_container;gui=null;onLoad(){this.setSceneMaskActive(!1)}get scene_mask(){return this.scene_mask_node.getComponent(vv)}get brother(){return this.ui_container.children||[]}get tweenChildren(){return this.scene_mask.tween.children}onEventListener(){this.cat.event.on(Av.ROOT_MASK_CHANGE,this.uiMaskChanged,this)}addMask(){const e=this.brother[this.brother.length-1];e&&this.scene_mask.node.setSiblingIndex(e.getSiblingIndex()),this.blockMaskSiblingIndexChanged()}subMask(){const e=this.brother[this.brother.length-2];e&&this.scene_mask.node.setSiblingIndex(e.getSiblingIndex()),this.blockMaskSiblingIndexChanged()}blockMaskSiblingIndexChanged(){this.tweenChildren.length>1||this.brother.length>1?this.show():this.hide()}addNodeToTween(e){return u(this)&&this.scene_mask&&this.scene_mask.tween.addChild(e),this}show(){this.setSceneMaskActive(!0)}hide(){this.setSceneMaskActive(!1)}setGui(e){return this.gui=e,this}uiMaskChanged(){this.blockMaskSiblingIndexChanged()}setSceneMaskActive(e){this.scene_mask.node.active=e}};vf([Bv({type:o}),Vf("design:type",o)],Xv.prototype,"scene_mask_node",void 0),vf([Bv({type:o}),Vf("design:type",o)],Xv.prototype,"ui_container",void 0),Xv=vf([Vv("CoreUIContainer"),Sv("CATCORE/CoreUIContainer")],Xv);class Ev extends cv{onEnable(){super.onEnable(),this.updateMask()}onDisable(){super.onDisable(),this.updateMask()}updateMask(){this.cat.event.emit(Av.ROOT_MASK_UPDATE)}}const{ccclass:Rv,property:Wv,menu:Jv}=t;let wv=class extends Ev{title;loadingTween;loading_rotate=0;onAutoObserver(){this.addAutorun([()=>{this.props?.title&&(this.title.string=`${this.props?.title}`),this.title.node.active=!!this.props?.title?.length},()=>{this.getComponent(G).enabled=!!this.props?.mask}])}update(e){this.loading_rotate+=220*e,this.loadingTween.setRotationFromEuler(0,0,-this.loading_rotate%360),this.loading_rotate>360&&(this.loading_rotate-=360)}};var Fv;vf([Wv({type:y,tooltip:"标题"}),Vf("design:type",y)],wv.prototype,"title",void 0),vf([Wv({type:o,tooltip:"动画"}),Vf("design:type",o)],wv.prototype,"loadingTween",void 0),wv=vf([Rv("CoreShowLoading"),Jv("CATCORE/CoreShowLoading")],wv),function(e){e.RECONNECTED="重连成功",e.RECONNECTING="正在重连",e.MAX_RECONNECT="重连次数超出限制,请检查网络",e.RECONNECTED_ERROR="重连失败,请检查网络",e.CONNECT_PARAM_ERROR="游戏参数错误,请重新加载",e.KICK="账号已下线",e.OFFLINE="网络已断开",e.ONLINE="网络已连接",e.GAME_ERROR="连接游戏服错误"}(Fv||(Fv={}));const{ccclass:xv,property:Yv,menu:Hv}=t;let Nv=class extends Ev{common_prompt_text;btn_confirm;btn_close;is_close=!1;props={content:null};initUI(){}onLoad(){this.btn_confirm.node.on(C.EventType.CLICK,this.onConfirmHandler,this),this.btn_close.node.on(C.EventType.CLICK,this.onConfirmHandler,this),this.addAutorun([()=>{this.common_prompt_text.string=this.props.content??""}])}onDestroy(){this.unscheduleAllCallbacks()}updateProps(e){this.updatePromptText(e,e==Fv.RECONNECTING)}updatePromptText(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.unscheduleAllCallbacks(),this.props.content=e,s("更新提示文案:",e),t){let t=0;const n=()=>{t=(t+1)%4,this.common_prompt_text.string=e+["","·","··","···"][t]};this.schedule(n,.5)}}onConfirmHandler(){this.is_close=!0,this.cat.gui.hideReconnect()}};vf([Yv({type:y,tooltip:"通用提示文本"}),Vf("design:type",y)],Nv.prototype,"common_prompt_text",void 0),vf([Yv({type:C,tooltip:"确定按钮"}),Vf("design:type",C)],Nv.prototype,"btn_confirm",void 0),vf([Yv({type:C,tooltip:"关闭按钮"}),Vf("design:type",C)],Nv.prototype,"btn_close",void 0),Nv=vf([xv("CoreReconnection"),Hv("CATCORE/CoreReconnection")],Nv);const{ccclass:kv,property:_v,menu:Mv}=t;let zv=class extends Ev{text;btn_confirm;btn_close;onLoad(){this.btn_confirm.node.on(C.EventType.CLICK,this.onConfrimHandler,this)}start(){this.props&&this.updateProps(this.props)}onConfrimHandler(){this.props?.confrim?.(),this.cat.gui.hideNotice()}updateProps(e){this.text.string=`${e.text}`}};vf([_v({type:y,tooltip:"提示文本"}),Vf("design:type",y)],zv.prototype,"text",void 0),vf([_v({type:C,tooltip:"确定按钮"}),Vf("design:type",C)],zv.prototype,"btn_confirm",void 0),vf([_v({type:C,tooltip:"关闭按钮"}),Vf("design:type",C)],zv.prototype,"btn_close",void 0),zv=vf([kv("CoreNotice"),Mv("CATCORE/CoreNotice")],zv);class Kv extends rv{isReload}const{ccclass:Uv,property:Lv,menu:Dv}=t;var Tv;!function(e){e[e.UI=0]="UI",e[e.LOADING=1]="LOADING",e[e.TOAST=2]="TOAST",e[e.RECONNECTTION=3]="RECONNECTTION",e[e.NOTICE=4]="NOTICE"}(Tv||(Tv={}));let Qv=class extends rv{reconnection_ui_prefab;toast_ui_prefab;loading_ui_prefab;notice_ui_prefab;ui_prefab;root_ui;root_toast;root_mask;ui_container_component;reconnection_ui_component;notice_ui_component;loading_ui_component;toast_ui_component;currentScene;onEventListener(){this.cat.event.on(Av.ROOT_MASK_UPDATE,this.onRootUpdate,this)}init(e){this.cat=e;const t=r.getScene();return s("init scene"),t&&this.changeScene(t),this}start(){this.onRootUpdate()}toastQueue=[];isScheduling=!1;minInterval=.2;showToast(e){this.toastQueue.push(e),this.isScheduling||this.processQueueWithInterval()}processQueueWithInterval(){if(0===this.toastQueue.length)return void(this.isScheduling=!1);this.isScheduling=!0;const e=this.toastQueue.shift(),t=()=>{l(this.toast_ui_prefab).getComponent(Iv).addToParent(this.root_toast,{props:e}),this.scheduleOnce((()=>{this.processQueueWithInterval()}),this.minInterval)};0===this.root_toast.children.length?t():this.scheduleOnce(t,this.minInterval)}hideToast(){var e;this.root_toast&&hf(e=this.root_toast.children).call(e,(e=>{e.getComponent(Iv)?.removeAndDestroy()}));return this.toastQueue=[],this.unschedule(this.processQueueWithInterval),this.isScheduling=!1,this}showLoading(){let{title:e="",mask:t=!0,black:n=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(s("showLoading",e),this.loading_ui_component)this.loading_ui_component.setOptions({props:{title:e,mask:t,black:n}});else{const i=l(this.loading_ui_prefab);this.loading_ui_component=i.getComponent(wv).addToParent(this.root_ui,{props:{title:e,mask:t,black:n}})}return this}hideLoading(){return this.loading_ui_component?.removeAndDestroy(),this.loading_ui_component=null,this}showReconnect(e){if(this.reconnection_ui_component)this.reconnection_ui_component.setUpdateProps({content:e});else{const t=l(this.reconnection_ui_prefab);this.reconnection_ui_component=t.getComponent(Nv).addToParent(this.root_ui,{props:{content:e}})}return this}hideReconnect(){return this.reconnection_ui_component?.removeAndDestroy(),this.reconnection_ui_component=null,this}showNotice(e){const t=l(this.notice_ui_prefab);return this.notice_ui_component=t.getComponent(zv).addToParent(this.root_ui,{props:e}),this}hideNotice(){return this.notice_ui_component?.removeAndDestroy(),this}loadScene(e,t,n){s("加载场景",e,t,n);let i={},o=n??!1;return"boolean"==typeof t?o=t:i=t??{},s("当前场景",r.getScene()?.uuid,r.getScene()?.name),r.once(Z.EVENT_BEFORE_SCENE_LAUNCH,(e=>{s("Director.EVENT_BEFORE_SCENE_LAUNCH",e),this.changeScene(e,i,o)})),r.loadScene(e),this}resetScene(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e=e||this.currentScene,this.loadScene(e)}cleanScene(){this.resetScene().hideLoading().hideNotice().hideReconnect().hideToast()}changeScene(e,t,n){this.currentScene=e.name,this.createUILayer(e);const i=e.getComponentInChildren(Kv);i&&(i.isReload=n??!1),i?.setOptions(t)}createUILayer(e){this.ui_container_component?.removeAndDestroy(),this.ui_container_component=null;const t=l(this.ui_prefab);this.ui_container_component=t.getComponent(Xv).setGui(this).addToParent(e,this.node.getSiblingIndex())}reloadScene(){this.loadScene(this.currentScene,!0)}async closeUI(e,t){const{component:n}=this.findUIBaseLayer(e,!1);n&&(n.setOptions({...t?.hook??{},...t?.props??{}}),await n.hideTween(t||{}),this.ui_container_component?.subMask())}async openUI(e,t){const{rootNode:n,component:i}=this.findUIBaseLayer(e,!0);n.getComponent(cv),i?.setOptions(t),n&&this.ui_container_component?.addNodeToTween(n).addMask(),i&&await i.showTween(t||{}),this.ui_container_component?.ui_container&&i?.addToParent(this.ui_container_component.ui_container)}findUIBaseLayer(e,t){let n,r=null;if(e instanceof o){var s;n=e;const t=Zf(s=e.components).call(s,(e=>e instanceof cv));if(!t.length)return i(`${e.name}节点未找到继承自BaseLayer的组件`),{rootNode:n,component:r};1==t.length?r=t[0]:v(`${e.name}节点存在多个继承自BaseLayer的组件`)}else if(n=e.node,r=e,t){for(;n.parent;)n=n.parent;r.root=n}else n=e.root;return{rootNode:n,component:r}}onRootUpdate(){const e=this.root_ui.children.findLastIndex((e=>e.active&&e!=this.root_mask));if(this.root_mask.active=-1!=e,e>-1){const t=this.root_ui.children[e].getSiblingIndex()-1;this.root_mask.setSiblingIndex(t<0?0:t)}this.cat.event.emit(Av.ROOT_MASK_CHANGE)}};var Ov;vf([Lv({type:a,tooltip:"断线重连UI预制体"}),Vf("design:type",a)],Qv.prototype,"reconnection_ui_prefab",void 0),vf([Lv({type:a,tooltip:"提示UI预制体"}),Vf("design:type",a)],Qv.prototype,"toast_ui_prefab",void 0),vf([Lv({type:a,tooltip:"加载UI预制体"}),Vf("design:type",a)],Qv.prototype,"loading_ui_prefab",void 0),vf([Lv({type:a,tooltip:"公告UI预制体"}),Vf("design:type",a)],Qv.prototype,"notice_ui_prefab",void 0),vf([Lv({type:a,tooltip:"UI层预制体"}),Vf("design:type",a)],Qv.prototype,"ui_prefab",void 0),vf([Lv({type:o,tooltip:"root-UI层"}),Vf("design:type",o)],Qv.prototype,"root_ui",void 0),vf([Lv({type:o,tooltip:"root-组件层"}),Vf("design:type",o)],Qv.prototype,"root_toast",void 0),vf([Lv({type:o,tooltip:"root-mask"}),Vf("design:type",o)],Qv.prototype,"root_mask",void 0),Qv=vf([Uv("Gui"),Dv("CATCORE/Gui")],Qv),function(e){e.Root="prefabs/root",e.Toast="prefabs/toast",e.BlackMask="prefabs/black-mask",e.Loading="prefabs/loading",e.Notice="prefabs/notice",e.Reconnection="prefabs/reconnection"}(Ov||(Ov={}));class Pv extends Pp{gui;#e="core";getGuiPrefabByType=(e,t)=>new bg(((n,i)=>{s(e,`${t}`),this.cat.res.load(e,t,((e,t)=>{e?i(e):n(t)}))}));async init(){this.cat.gui_bundle_name&&(this.#e=this.cat.gui_bundle_name);const e=await this.getGuiPrefabByType(this.#e,Ov.Root),t=l(e);return this.gui=t.getComponent(Qv).init(this.cat),r.addPersistRootNode(t),this}}var jv=k,qv=D,$v=se,eV=Ja,tV=ze,nV=Il,iV=Gl,oV=jv.Function,rV=/MSIE .\./.test(tV)||"BUN"===eV&&function(){var e=jv.Bun.version.split(".");return e.length<3||"0"===e[0]&&(e[1]<3||"3"===e[1]&&"0"===e[2])}(),sV=function(e,t){var n=t?2:1;return rV?function(i,o){var r=iV(arguments.length,1)>n,s=$v(i)?i:oV(i),c=r?nV(arguments,n):[],a=r?function(){qv(s,this,c)}:s;return t?e(a,o):e(a)}:e},cV=hi,aV=k,lV=sV(aV.setInterval,!0);cV({global:!0,bind:!0,forced:aV.setInterval!==lV},{setInterval:lV});var uV=hi,dV=k,hV=sV(dV.setTimeout,!0);uV({global:!0,bind:!0,forced:dV.setTimeout!==hV},{setTimeout:hV});var gV=H(we.setTimeout),mV=Pb.map;hi({target:"Array",proto:!0,forced:!pf("map")},{map:function(e){return mV(this,e,arguments.length>1?arguments[1]:void 0)}});var bV=Gg("Array","map"),pV=ke,fV=bV,yV=Array.prototype,IV=function(e){var t=e.map;return e===yV||pV(yV,e)&&t===yV.map?fV:t},AV=H(IV),GV=_n,CV=Is,ZV=ae,vV=xn,VV=ye,BV=Fn,SV=de,XV=Wt,EV=function(e,t,n,i){try{return i?t(GV(n)[0],n[1]):t(n)}catch(t){CV(e,"throw",t)}},RV=Tr,WV=ul,JV=io,wV=function(e,t,n){ZV?vV.f(e,t,VV(0,n)):e[t]=n},FV=bs,xV=as,YV=Array,HV=function(e){var t=XV(e),n=WV(this),i=arguments.length,o=i>1?arguments[1]:void 0,r=void 0!==o;r&&(o=BV(o,i>2?arguments[2]:void 0));var s,c,a,l,u,d,h=xV(t),g=0;if(!h||this===YV&&RV(h))for(s=JV(t),c=n?new this(s):YV(s);s>g;g++)d=r?o(t[g],g):t[g],wV(c,g,d);else for(c=n?new this:[],u=(l=FV(t,h)).next;!(a=SV(u,l)).done;g++)d=r?EV(l,o,[a.value,g],!0):a.value,wV(c,g,d);return c.length=g,c};hi({target:"Array",stat:!0,forced:!Ld((function(e){Array.from(e)}))},{from:HV});var NV=H(we.Array.from),kV=Pb.every;hi({target:"Array",proto:!0,forced:!ef("every")},{every:function(e){return kV(this,e,arguments.length>1?arguments[1]:void 0)}});var _V=Gg("Array","every"),MV=ke,zV=_V,KV=Array.prototype,UV=function(e){var t=e.every;return e===KV||MV(KV,e)&&t===KV.every?zV:t},LV=H(UV),DV={};function TV(e){if(e)return function(e){for(var t in TV.prototype)e[t]=TV.prototype[t];return e}(e)}function QV(e){let t=e.length;for(;--t>=0;)e[t]=0}DV.Emitter=TV,TV.prototype.on=TV.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},TV.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},TV.prototype.off=TV.prototype.removeListener=TV.prototype.removeAllListeners=TV.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<i.length;o++)if((n=i[o])===t||n.fn===t){i.splice(o,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},TV.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var o=(n=n.slice(0)).length;i<o;++i)n[i].apply(this,t)}return this},TV.prototype.emitReserved=TV.prototype.emit,TV.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},TV.prototype.hasListeners=function(e){return!!this.listeners(e).length};QV(new Array(576));QV(new Array(60));QV(new Array(512));QV(new Array(256));QV(new Array(29));QV(new Array(30));var OV=(e,t,n,i)=>{let o=65535&e,r=e>>>16&65535,s=0;for(;0!==n;){s=n>2e3?2e3:n,n-=s;do{o=o+t[i++]|0,r=r+o|0}while(--s);o%=65521,r%=65521}return o|r<<16};const PV=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t})());var jV=(e,t,n,i)=>{const o=PV,r=i+n;e^=-1;for(let n=i;n<r;n++)e=e>>>8^o[255&(e^t[n])];return-1^e},qV={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},$V={Z_NO_FLUSH:0,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFLATED:8};const eB=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var tB=function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const t in n)eB(n,t)&&(e[t]=n[t])}}return e},nB=e=>{let t=0;for(let n=0,i=e.length;n<i;n++)t+=e[n].length;const n=new Uint8Array(t);for(let t=0,i=0,o=e.length;t<o;t++){let o=e[t];n.set(o,i),i+=o.length}return n};let iB=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){iB=!1}const oB=new Uint8Array(256);for(let e=0;e<256;e++)oB[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;oB[254]=oB[254]=1;var rB=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,n,i,o,r,s=e.length,c=0;for(o=0;o<s;o++)n=e.charCodeAt(o),55296==(64512&n)&&o+1<s&&(i=e.charCodeAt(o+1),56320==(64512&i)&&(n=65536+(n-55296<<10)+(i-56320),o++)),c+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(c),r=0,o=0;r<c;o++)n=e.charCodeAt(o),55296==(64512&n)&&o+1<s&&(i=e.charCodeAt(o+1),56320==(64512&i)&&(n=65536+(n-55296<<10)+(i-56320),o++)),n<128?t[r++]=n:n<2048?(t[r++]=192|n>>>6,t[r++]=128|63&n):n<65536?(t[r++]=224|n>>>12,t[r++]=128|n>>>6&63,t[r++]=128|63&n):(t[r++]=240|n>>>18,t[r++]=128|n>>>12&63,t[r++]=128|n>>>6&63,t[r++]=128|63&n);return t},sB=(e,t)=>{const n=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));let i,o;const r=new Array(2*n);for(o=0,i=0;i<n;){let t=e[i++];if(t<128){r[o++]=t;continue}let s=oB[t];if(s>4)r[o++]=65533,i+=s-1;else{for(t&=2===s?31:3===s?15:7;s>1&&i<n;)t=t<<6|63&e[i++],s--;s>1?r[o++]=65533:t<65536?r[o++]=t:(t-=65536,r[o++]=55296|t>>10&1023,r[o++]=56320|1023&t)}}return((e,t)=>{if(t<65534&&e.subarray&&iB)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n="";for(let i=0;i<t;i++)n+=String.fromCharCode(e[i]);return n})(r,o)},cB=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+oB[e[n]]>t?n:t};var aB=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const lB=16209;var uB=function(e,t){let n,i,o,r,s,c,a,l,u,d,h,g,m,b,p,f,y,I,A,G,C,Z,v,V;const B=e.state;n=e.next_in,v=e.input,i=n+(e.avail_in-5),o=e.next_out,V=e.output,r=o-(t-e.avail_out),s=o+(e.avail_out-257),c=B.dmax,a=B.wsize,l=B.whave,u=B.wnext,d=B.window,h=B.hold,g=B.bits,m=B.lencode,b=B.distcode,p=(1<<B.lenbits)-1,f=(1<<B.distbits)-1;e:do{g<15&&(h+=v[n++]<<g,g+=8,h+=v[n++]<<g,g+=8),y=m[h&p];t:for(;;){if(I=y>>>24,h>>>=I,g-=I,I=y>>>16&255,0===I)V[o++]=65535&y;else{if(!(16&I)){if(64&I){if(32&I){B.mode=16191;break e}e.msg="invalid literal/length code",B.mode=lB;break e}y=m[(65535&y)+(h&(1<<I)-1)];continue t}for(A=65535&y,I&=15,I&&(g<I&&(h+=v[n++]<<g,g+=8),A+=h&(1<<I)-1,h>>>=I,g-=I),g<15&&(h+=v[n++]<<g,g+=8,h+=v[n++]<<g,g+=8),y=b[h&f];;){if(I=y>>>24,h>>>=I,g-=I,I=y>>>16&255,16&I){if(G=65535&y,I&=15,g<I&&(h+=v[n++]<<g,g+=8,g<I&&(h+=v[n++]<<g,g+=8)),G+=h&(1<<I)-1,G>c){e.msg="invalid distance too far back",B.mode=lB;break e}if(h>>>=I,g-=I,I=o-r,G>I){if(I=G-I,I>l&&B.sane){e.msg="invalid distance too far back",B.mode=lB;break e}if(C=0,Z=d,0===u){if(C+=a-I,I<A){A-=I;do{V[o++]=d[C++]}while(--I);C=o-G,Z=V}}else if(u<I){if(C+=a+u-I,I-=u,I<A){A-=I;do{V[o++]=d[C++]}while(--I);if(C=0,u<A){I=u,A-=I;do{V[o++]=d[C++]}while(--I);C=o-G,Z=V}}}else if(C+=u-I,I<A){A-=I;do{V[o++]=d[C++]}while(--I);C=o-G,Z=V}for(;A>2;)V[o++]=Z[C++],V[o++]=Z[C++],V[o++]=Z[C++],A-=3;A&&(V[o++]=Z[C++],A>1&&(V[o++]=Z[C++]))}else{C=o-G;do{V[o++]=V[C++],V[o++]=V[C++],V[o++]=V[C++],A-=3}while(A>2);A&&(V[o++]=V[C++],A>1&&(V[o++]=V[C++]))}break}if(64&I){e.msg="invalid distance code",B.mode=lB;break e}y=b[(65535&y)+(h&(1<<I)-1)]}}break}}while(n<i&&o<s);A=g>>3,n-=A,g-=A<<3,h&=(1<<g)-1,e.next_in=n,e.next_out=o,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=o<s?s-o+257:257-(o-s),B.hold=h,B.bits=g};const dB=15,hB=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),gB=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),mB=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),bB=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var pB=(e,t,n,i,o,r,s,c)=>{const a=c.bits;let l,u,d,h,g,m,b=0,p=0,f=0,y=0,I=0,A=0,G=0,C=0,Z=0,v=0,V=null;const B=new Uint16Array(16),S=new Uint16Array(16);let X,E,R,W=null;for(b=0;b<=dB;b++)B[b]=0;for(p=0;p<i;p++)B[t[n+p]]++;for(I=a,y=dB;y>=1&&0===B[y];y--);if(I>y&&(I=y),0===y)return o[r++]=20971520,o[r++]=20971520,c.bits=1,0;for(f=1;f<y&&0===B[f];f++);for(I<f&&(I=f),C=1,b=1;b<=dB;b++)if(C<<=1,C-=B[b],C<0)return-1;if(C>0&&(0===e||1!==y))return-1;for(S[1]=0,b=1;b<dB;b++)S[b+1]=S[b]+B[b];for(p=0;p<i;p++)0!==t[n+p]&&(s[S[t[n+p]]++]=p);if(0===e?(V=W=s,m=20):1===e?(V=hB,W=gB,m=257):(V=mB,W=bB,m=0),v=0,p=0,b=f,g=r,A=I,G=0,d=-1,Z=1<<I,h=Z-1,1===e&&Z>852||2===e&&Z>592)return 1;for(;;){X=b-G,s[p]+1<m?(E=0,R=s[p]):s[p]>=m?(E=W[s[p]-m],R=V[s[p]-m]):(E=96,R=0),l=1<<b-G,u=1<<A,f=u;do{u-=l,o[g+(v>>G)+u]=X<<24|E<<16|R}while(0!==u);for(l=1<<b-1;v&l;)l>>=1;if(0!==l?(v&=l-1,v+=l):v=0,p++,0===--B[b]){if(b===y)break;b=t[n+s[p]]}if(b>I&&(v&h)!==d){for(0===G&&(G=I),g+=f,A=b-G,C=1<<A;A+G<y&&(C-=B[A+G],!(C<=0));)A++,C<<=1;if(Z+=1<<A,1===e&&Z>852||2===e&&Z>592)return 1;d=v&h,o[d]=I<<24|A<<16|g-r}}return 0!==v&&(o[g+v]=b-G<<24|64<<16),c.bits=I,0};const{Z_FINISH:fB,Z_BLOCK:yB,Z_TREES:IB,Z_OK:AB,Z_STREAM_END:GB,Z_NEED_DICT:CB,Z_STREAM_ERROR:ZB,Z_DATA_ERROR:vB,Z_MEM_ERROR:VB,Z_BUF_ERROR:BB,Z_DEFLATED:SB}=$V,XB=16180,EB=16190,RB=16191,WB=16192,JB=16194,wB=16199,FB=16200,xB=16206,YB=16209,HB=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function NB(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const kB=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<XB||t.mode>16211?1:0},_B=e=>{if(kB(e))return ZB;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=XB,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,AB},MB=e=>{if(kB(e))return ZB;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,_B(e)},zB=(e,t)=>{let n;if(kB(e))return ZB;const i=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ZB:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,MB(e))},KB=(e,t)=>{if(!e)return ZB;const n=new NB;e.state=n,n.strm=e,n.window=null,n.mode=XB;const i=zB(e,t);return i!==AB&&(e.state=null),i};let UB,LB,DB=!0;const TB=e=>{if(DB){UB=new Int32Array(512),LB=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(pB(1,e.lens,0,288,UB,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;pB(2,e.lens,0,32,LB,0,e.work,{bits:5}),DB=!1}e.lencode=UB,e.lenbits=9,e.distcode=LB,e.distbits=5},QB=(e,t,n,i)=>{let o;const r=e.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),i>=r.wsize?(r.window.set(t.subarray(n-r.wsize,n),0),r.wnext=0,r.whave=r.wsize):(o=r.wsize-r.wnext,o>i&&(o=i),r.window.set(t.subarray(n-i,n-i+o),r.wnext),(i-=o)?(r.window.set(t.subarray(n-i,n),0),r.wnext=i,r.whave=r.wsize):(r.wnext+=o,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=o))),0};var OB=(e,t)=>{let n,i,o,r,s,c,a,l,u,d,h,g,m,b,p,f,y,I,A,G,C,Z,v=0;const V=new Uint8Array(4);let B,S;const X=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(kB(e)||!e.output||!e.input&&0!==e.avail_in)return ZB;n=e.state,n.mode===RB&&(n.mode=WB),s=e.next_out,o=e.output,a=e.avail_out,r=e.next_in,i=e.input,c=e.avail_in,l=n.hold,u=n.bits,d=c,h=a,Z=AB;e:for(;;)switch(n.mode){case XB:if(0===n.wrap){n.mode=WB;break}for(;u<16;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if(2&n.wrap&&35615===l){0===n.wbits&&(n.wbits=15),n.check=0,V[0]=255&l,V[1]=l>>>8&255,n.check=jV(n.check,V,2,0),l=0,u=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",n.mode=YB;break}if((15&l)!==SB){e.msg="unknown compression method",n.mode=YB;break}if(l>>>=4,u-=4,C=8+(15&l),0===n.wbits&&(n.wbits=C),C>15||C>n.wbits){e.msg="invalid window size",n.mode=YB;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=512&l?16189:RB,l=0,u=0;break;case 16181:for(;u<16;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if(n.flags=l,(255&n.flags)!==SB){e.msg="unknown compression method",n.mode=YB;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=YB;break}n.head&&(n.head.text=l>>8&1),512&n.flags&&4&n.wrap&&(V[0]=255&l,V[1]=l>>>8&255,n.check=jV(n.check,V,2,0)),l=0,u=0,n.mode=16182;case 16182:for(;u<32;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}n.head&&(n.head.time=l),512&n.flags&&4&n.wrap&&(V[0]=255&l,V[1]=l>>>8&255,V[2]=l>>>16&255,V[3]=l>>>24&255,n.check=jV(n.check,V,4,0)),l=0,u=0,n.mode=16183;case 16183:for(;u<16;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}n.head&&(n.head.xflags=255&l,n.head.os=l>>8),512&n.flags&&4&n.wrap&&(V[0]=255&l,V[1]=l>>>8&255,n.check=jV(n.check,V,2,0)),l=0,u=0,n.mode=16184;case 16184:if(1024&n.flags){for(;u<16;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}n.length=l,n.head&&(n.head.extra_len=l),512&n.flags&&4&n.wrap&&(V[0]=255&l,V[1]=l>>>8&255,n.check=jV(n.check,V,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&(g=n.length,g>c&&(g=c),g&&(n.head&&(C=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(i.subarray(r,r+g),C)),512&n.flags&&4&n.wrap&&(n.check=jV(n.check,i,g,r)),c-=g,r+=g,n.length-=g),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===c)break e;g=0;do{C=i[r+g++],n.head&&C&&n.length<65536&&(n.head.name+=String.fromCharCode(C))}while(C&&g<c);if(512&n.flags&&4&n.wrap&&(n.check=jV(n.check,i,g,r)),c-=g,r+=g,C)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=16187;case 16187:if(4096&n.flags){if(0===c)break e;g=0;do{C=i[r+g++],n.head&&C&&n.length<65536&&(n.head.comment+=String.fromCharCode(C))}while(C&&g<c);if(512&n.flags&&4&n.wrap&&(n.check=jV(n.check,i,g,r)),c-=g,r+=g,C)break e}else n.head&&(n.head.comment=null);n.mode=16188;case 16188:if(512&n.flags){for(;u<16;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if(4&n.wrap&&l!==(65535&n.check)){e.msg="header crc mismatch",n.mode=YB;break}l=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=RB;break;case 16189:for(;u<32;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}e.adler=n.check=HB(l),l=0,u=0,n.mode=EB;case EB:if(0===n.havedict)return e.next_out=s,e.avail_out=a,e.next_in=r,e.avail_in=c,n.hold=l,n.bits=u,CB;e.adler=n.check=1,n.mode=RB;case RB:if(t===yB||t===IB)break e;case WB:if(n.last){l>>>=7&u,u-=7&u,n.mode=xB;break}for(;u<3;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}switch(n.last=1&l,l>>>=1,u-=1,3&l){case 0:n.mode=16193;break;case 1:if(TB(n),n.mode=wB,t===IB){l>>>=2,u-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=YB}l>>>=2,u-=2;break;case 16193:for(l>>>=7&u,u-=7&u;u<32;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if((65535&l)!=(l>>>16^65535)){e.msg="invalid stored block lengths",n.mode=YB;break}if(n.length=65535&l,l=0,u=0,n.mode=JB,t===IB)break e;case JB:n.mode=16195;case 16195:if(g=n.length,g){if(g>c&&(g=c),g>a&&(g=a),0===g)break e;o.set(i.subarray(r,r+g),s),c-=g,r+=g,a-=g,s+=g,n.length-=g;break}n.mode=RB;break;case 16196:for(;u<14;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if(n.nlen=257+(31&l),l>>>=5,u-=5,n.ndist=1+(31&l),l>>>=5,u-=5,n.ncode=4+(15&l),l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=YB;break}n.have=0,n.mode=16197;case 16197:for(;n.have<n.ncode;){for(;u<3;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}n.lens[X[n.have++]]=7&l,l>>>=3,u-=3}for(;n.have<19;)n.lens[X[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,B={bits:n.lenbits},Z=pB(0,n.lens,0,19,n.lencode,0,n.work,B),n.lenbits=B.bits,Z){e.msg="invalid code lengths set",n.mode=YB;break}n.have=0,n.mode=16198;case 16198:for(;n.have<n.nlen+n.ndist;){for(;v=n.lencode[l&(1<<n.lenbits)-1],p=v>>>24,f=v>>>16&255,y=65535&v,!(p<=u);){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if(y<16)l>>>=p,u-=p,n.lens[n.have++]=y;else{if(16===y){for(S=p+2;u<S;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if(l>>>=p,u-=p,0===n.have){e.msg="invalid bit length repeat",n.mode=YB;break}C=n.lens[n.have-1],g=3+(3&l),l>>>=2,u-=2}else if(17===y){for(S=p+3;u<S;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}l>>>=p,u-=p,C=0,g=3+(7&l),l>>>=3,u-=3}else{for(S=p+7;u<S;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}l>>>=p,u-=p,C=0,g=11+(127&l),l>>>=7,u-=7}if(n.have+g>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=YB;break}for(;g--;)n.lens[n.have++]=C}}if(n.mode===YB)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=YB;break}if(n.lenbits=9,B={bits:n.lenbits},Z=pB(1,n.lens,0,n.nlen,n.lencode,0,n.work,B),n.lenbits=B.bits,Z){e.msg="invalid literal/lengths set",n.mode=YB;break}if(n.distbits=6,n.distcode=n.distdyn,B={bits:n.distbits},Z=pB(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,B),n.distbits=B.bits,Z){e.msg="invalid distances set",n.mode=YB;break}if(n.mode=wB,t===IB)break e;case wB:n.mode=FB;case FB:if(c>=6&&a>=258){e.next_out=s,e.avail_out=a,e.next_in=r,e.avail_in=c,n.hold=l,n.bits=u,uB(e,h),s=e.next_out,o=e.output,a=e.avail_out,r=e.next_in,i=e.input,c=e.avail_in,l=n.hold,u=n.bits,n.mode===RB&&(n.back=-1);break}for(n.back=0;v=n.lencode[l&(1<<n.lenbits)-1],p=v>>>24,f=v>>>16&255,y=65535&v,!(p<=u);){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if(f&&!(240&f)){for(I=p,A=f,G=y;v=n.lencode[G+((l&(1<<I+A)-1)>>I)],p=v>>>24,f=v>>>16&255,y=65535&v,!(I+p<=u);){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}l>>>=I,u-=I,n.back+=I}if(l>>>=p,u-=p,n.back+=p,n.length=y,0===f){n.mode=16205;break}if(32&f){n.back=-1,n.mode=RB;break}if(64&f){e.msg="invalid literal/length code",n.mode=YB;break}n.extra=15&f,n.mode=16201;case 16201:if(n.extra){for(S=n.extra;u<S;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;v=n.distcode[l&(1<<n.distbits)-1],p=v>>>24,f=v>>>16&255,y=65535&v,!(p<=u);){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if(!(240&f)){for(I=p,A=f,G=y;v=n.distcode[G+((l&(1<<I+A)-1)>>I)],p=v>>>24,f=v>>>16&255,y=65535&v,!(I+p<=u);){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}l>>>=I,u-=I,n.back+=I}if(l>>>=p,u-=p,n.back+=p,64&f){e.msg="invalid distance code",n.mode=YB;break}n.offset=y,n.extra=15&f,n.mode=16203;case 16203:if(n.extra){for(S=n.extra;u<S;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=YB;break}n.mode=16204;case 16204:if(0===a)break e;if(g=h-a,n.offset>g){if(g=n.offset-g,g>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=YB;break}g>n.wnext?(g-=n.wnext,m=n.wsize-g):m=n.wnext-g,g>n.length&&(g=n.length),b=n.window}else b=o,m=s-n.offset,g=n.length;g>a&&(g=a),a-=g,n.length-=g;do{o[s++]=b[m++]}while(--g);0===n.length&&(n.mode=FB);break;case 16205:if(0===a)break e;o[s++]=n.length,a--,n.mode=FB;break;case xB:if(n.wrap){for(;u<32;){if(0===c)break e;c--,l|=i[r++]<<u,u+=8}if(h-=a,e.total_out+=h,n.total+=h,4&n.wrap&&h&&(e.adler=n.check=n.flags?jV(n.check,o,h,s-h):OV(n.check,o,h,s-h)),h=a,4&n.wrap&&(n.flags?l:HB(l))!==n.check){e.msg="incorrect data check",n.mode=YB;break}l=0,u=0}n.mode=16207;case 16207:if(n.wrap&&n.flags){for(;u<32;){if(0===c)break e;c--,l+=i[r++]<<u,u+=8}if(4&n.wrap&&l!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=YB;break}l=0,u=0}n.mode=16208;case 16208:Z=GB;break e;case YB:Z=vB;break e;case 16210:return VB;default:return ZB}return e.next_out=s,e.avail_out=a,e.next_in=r,e.avail_in=c,n.hold=l,n.bits=u,(n.wsize||h!==e.avail_out&&n.mode<YB&&(n.mode<xB||t!==fB))&&QB(e,e.output,e.next_out,h-e.avail_out),d-=e.avail_in,h-=e.avail_out,e.total_in+=d,e.total_out+=h,n.total+=h,4&n.wrap&&h&&(e.adler=n.check=n.flags?jV(n.check,o,h,e.next_out-h):OV(n.check,o,h,e.next_out-h)),e.data_type=n.bits+(n.last?64:0)+(n.mode===RB?128:0)+(n.mode===wB||n.mode===JB?256:0),(0===d&&0===h||t===fB)&&Z===AB&&(Z=BB),Z},PB={inflateReset:MB,inflateReset2:zB,inflateResetKeep:_B,inflateInit:e=>KB(e,15),inflateInit2:KB,inflate:OB,inflateEnd:e=>{if(kB(e))return ZB;let t=e.state;return t.window&&(t.window=null),e.state=null,AB},inflateGetHeader:(e,t)=>{if(kB(e))return ZB;const n=e.state;return 2&n.wrap?(n.head=t,t.done=!1,AB):ZB},inflateSetDictionary:(e,t)=>{const n=t.length;let i,o,r;return kB(e)?ZB:(i=e.state,0!==i.wrap&&i.mode!==EB?ZB:i.mode===EB&&(o=1,o=OV(o,t,n,0),o!==i.check)?vB:(r=QB(e,t,n,n),r?(i.mode=16210,VB):(i.havedict=1,AB)))},inflateInfo:"pako inflate (from Nodeca project)"};var jB=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const qB=Object.prototype.toString,{Z_NO_FLUSH:$B,Z_FINISH:eS,Z_OK:tS,Z_STREAM_END:nS,Z_NEED_DICT:iS,Z_STREAM_ERROR:oS,Z_DATA_ERROR:rS,Z_MEM_ERROR:sS}=$V;function cS(e){this.options=tB({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new aB,this.strm.avail_out=0;let n=PB.inflateInit2(this.strm,t.windowBits);if(n!==tS)throw new Error(qV[n]);if(this.header=new jB,PB.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=rB(t.dictionary):"[object ArrayBuffer]"===qB.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=PB.inflateSetDictionary(this.strm,t.dictionary),n!==tS)))throw new Error(qV[n])}cS.prototype.push=function(e,t){const n=this.strm,i=this.options.chunkSize,o=this.options.dictionary;let r,s,c;if(this.ended)return!1;for(s=t===~~t?t:!0===t?eS:$B,"[object ArrayBuffer]"===qB.call(e)?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(0===n.avail_out&&(n.output=new Uint8Array(i),n.next_out=0,n.avail_out=i),r=PB.inflate(n,s),r===iS&&o&&(r=PB.inflateSetDictionary(n,o),r===tS?r=PB.inflate(n,s):r===rS&&(r=iS));n.avail_in>0&&r===nS&&n.state.wrap>0&&0!==e[n.next_in];)PB.inflateReset(n),r=PB.inflate(n,s);switch(r){case oS:case rS:case iS:case sS:return this.onEnd(r),this.ended=!0,!1}if(c=n.avail_out,n.next_out&&(0===n.avail_out||r===nS))if("string"===this.options.to){let e=cB(n.output,n.next_out),t=n.next_out-e,o=sB(n.output,e);n.next_out=t,n.avail_out=i-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(o)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(r!==tS||0!==c){if(r===nS)return r=PB.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(0===n.avail_in)break}}return!0},cS.prototype.onData=function(e){this.chunks.push(e)},cS.prototype.onEnd=function(e){e===tS&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=nB(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var aS={ungzip:function(e,t){const n=new cS(t);if(n.push(e),n.err)throw n.msg||qV[n.err];return n.result}};const{ungzip:lS}=aS;var uS,dS=lS;!function(e){e[e.TYPE_REQUEST=0]="TYPE_REQUEST",e[e.TYPE_NOTIFY=1]="TYPE_NOTIFY",e[e.TYPE_RESPONSE=2]="TYPE_RESPONSE",e[e.TYPE_PUSH=3]="TYPE_PUSH"}(uS||(uS={}));const hS=(e,t,n,i,o)=>{if("string"==typeof n)for(let r=0;r<o;r++)e[t++]=parseInt(n[i++]);else for(let r=0;r<o;r++)e[t++]=n[i++]},gS=e=>e===uS.TYPE_REQUEST||e===uS.TYPE_RESPONSE,mS=e=>e===uS.TYPE_REQUEST||e===uS.TYPE_NOTIFY||e===uS.TYPE_PUSH,bS=e=>{let t="string"==typeof e?(new TextEncoder).encode(e):new Uint8Array(e),n=t.length||t.byteLength,i=0,o=0,r="",s=t[i++],c=s&GS,a=s>>1&vS,l=s>>4&ZS,u=(s&CS)==CS;if(gS(a)){let e=0,n=0;do{e=parseInt(t[i]+""),o+=(127&e)<<7*n,i++,n++}while(e>=128)}if(mS(a))if(c)r=t[i++]<<8|t[i++];else{let e=t[i++];if(e){let n=new Uint8Array(e);hS(n,0,t,i,e),r=BS(n)}else r="";i+=e}let d=n-i,h=new Uint8Array(d);return hS(h,0,t,i,d),l&&(h=dS(h)),{id:o,type:a,compressRoute:!!c,route:r,body:h,compressGzip:!!l,error:u}},pS=(e,t,n,i,o,r)=>{let s=gS(t)?(e=>{let t=0;do{t+=1,e>>=7}while(e>0);return t})(e):0,c=fS+s;if(mS(t))if(n){if("number"!=typeof i)throw new Error("error flag for number route!");c+=yS}else{if(c+=IS,i){if((i=VS(i)).length>255)throw new Error("route maxlength is overflow");c+=i.length}}o&&(c+=o.length);let a=new Uint8Array(c),l=0;return l=((e,t,n,i)=>{if(e!==uS.TYPE_REQUEST&&e!==uS.TYPE_NOTIFY&&e!==uS.TYPE_RESPONSE&&e!==uS.TYPE_PUSH)throw new Error("unkonw message type: "+e);return n[i]=e<<1|(t?1:0),i+fS})(t,n,a,l),gS(t)&&(l=((e,t,n)=>{do{let i=e%128,o=Math.floor(e/128);0!==o&&(i+=128),t[n++]=i,e=o}while(0!==e);return n})(e,a,l)),mS(t)&&(l=((e,t,n,i)=>{if(e){const e=t;if(e>AS)throw new Error("route number is overflow");n[i++]=e>>8&255,n[i++]=255&e}else{const e=t;e?(n[i++]=255&e.length,hS(n,i,e,0,t.length),i+=t.length):n[i++]=0}return i})(n,i,a,l)),o&&(l=((e,t,n)=>(hS(t,n,e,0,e.length),n+e.length))(o,a,l)),a},fS=1,yS=2,IS=1,AS=65535,GS=1,CS=32,ZS=1,vS=7,VS=e=>{let t=new Uint8Array(3*e.length),n=0;for(let i=0;i<e.length;i++){let o=e.charCodeAt(i),r=null;r=o<=127?[o]:o<=2047?[192|o>>6,128|63&o]:[224|o>>12,128|(4032&o)>>6,128|63&o];for(let e=0;e<r.length;e++)t[n]=r[e],++n}let i=new Uint8Array(n);return hS(i,0,t,0,n),i},BS=e=>{let t=new Uint8Array(e),n=[],i=0,o=0,r=t.length;for(;i<r;)t[i]<128?(o=t[i],i+=1):t[i]<224?(o=((31&t[i])<<6)+(63&t[i+1]),i+=2):(o=((15&t[i])<<12)+((63&t[i+1])<<6)+(63&t[i+2]),i+=3),n.push(o);return String.fromCharCode.apply(null,n)};var SS;!function(e){e[e.TYPE_HANDSHAKE=1]="TYPE_HANDSHAKE",e[e.TYPE_HANDSHAKE_ACK=2]="TYPE_HANDSHAKE_ACK",e[e.TYPE_HEARTBEAT=3]="TYPE_HEARTBEAT",e[e.TYPE_DATA=4]="TYPE_DATA",e[e.TYPE_KICK=5]="TYPE_KICK"}(SS||(SS={}));const XS=(e,t)=>{let n=t?t.length:0,i=new Uint8Array(4+n),o=0;return i[o++]=255&e,i[o++]=n>>16&255,i[o++]=n>>8&255,i[o++]=255&n,t&&hS(i,4,t,0,n),i},ES=e=>{let t=0,n=new Uint8Array(e),i=0,o=[];for(;t<n.length;){let e=n[t++];i=(n[t++]<<16|n[t++]<<8|n[t++])>>>0;let r=i?new Uint8Array(i):void 0;r&&hS(r,0,n,t,i),t+=i,o.push({type:e,body:r})}return 1===o.length?o[0]:o};function RS(e){let t=!1;const n=[];for(let i=0;i<e.length;i++){let o=e.charAt(i);switch(o){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o)}}return n.join("")}const WS=new Set(["constructor","toString","toJSON","valueOf"]);function JS(e){return WS.has(e)?e+"$":e}function wS(){let e=0,t=0;for(let n=0;n<28;n+=7){let i=this.buf[this.pos++];if(e|=(127&i)<<n,!(128&i))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(15&n)<<28,t=(112&n)>>4,!(128&n))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let i=this.buf[this.pos++];if(t|=(127&i)<<n,!(128&i))return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function FS(e,t,n){for(let i=0;i<28;i+=7){const o=e>>>i,r=!(o>>>7==0&&0==t),s=255&(r?128|o:o);if(n.push(s),!r)return}const i=e>>>28&15|(7&t)<<4,o=!!(t>>3);if(n.push(255&(o?128|i:i)),o){for(let e=3;e<31;e+=7){const i=t>>>e,o=!(i>>>7==0),r=255&(o?128|i:i);if(n.push(r),!o)return}n.push(t>>>31&1)}}const xS=4294967296;function YS(e){const t="-"===e[0];t&&(e=e.slice(1));const n=1e6;let i=0,o=0;function r(t,r){const s=Number(e.slice(t,r));o*=n,i=i*n+s,i>=xS&&(o+=i/xS|0,i%=xS)}return r(-24,-18),r(-18,-12),r(-12,-6),r(-6),t?kS(i,o):NS(i,o)}function HS(e,t){if(({lo:e,hi:t}=function(e,t){return{lo:e>>>0,hi:t>>>0}}(e,t)),t<=2097151)return String(xS*t+e);const n=16777215&(e>>>24|t<<8),i=t>>16&65535;let o=(16777215&e)+6777216*n+6710656*i,r=n+8147497*i,s=2*i;const c=1e7;return o>=c&&(r+=Math.floor(o/c),o%=c),r>=c&&(s+=Math.floor(r/c),r%=c),s.toString()+_S(r)+_S(o)}function NS(e,t){return{lo:0|e,hi:0|t}}function kS(e,t){return t=~t,e?e=1+~e:t+=1,NS(e,t)}const _S=e=>{const t=String(e);return"0000000".slice(t.length)+t};function MS(e,t){if(e>=0){for(;e>127;)t.push(127&e|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(127&e|128),e>>=7;t.push(1)}}function zS(){let e=this.buf[this.pos++],t=127&e;if(!(128&e))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(127&e)<<7,!(128&e))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(127&e)<<14,!(128&e))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(127&e)<<21,!(128&e))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(15&e)<<28;for(let t=5;128&e&&t<10;t++)e=this.buf[this.pos++];if(128&e)throw new Error("invalid varint");return this.assertBounds(),t>>>0}const KS=US();function US(){const e=new DataView(new ArrayBuffer(8));if("function"==typeof BigInt&&"function"==typeof e.getBigInt64&&"function"==typeof e.getBigUint64&&"function"==typeof e.setBigInt64&&"function"==typeof e.setBigUint64&&("object"!=typeof process||"object"!=typeof process.env||"1"!==process.env.BUF_BIGINT_DISABLE)){const t=BigInt("-9223372036854775808"),n=BigInt("9223372036854775807"),i=BigInt("0"),o=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(e){const i="bigint"==typeof e?e:BigInt(e);if(i>n||i<t)throw new Error(`invalid int64: ${e}`);return i},uParse(e){const t="bigint"==typeof e?e:BigInt(e);if(t>o||t<i)throw new Error(`invalid uint64: ${e}`);return t},enc(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec:(t,n)=>(e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigInt64(0,!0)),uDec:(t,n)=>(e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigUint64(0,!0))}}return{zero:"0",supported:!1,parse:e=>("string"!=typeof e&&(e=e.toString()),LS(e),e),uParse:e=>("string"!=typeof e&&(e=e.toString()),DS(e),e),enc:e=>("string"!=typeof e&&(e=e.toString()),LS(e),YS(e)),uEnc:e=>("string"!=typeof e&&(e=e.toString()),DS(e),YS(e)),dec:(e,t)=>function(e,t){let n=NS(e,t);const i=2147483648&n.hi;i&&(n=kS(n.lo,n.hi));const o=HS(n.lo,n.hi);return i?"-"+o:o}(e,t),uDec:(e,t)=>HS(e,t)}}function LS(e){if(!/^-?[0-9]+$/.test(e))throw new Error("invalid int64: "+e)}function DS(e){if(!/^[0-9]+$/.test(e))throw new Error("invalid uint64: "+e)}var TS;function QS(e,t){switch(e){case TS.STRING:return"";case TS.BOOL:return!1;case TS.DOUBLE:case TS.FLOAT:return 0;case TS.INT64:case TS.UINT64:case TS.SFIXED64:case TS.FIXED64:case TS.SINT64:return t?"0":KS.zero;case TS.BYTES:return new Uint8Array(0);default:return 0}}!function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"}(TS||(TS={}));const OS=Symbol.for("reflect unsafe local");function PS(e,t){const n=e[t.localName].case;return void 0===n?n:t.fields.find((e=>e.localName===n))}function jS(e,t){const n=t.localName;if(t.oneof)return e[t.oneof.localName].case===n;if(2!=t.presence)return void 0!==e[n]&&Object.prototype.hasOwnProperty.call(e,n);switch(t.fieldKind){case"list":return e[n].length>0;case"map":return Object.keys(e[n]).length>0;case"scalar":return!function(e,t){switch(e){case TS.BOOL:return!1===t;case TS.STRING:return""===t;case TS.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return 0==t}}(t.scalar,e[n]);case"enum":return e[n]!==t.enum.values[0].number}throw new Error("message field with implicit presence")}function qS(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&void 0!==e[t]}function $S(e,t){if(t.oneof){const n=e[t.oneof.localName];return n.case===t.localName?n.value:void 0}return e[t.localName]}function eX(e,t,n){t.oneof?e[t.oneof.localName]={case:t.localName,value:n}:e[t.localName]=n}function tX(e){for(const t of e.field)qS(t,"jsonName")||(t.jsonName=RS(t.name));e.nestedType.forEach(tX)}function nX(e,t){switch(e){case TS.STRING:return t;case TS.BYTES:{const n=function(e){const t=[],n={tail:e,c:"",next(){return 0!=this.tail.length&&(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(e){if(this.tail.length>=e){const t=this.tail.substring(0,e);return this.tail=this.tail.substring(e),t}return!1}};for(;n.next();)if("\\"===n.c){if(n.next())switch(n.c){case"\\":t.push(n.c.charCodeAt(0));break;case"b":t.push(8);break;case"f":t.push(12);break;case"n":t.push(10);break;case"r":t.push(13);break;case"t":t.push(9);break;case"v":t.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{const e=n.c,i=n.take(2);if(!1===i)return!1;const o=parseInt(e+i,8);if(Number.isNaN(o))return!1;t.push(o);break}case"x":{const e=n.c,i=n.take(2);if(!1===i)return!1;const o=parseInt(e+i,16);if(Number.isNaN(o))return!1;t.push(o);break}case"u":{const e=n.c,i=n.take(4);if(!1===i)return!1;const o=parseInt(e+i,16);if(Number.isNaN(o))return!1;const r=new Uint8Array(4);new DataView(r.buffer).setInt32(0,o,!0),t.push(r[0],r[1],r[2],r[3]);break}case"U":{const e=n.c,i=n.take(8);if(!1===i)return!1;const o=KS.uEnc(e+i),r=new Uint8Array(8),s=new DataView(r.buffer);s.setInt32(0,o.lo,!0),s.setInt32(4,o.hi,!0),t.push(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7]);break}}}else t.push(n.c.charCodeAt(0));return new Uint8Array(t)}(t);if(!1===n)throw new Error(`cannot parse ${TS[e]} default value: ${t}`);return n}case TS.INT64:case TS.SFIXED64:case TS.SINT64:return KS.parse(t);case TS.UINT64:case TS.FIXED64:return KS.uParse(t);case TS.DOUBLE:case TS.FLOAT:switch(t){case"inf":return Number.POSITIVE_INFINITY;case"-inf":return Number.NEGATIVE_INFINITY;case"nan":return Number.NaN;default:return parseFloat(t)}case TS.BOOL:return"true"===t;case TS.INT32:case TS.UINT32:case TS.SINT32:case TS.FIXED32:case TS.SFIXED32:return parseInt(t,10)}}function*iX(e){switch(e.kind){case"file":for(const t of e.messages)yield t,yield*iX(t);yield*e.enums,yield*e.services,yield*e.extensions;break;case"message":for(const t of e.nestedMessages)yield t,yield*iX(t);yield*e.nestedEnums,yield*e.nestedExtensions}}function oX(...e){const t=function(){const e=new Map,t=new Map,n=new Map;return{kind:"registry",types:e,extendees:t,[Symbol.iterator]:()=>e.values(),get files(){return n.values()},addFile(e,t,i){if(n.set(e.proto.name,e),!t)for(const t of iX(e))this.add(t);if(i)for(const n of e.dependencies)this.addFile(n,t,i)},add(n){if("extension"==n.kind){let e=t.get(n.extendee.typeName);e||t.set(n.extendee.typeName,e=new Map),e.set(n.number,n)}e.set(n.typeName,n)},get:t=>e.get(t),getFile:e=>n.get(e),getMessage(t){const n=e.get(t);return"message"==(null==n?void 0:n.kind)?n:void 0},getEnum(t){const n=e.get(t);return"enum"==(null==n?void 0:n.kind)?n:void 0},getExtension(t){const n=e.get(t);return"extension"==(null==n?void 0:n.kind)?n:void 0},getExtensionFor(e,n){var i;return null===(i=t.get(e.typeName))||void 0===i?void 0:i.get(n)},getService(t){const n=e.get(t);return"service"==(null==n?void 0:n.kind)?n:void 0}}}();if(!e.length)return t;if("$typeName"in e[0]&&"google.protobuf.FileDescriptorSet"==e[0].$typeName){for(const n of e[0].file)ZX(n,t);return t}if("$typeName"in e[0]){const i=e[0],o=e[1],r=new Set;function s(e){const n=[];for(const i of e.dependency){if(null!=t.getFile(i))continue;if(r.has(i))continue;const s=o(i);if(!s)throw new Error(`Unable to resolve ${i}, imported by ${e.name}`);"kind"in s?t.addFile(s,!1,!0):(r.add(s.name),n.push(s))}return n.concat(...n.map(s))}for(const c of[i,...s(i)].reverse())ZX(c,t)}else for(const a of e)for(const l of a.files)t.addFile(l);return t}const rX=998,sX=999,cX=9,aX=10,lX=11,uX=12,dX=14,hX=3,gX=2,mX=1,bX=0,pX=1,fX=2,yX=3,IX=1,AX=2,GX=1,CX={998:{fieldPresence:1,enumType:2,repeatedFieldEncoding:2,utf8Validation:3,messageEncoding:1,jsonFormat:2,enforceNamingStyle:2},999:{fieldPresence:2,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2},1e3:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2}};function ZX(e,t){var n,i;const o={kind:"file",proto:e,deprecated:null!==(i=null===(n=e.options)||void 0===n?void 0:n.deprecated)&&void 0!==i&&i,edition:WX(e),name:e.name.replace(/\.proto$/,""),dependencies:JX(e,t),enums:[],messages:[],extensions:[],services:[],toString:()=>`file ${e.name}`},r=new Map,s={get:e=>r.get(e),add(e){var t;kX(!0===(null===(t=e.proto.options)||void 0===t?void 0:t.mapEntry)),r.set(e.typeName,e)}};for(const n of e.enumType)BX(n,o,void 0,t);for(const n of e.messageType)SX(n,o,void 0,t,s);for(const n of e.service)XX(n,o,t);vX(o,t);for(const e of r.values())VX(e,t,s);for(const e of o.messages)VX(e,t,s),vX(e,t);t.addFile(o,!0)}function vX(e,t){switch(e.kind){case"file":for(const n of e.proto.extension){const i=RX(n,e,t);e.extensions.push(i),t.add(i)}break;case"message":for(const n of e.proto.extension){const i=RX(n,e,t);e.nestedExtensions.push(i),t.add(i)}for(const n of e.nestedMessages)vX(n,t)}}function VX(e,t,n){const i=e.proto.oneofDecl.map((t=>function(e,t){return{kind:"oneof",proto:e,deprecated:!1,parent:t,fields:[],name:e.name,localName:JS(RS(e.name)),toString(){return`oneof ${t.typeName}.${this.name}`}}}(t,e))),o=new Set;for(const r of e.proto.field){const s=xX(r,i),c=RX(r,e,t,s,n);e.fields.push(c),e.field[c.localName]=c,void 0===s?e.members.push(c):(s.fields.push(c),o.has(s)||(o.add(s),e.members.push(s)))}for(const t of i.filter((e=>o.has(e))))e.oneofs.push(t);for(const i of e.nestedMessages)VX(i,t,n)}function BX(e,t,n,i){var o,r,s,c,a;const l=function(e,t){const n=(i=e,(i.substring(0,1)+i.substring(1).replace(/[A-Z]/g,(e=>"_"+e))).toLowerCase()+"_");var i;for(const e of t){if(!e.name.toLowerCase().startsWith(n))return;const t=e.name.substring(n.length);if(0==t.length)return;if(/^\d/.test(t))return}return n}(e.name,e.value),u={kind:"enum",proto:e,deprecated:null!==(r=null===(o=e.options)||void 0===o?void 0:o.deprecated)&&void 0!==r&&r,file:t,parent:n,open:!0,name:e.name,typeName:wX(e,n,t),value:{},values:[],sharedPrefix:l,toString(){return`enum ${this.typeName}`}};u.open=function(e){var t;return GX==NX("enumType",{proto:e.proto,parent:null!==(t=e.parent)&&void 0!==t?t:e.file})}(u),i.add(u);for(const t of e.value){const e=t.name;u.values.push(u.value[t.number]={kind:"enum_value",proto:t,deprecated:null!==(c=null===(s=t.options)||void 0===s?void 0:s.deprecated)&&void 0!==c&&c,parent:u,name:e,localName:JS(null==l?e:e.substring(l.length)),number:t.number,toString:()=>`enum value ${u.typeName}.${e}`})}(null!==(a=null==n?void 0:n.nestedEnums)&&void 0!==a?a:t.enums).push(u)}function SX(e,t,n,i,o){var r,s,c,a;const l={kind:"message",proto:e,deprecated:null!==(s=null===(r=e.options)||void 0===r?void 0:r.deprecated)&&void 0!==s&&s,file:t,parent:n,name:e.name,typeName:wX(e,n,t),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};!0===(null===(c=e.options)||void 0===c?void 0:c.mapEntry)?o.add(l):((null!==(a=null==n?void 0:n.nestedMessages)&&void 0!==a?a:t.messages).push(l),i.add(l));for(const n of e.enumType)BX(n,t,l,i);for(const n of e.nestedType)SX(n,t,l,i,o)}function XX(e,t,n){var i,o;const r={kind:"service",proto:e,deprecated:null!==(o=null===(i=e.options)||void 0===i?void 0:i.deprecated)&&void 0!==o&&o,file:t,name:e.name,typeName:wX(e,void 0,t),methods:[],method:{},toString(){return`service ${this.typeName}`}};t.services.push(r),n.add(r);for(const t of e.method){const e=EX(t,r,n);r.methods.push(e),r.method[e.localName]=e}}function EX(e,t,n){var i,o,r,s;let c;c=e.clientStreaming&&e.serverStreaming?"bidi_streaming":e.clientStreaming?"client_streaming":e.serverStreaming?"server_streaming":"unary";const a=n.getMessage(FX(e.inputType)),l=n.getMessage(FX(e.outputType));kX(a,`invalid MethodDescriptorProto: input_type ${e.inputType} not found`),kX(l,`invalid MethodDescriptorProto: output_type ${e.inputType} not found`);const u=e.name;return{kind:"rpc",proto:e,deprecated:null!==(o=null===(i=e.options)||void 0===i?void 0:i.deprecated)&&void 0!==o&&o,parent:t,name:u,localName:JS(u.length?JS(u[0].toLowerCase()+u.substring(1)):u),methodKind:c,input:a,output:l,idempotency:null!==(s=null===(r=e.options)||void 0===r?void 0:r.idempotencyLevel)&&void 0!==s?s:bX,toString:()=>`rpc ${t.typeName}.${u}`}}function RX(e,t,n,i,o){var r,s,c;const a=void 0===o,l={kind:"field",proto:e,deprecated:null!==(s=null===(r=e.options)||void 0===r?void 0:r.deprecated)&&void 0!==s&&s,name:e.name,number:e.number,scalar:void 0,message:void 0,enum:void 0,presence:YX(e,i,a,t),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(a){const i="file"==t.kind?t:t.file,o="file"==t.kind?void 0:t,r=wX(e,o,i);l.kind="extension",l.file=i,l.parent=o,l.oneof=void 0,l.typeName=r,l.jsonName=`[${r}]`,l.toString=()=>`extension ${r}`;const s=n.getMessage(FX(e.extendee));kX(s,`invalid FieldDescriptorProto: extendee ${e.extendee} not found`),l.extendee=s}else{const n=t;kX("message"==n.kind),l.parent=n,l.oneof=i,l.localName=i?RS(e.name):JS(RS(e.name)),l.jsonName=e.jsonName,l.toString=()=>`field ${n.typeName}.${e.name}`}const u=e.label,d=e.type,h=null===(c=e.options)||void 0===c?void 0:c.jstype;if(u===hX){const i=d==lX?null==o?void 0:o.get(FX(e.typeName)):void 0;if(i){l.fieldKind="map";const{key:e,value:t}=function(e){const t=e.fields.find((e=>1===e.number)),n=e.fields.find((e=>2===e.number));return kX(t&&"scalar"==t.fieldKind&&t.scalar!=TS.BYTES&&t.scalar!=TS.FLOAT&&t.scalar!=TS.DOUBLE&&n&&"list"!=n.fieldKind&&"map"!=n.fieldKind),{key:t,value:n}}(i);return l.mapKey=e.scalar,l.mapKind=t.fieldKind,l.message=t.message,l.delimitedEncoding=!1,l.enum=t.enum,l.scalar=t.scalar,l}switch(l.fieldKind="list",d){case lX:case aX:l.listKind="message",l.message=n.getMessage(FX(e.typeName)),kX(l.message),l.delimitedEncoding=HX(e,t);break;case dX:l.listKind="enum",l.enum=n.getEnum(FX(e.typeName)),kX(l.enum);break;default:l.listKind="scalar",l.scalar=d,l.longAsString=h==mX}return l.packed=function(e,t){if(e.label!=hX)return!1;switch(e.type){case cX:case uX:case aX:case lX:return!1}const n=e.options;if(n&&qS(n,"packed"))return n.packed;return IX==NX("repeatedFieldEncoding",{proto:e,parent:t})}(e,t),l}switch(d){case lX:case aX:l.fieldKind="message",l.message=n.getMessage(FX(e.typeName)),kX(l.message,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),l.delimitedEncoding=HX(e,t),l.getDefaultValue=()=>{};break;case dX:{const t=n.getEnum(FX(e.typeName));kX(void 0!==t,`invalid FieldDescriptorProto: type_name ${e.typeName} not found`),l.fieldKind="enum",l.enum=n.getEnum(FX(e.typeName)),l.getDefaultValue=()=>qS(e,"defaultValue")?function(e,t){const n=e.values.find((e=>e.name===t));if(!n)throw new Error(`cannot parse ${e} default value: ${t}`);return n.number}(t,e.defaultValue):void 0;break}default:l.fieldKind="scalar",l.scalar=d,l.longAsString=h==mX,l.getDefaultValue=()=>qS(e,"defaultValue")?nX(d,e.defaultValue):void 0}return l}function WX(e){switch(e.syntax){case"":case"proto2":return rX;case"proto3":return sX;case"editions":if(e.edition in CX)return e.edition;throw new Error(`${e.name}: unsupported edition`);default:throw new Error(`${e.name}: unsupported syntax "${e.syntax}"`)}}function JX(e,t){return e.dependency.map((n=>{const i=t.getFile(n);if(!i)throw new Error(`Cannot find ${n}, imported by ${e.name}`);return i}))}function wX(e,t,n){let i;return i=t?`${t.typeName}.${e.name}`:n.proto.package.length>0?`${n.proto.package}.${e.name}`:`${e.name}`,i}function FX(e){return e.startsWith(".")?e.substring(1):e}function xX(e,t){if(!qS(e,"oneofIndex"))return;if(e.proto3Optional)return;const n=t[e.oneofIndex];return kX(n,`invalid FieldDescriptorProto: oneof #${e.oneofIndex} for field #${e.number} not found`),n}function YX(e,t,n,i){if(e.label==gX)return yX;if(e.label==hX)return fX;if(t||e.proto3Optional)return pX;if(n)return pX;const o=NX("fieldPresence",{proto:e,parent:i});return o!=fX||e.type!=lX&&e.type!=aX?o:pX}function HX(e,t){return e.type==aX||AX==NX("messageEncoding",{proto:e,parent:t})}function NX(e,t){var n,i;const o=null===(n=t.proto.options)||void 0===n?void 0:n.features;if(o){const t=o[e];if(0!=t)return t}if("kind"in t){if("message"==t.kind)return NX(e,null!==(i=t.parent)&&void 0!==i?i:t.file);const n=CX[t.edition];if(!n)throw new Error(`feature default for edition ${t.edition} not found`);return n[e]}return NX(e,t.parent)}function kX(e,t){if(!e)throw new Error(t)}function _X(e){const t=function(e){const t=Object.create({syntax:"",edition:0});return Object.assign(t,Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],service:[],extension:[]},e),{messageType:e.messageType.map(MX),enumType:e.enumType.map(UX)}))}(e);t.messageType.forEach(tX);return oX(t,(()=>{})).getFile(t.name)}function MX(e){var t,n,i,o,r,s,c,a;return{$typeName:"google.protobuf.DescriptorProto",name:e.name,field:null!==(n=null===(t=e.field)||void 0===t?void 0:t.map(zX))&&void 0!==n?n:[],extension:[],nestedType:null!==(o=null===(i=e.nestedType)||void 0===i?void 0:i.map(MX))&&void 0!==o?o:[],enumType:null!==(s=null===(r=e.enumType)||void 0===r?void 0:r.map(UX))&&void 0!==s?s:[],extensionRange:null!==(a=null===(c=e.extensionRange)||void 0===c?void 0:c.map((e=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},e))))&&void 0!==a?a:[],oneofDecl:[],reservedRange:[],reservedName:[]}}function zX(e){const t=Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1});return Object.assign(t,Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},e),{options:e.options?KX(e.options):void 0}))}function KX(e){var t,n,i;const o=Object.create({ctype:0,packed:!1,jstype:0,lazy:!1,unverifiedLazy:!1,deprecated:!1,weak:!1,debugRedact:!1,retention:0});return Object.assign(o,Object.assign(Object.assign({$typeName:"google.protobuf.FieldOptions"},e),{targets:null!==(t=e.targets)&&void 0!==t?t:[],editionDefaults:null!==(i=null===(n=e.editionDefaults)||void 0===n?void 0:n.map((e=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},e))))&&void 0!==i?i:[],uninterpretedOption:[]}))}function UX(e){return{$typeName:"google.protobuf.EnumDescriptorProto",name:e.name,reservedName:[],reservedRange:[],value:e.value.map((e=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},e)))}}function LX(e){const t=function(){if(!TX){TX=[];const e=function(){DX||(DX="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),DX.slice(0,-2).concat("-","_"));return DX}();for(let t=0;t<e.length;t++)TX[e[t].charCodeAt(0)]=t;TX["-".charCodeAt(0)]=e.indexOf("+"),TX["_".charCodeAt(0)]=e.indexOf("/")}return TX}();let n=3*e.length/4;"="==e[e.length-2]?n-=2:"="==e[e.length-1]&&(n-=1);let i,o=new Uint8Array(n),r=0,s=0,c=0;for(let n=0;n<e.length;n++){if(i=t[e.charCodeAt(n)],void 0===i)switch(e[n]){case"=":s=0;case"\n":case"\r":case"\t":case" ":continue;default:throw Error("invalid base64 string")}switch(s){case 0:c=i,s=1;break;case 1:o[r++]=c<<2|(48&i)>>4,c=i,s=2;break;case 2:o[r++]=(15&c)<<4|(60&i)>>2,c=i,s=3;break;case 3:o[r++]=(3&c)<<6|i,s=0}}if(1==s)throw Error("invalid base64 string");return o.subarray(0,r)}let DX,TX;function QX(e,t){return!(null===e||"object"!=typeof e||!("$typeName"in e)||"string"!=typeof e.$typeName)&&(void 0===t||t.typeName===e.$typeName)}class OX extends Error{constructor(e,t,n="FieldValueInvalidError"){super(t),this.name=n,this.field=()=>e}}function PX(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function jX(e,t){var n,i,o,r;if(PX(e)&&OS in e&&"add"in e&&"field"in e&&"function"==typeof e.field){if(void 0!==t){const s=t,c=e.field();return s.listKind==c.listKind&&s.scalar===c.scalar&&(null===(n=s.message)||void 0===n?void 0:n.typeName)===(null===(i=c.message)||void 0===i?void 0:i.typeName)&&(null===(o=s.enum)||void 0===o?void 0:o.typeName)===(null===(r=c.enum)||void 0===r?void 0:r.typeName)}return!0}return!1}function qX(e,t){var n,i,o,r;if(PX(e)&&OS in e&&"has"in e&&"field"in e&&"function"==typeof e.field){if(void 0!==t){const s=t,c=e.field();return s.mapKey===c.mapKey&&s.mapKind==c.mapKind&&s.scalar===c.scalar&&(null===(n=s.message)||void 0===n?void 0:n.typeName)===(null===(i=c.message)||void 0===i?void 0:i.typeName)&&(null===(o=s.enum)||void 0===o?void 0:o.typeName)===(null===(r=c.enum)||void 0===r?void 0:r.typeName)}return!0}return!1}function $X(e,t){return PX(e)&&OS in e&&"desc"in e&&PX(e.desc)&&"message"===e.desc.kind&&(void 0===t||e.desc.typeName==t.typeName)}const eE=Symbol.for("@bufbuild/protobuf/text-encoding");function tE(){if(null==globalThis[eE]){const e=new globalThis.TextEncoder,t=new globalThis.TextDecoder;globalThis[eE]={encodeUtf8:t=>e.encode(t),decodeUtf8:e=>t.decode(e),checkUtf8(e){try{return encodeURIComponent(e),!0}catch(e){return!1}}}}return globalThis[eE]}var nE;!function(e){e[e.Varint=0]="Varint",e[e.Bit64=1]="Bit64",e[e.LengthDelimited=2]="LengthDelimited",e[e.StartGroup=3]="StartGroup",e[e.EndGroup=4]="EndGroup",e[e.Bit32=5]="Bit32"}(nE||(nE={}));const iE=34028234663852886e22,oE=-34028234663852886e22,rE=4294967295,sE=2147483647,cE=-2147483648;class aE{constructor(e=tE().encodeUtf8){this.encodeUtf8=e,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let e=0;for(let t=0;t<this.chunks.length;t++)e+=this.chunks[t].length;let t=new Uint8Array(e),n=0;for(let e=0;e<this.chunks.length;e++)t.set(this.chunks[e],n),n+=this.chunks[e].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw new Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(dE(e);e>127;)this.buf.push(127&e|128),e>>>=7;return this.buf.push(e),this}int32(e){return uE(e),MS(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.encodeUtf8(e);return this.uint32(t.byteLength),this.raw(t)}float(e){!function(e){if("string"==typeof e){const t=e;if(e=Number(e),Number.isNaN(e)&&"NaN"!==t)throw new Error("invalid float32: "+t)}else if("number"!=typeof e)throw new Error("invalid float32: "+typeof e);if(Number.isFinite(e)&&(e>iE||e<oE))throw new Error("invalid float32: "+e)}(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){dE(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){uE(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return uE(e),MS(e=(e<<1^e>>31)>>>0,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),i=KS.enc(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),i=KS.uEnc(e);return n.setInt32(0,i.lo,!0),n.setInt32(4,i.hi,!0),this.raw(t)}int64(e){let t=KS.enc(e);return FS(t.lo,t.hi,this.buf),this}sint64(e){const t=KS.enc(e),n=t.hi>>31;return FS(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){const t=KS.uEnc(e);return FS(t.lo,t.hi,this.buf),this}}class lE{constructor(e,t=tE().decodeUtf8){this.decodeUtf8=t,this.varint64=wS,this.uint32=zS,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.uint32(),t=e>>>3,n=7&e;if(t<=0||n<0||n>5)throw new Error("illegal tag: field no "+t+" wire type "+n);return[t,n]}skip(e,t){let n=this.pos;switch(e){case nE.Varint:for(;128&this.buf[this.pos++];);break;case nE.Bit64:this.pos+=4;case nE.Bit32:this.pos+=4;break;case nE.LengthDelimited:let n=this.uint32();this.pos+=n;break;case nE.StartGroup:for(;;){const[e,n]=this.tag();if(n===nE.EndGroup){if(void 0!==t&&e!==t)throw new Error("invalid end group tag");break}this.skip(n,e)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return 0|this.uint32()}sint32(){let e=this.uint32();return e>>>1^-(1&e)}int64(){return KS.dec(...this.varint64())}uint64(){return KS.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(1&e);return e=(e>>>1|(1&t)<<31)^n,t=t>>>1^n,KS.dec(e,t)}bool(){let[e,t]=this.varint64();return 0!==e||0!==t}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return KS.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return KS.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.decodeUtf8(this.bytes())}}function uE(e){if("string"==typeof e)e=Number(e);else if("number"!=typeof e)throw new Error("invalid int32: "+typeof e);if(!Number.isInteger(e)||e>sE||e<cE)throw new Error("invalid int32: "+e)}function dE(e){if("string"==typeof e)e=Number(e);else if("number"!=typeof e)throw new Error("invalid uint32: "+typeof e);if(!Number.isInteger(e)||e>rE||e<0)throw new Error("invalid uint32: "+e)}function hE(e,t,n){const i=gE(e,n);if(!0!==i)return new OX(e,`list item #${t+1}: ${bE(e,n,i)}`)}function gE(e,t){return void 0!==e.scalar?mE(t,e.scalar):void 0!==e.enum?e.enum.open?Number.isInteger(t):e.enum.values.some((e=>e.number===t)):$X(t,e.message)}function mE(e,t){switch(t){case TS.DOUBLE:return"number"==typeof e;case TS.FLOAT:return"number"==typeof e&&(!(!Number.isNaN(e)&&Number.isFinite(e))||(!(e>iE||e<oE)||`${e.toFixed()} out of range`));case TS.INT32:case TS.SFIXED32:case TS.SINT32:return!("number"!=typeof e||!Number.isInteger(e))&&(!(e>sE||e<cE)||`${e.toFixed()} out of range`);case TS.FIXED32:case TS.UINT32:return!("number"!=typeof e||!Number.isInteger(e))&&(!(e>rE||e<0)||`${e.toFixed()} out of range`);case TS.BOOL:return"boolean"==typeof e;case TS.STRING:return"string"==typeof e&&(tE().checkUtf8(e)||"invalid UTF8");case TS.BYTES:return e instanceof Uint8Array;case TS.INT64:case TS.SFIXED64:case TS.SINT64:if("bigint"==typeof e||"number"==typeof e||"string"==typeof e&&e.length>0)try{return KS.parse(e),!0}catch(t){return`${e} out of range`}return!1;case TS.FIXED64:case TS.UINT64:if("bigint"==typeof e||"number"==typeof e||"string"==typeof e&&e.length>0)try{return KS.uParse(e),!0}catch(t){return`${e} out of range`}return!1}}function bE(e,t,n){return n="string"==typeof n?`: ${n}`:`, got ${pE(t)}`,void 0!==e.scalar?`expected ${function(e){switch(e){case TS.STRING:return"string";case TS.BOOL:return"boolean";case TS.INT64:case TS.SINT64:case TS.SFIXED64:return"bigint (int64)";case TS.UINT64:case TS.FIXED64:return"bigint (uint64)";case TS.BYTES:return"Uint8Array";case TS.DOUBLE:return"number (float64)";case TS.FLOAT:return"number (float32)";case TS.FIXED32:case TS.UINT32:return"number (uint32)";case TS.INT32:case TS.SFIXED32:case TS.SINT32:return"number (int32)"}}(e.scalar)}`+n:void 0!==e.enum?`expected ${e.enum.toString()}`+n:`expected ${fE(e.message)}`+n}function pE(e){switch(typeof e){case"object":return null===e?"null":e instanceof Uint8Array?`Uint8Array(${e.length})`:Array.isArray(e)?`Array(${e.length})`:jX(e)?yE(e.field()):qX(e)?IE(e.field()):$X(e)?fE(e.desc):QX(e)?`message ${e.$typeName}`:"object";case"string":return e.length>30?"string":`"${e.split('"').join('\\"')}"`;case"boolean":case"number":return String(e);case"bigint":return String(e)+"n";default:return typeof e}}function fE(e){return`ReflectMessage (${e.typeName})`}function yE(e){switch(e.listKind){case"message":return`ReflectList (${e.message.toString()})`;case"enum":return`ReflectList (${e.enum.toString()})`;case"scalar":return`ReflectList (${TS[e.scalar]})`}}function IE(e){switch(e.mapKind){case"message":return`ReflectMap (${TS[e.mapKey]}, ${e.message.toString()})`;case"enum":return`ReflectMap (${TS[e.mapKey]}, ${e.enum.toString()})`;case"scalar":return`ReflectMap (${TS[e.mapKey]}, ${TS[e.scalar]})`}}function AE(e){const t=e.fields[0];return GE(e.typeName)&&void 0!==t&&"scalar"==t.fieldKind&&"value"==t.name&&1==t.number}function GE(e){return e.startsWith("google.protobuf.")&&["DoubleValue","FloatValue","Int64Value","UInt64Value","Int32Value","UInt32Value","BoolValue","StringValue","BytesValue"].includes(e.substring(16))}function CE(e,t){if(QX(t,e))return t;const n=function(e){let t;if(function(e){switch(e.file.edition){case 999:return!1;case 998:return!0;default:return e.fields.some((e=>2!=e.presence&&"message"!=e.fieldKind&&!e.oneof))}}(e)){const n=RE.get(e);let i,o;if(n)({prototype:i,members:o}=n);else{i={},o=new Set;for(const t of e.members)"oneof"!=t.kind&&("scalar"!=t.fieldKind&&"enum"!=t.fieldKind||2!=t.presence&&(o.add(t),i[t.localName]=WE(t)));RE.set(e,{prototype:i,members:o})}t=Object.create(i),t.$typeName=e.typeName;for(const n of e.members)if(!o.has(n)){if("field"==n.kind){if("message"==n.fieldKind)continue;if(("scalar"==n.fieldKind||"enum"==n.fieldKind)&&2!=n.presence)continue}t[n.localName]=WE(n)}}else{t={$typeName:e.typeName};for(const n of e.members)"oneof"!=n.kind&&2!=n.presence||(t[n.localName]=WE(n))}return t}(e);return void 0!==t&&function(e,t,n){for(const i of e.members){let e,o=n[i.localName];if(null!=o){if("oneof"==i.kind){const t=PS(n,i);if(!t)continue;e=t,o=$S(n,t)}else e=i;switch(e.fieldKind){case"message":o=BE(e,o);break;case"scalar":o=ZE(e,o);break;case"list":o=VE(e,o);break;case"map":o=vE(e,o)}eX(t,e,o)}}}(e,n,t),n}function ZE(e,t){return e.scalar==TS.BYTES?SE(t):t}function vE(e,t){if(PX(t)){if(e.scalar==TS.BYTES)return XE(t,SE);if("message"==e.mapKind)return XE(t,(t=>BE(e,t)))}return t}function VE(e,t){if(Array.isArray(t)){if(e.scalar==TS.BYTES)return t.map(SE);if("message"==e.listKind)return t.map((t=>BE(e,t)))}return t}function BE(e,t){if("message"==e.fieldKind&&!e.oneof&&AE(e.message))return ZE(e.message.fields[0],t);if(PX(t)){if("google.protobuf.Struct"==e.message.typeName&&"google.protobuf.Value"!==e.parent.typeName)return t;if(!QX(t,e.message))return CE(e.message,t)}return t}function SE(e){return Array.isArray(e)?new Uint8Array(e):e}function XE(e,t){const n={};for(const i of Object.entries(e))n[i[0]]=t(i[1]);return n}const EE=Symbol(),RE=new WeakMap;function WE(e){if("oneof"==e.kind)return{case:void 0};if("list"==e.fieldKind)return[];if("map"==e.fieldKind)return{};if("message"==e.fieldKind)return EE;const t=e.getDefaultValue();return void 0!==t?"scalar"==e.fieldKind&&e.longAsString?t.toString():t:"scalar"==e.fieldKind?QS(e.scalar,e.longAsString):e.enum.values[0].number}function JE(e,t,n=!0){return new wE(e,t,n)}class wE{get sortedFields(){var e;return null!==(e=this._sortedFields)&&void 0!==e?e:this._sortedFields=this.desc.fields.concat().sort(((e,t)=>e.number-t.number))}constructor(e,t,n=!0){this.lists=new Map,this.maps=new Map,this.check=n,this.desc=e,this.message=this[OS]=null!=t?t:CE(e),this.fields=e.fields,this.oneofs=e.oneofs,this.members=e.members}findNumber(e){return this._fieldsByNumber||(this._fieldsByNumber=new Map(this.desc.fields.map((e=>[e.number,e])))),this._fieldsByNumber.get(e)}oneofCase(e){return FE(this.message,e),PS(this.message,e)}isSet(e){return FE(this.message,e),jS(this.message,e)}clear(e){FE(this.message,e),function(e,t){const n=t.localName;if(t.oneof){const i=t.oneof.localName;e[i].case===n&&(e[i]={case:void 0})}else if(2!=t.presence)delete e[n];else switch(t.fieldKind){case"map":e[n]={};break;case"list":e[n]=[];break;case"enum":e[n]=t.enum.values[0].number;break;case"scalar":e[n]=QS(t.scalar,t.longAsString)}}(this.message,e)}get(e){FE(this.message,e);const t=$S(this.message,e);switch(e.fieldKind){case"list":let n=this.lists.get(e);return n&&n[OS]===t||this.lists.set(e,n=new xE(e,t,this.check)),n;case"map":let i=this.maps.get(e);return i&&i[OS]===t||this.maps.set(e,i=new YE(e,t,this.check)),i;case"message":return NE(e,t,this.check);case"scalar":return void 0===t?QS(e.scalar,!1):UE(e,t);case"enum":return null!=t?t:e.enum.values[0].number}}set(e,t){if(FE(this.message,e),this.check){const n=function(e,t){const n="list"==e.fieldKind?jX(t,e):"map"==e.fieldKind?qX(t,e):gE(e,t);if(!0===n)return;let i;switch(e.fieldKind){case"list":i=`expected ${yE(e)}, got ${pE(t)}`;break;case"map":i=`expected ${IE(e)}, got ${pE(t)}`;break;default:i=bE(e,t,n)}return new OX(e,i)}(e,t);if(n)throw n}let n;n="message"==e.fieldKind?HE(e,t):qX(t)||jX(t)?t[OS]:LE(e,t),eX(this.message,e,n)}getUnknown(){return this.message.$unknown}setUnknown(e){this.message.$unknown=e}}function FE(e,t){if(t.parent.typeName!==e.$typeName)throw new OX(t,`cannot use ${t.toString()} with message ${e.$typeName}`,"ForeignFieldError")}class xE{field(){return this._field}get size(){return this._arr.length}constructor(e,t,n){this._field=e,this._arr=this[OS]=t,this.check=n}get(e){const t=this._arr[e];return void 0===t?void 0:_E(this._field,t,this.check)}set(e,t){if(e<0||e>=this._arr.length)throw new OX(this._field,`list item #${e+1}: out of range`);if(this.check){const n=hE(this._field,e,t);if(n)throw n}this._arr[e]=kE(this._field,t)}add(e){if(this.check){const t=hE(this._field,this._arr.length,e);if(t)throw t}this._arr.push(kE(this._field,e))}clear(){this._arr.splice(0,this._arr.length)}[Symbol.iterator](){return this.values()}keys(){return this._arr.keys()}*values(){for(const e of this._arr)yield _E(this._field,e,this.check)}*entries(){for(let e=0;e<this._arr.length;e++)yield[e,_E(this._field,this._arr[e],this.check)]}}class YE{constructor(e,t,n=!0){this.obj=this[OS]=null!=t?t:{},this.check=n,this._field=e}field(){return this._field}set(e,t){if(this.check){const n=function(e,t,n){const i=mE(t,e.mapKey);if(!0!==i)return new OX(e,`invalid map key: ${bE({scalar:e.mapKey},t,i)}`);const o=gE(e,n);return!0!==o?new OX(e,`map entry ${pE(t)}: ${bE(e,n,o)}`):void 0}(this._field,e,t);if(n)throw n}return this.obj[zE(e)]=function(e,t){if("message"==e.mapKind)return HE(e,t);return LE(e,t)}(this._field,t),this}delete(e){const t=zE(e),n=Object.prototype.hasOwnProperty.call(this.obj,t);return n&&delete this.obj[t],n}clear(){for(const e of Object.keys(this.obj))delete this.obj[e]}get(e){let t=this.obj[zE(e)];return void 0!==t&&(t=ME(this._field,t,this.check)),t}has(e){return Object.prototype.hasOwnProperty.call(this.obj,zE(e))}*keys(){for(const e of Object.keys(this.obj))yield KE(e,this._field.mapKey)}*entries(){for(const e of Object.entries(this.obj))yield[KE(e[0],this._field.mapKey),ME(this._field,e[1],this.check)]}[Symbol.iterator](){return this.entries()}get size(){return Object.keys(this.obj).length}*values(){for(const e of Object.values(this.obj))yield ME(this._field,e,this.check)}forEach(e,t){for(const n of this.entries())e.call(t,n[1],n[0],this)}}function HE(e,t){return $X(t)?GE(t.message.$typeName)&&!e.oneof&&"message"==e.fieldKind?t.message.value:"google.protobuf.Struct"==t.desc.typeName&&"google.protobuf.Value"!=e.parent.typeName?TE(t.message):t.message:t}function NE(e,t,n){return void 0!==t&&(AE(e.message)&&!e.oneof&&"message"==e.fieldKind?t={$typeName:e.message.typeName,value:UE(e.message.fields[0],t)}:"google.protobuf.Struct"==e.message.typeName&&"google.protobuf.Value"!=e.parent.typeName&&PX(t)&&(t=DE(t))),new wE(e.message,t,n)}function kE(e,t){return"message"==e.listKind?HE(e,t):LE(e,t)}function _E(e,t,n){return"message"==e.listKind?NE(e,t,n):UE(e,t)}function ME(e,t,n){return"message"==e.mapKind?NE(e,t,n):t}function zE(e){return"string"==typeof e||"number"==typeof e?e:String(e)}function KE(e,t){switch(t){case TS.STRING:return e;case TS.INT32:case TS.FIXED32:case TS.UINT32:case TS.SFIXED32:case TS.SINT32:{const t=Number.parseInt(e);if(Number.isFinite(t))return t;break}case TS.BOOL:switch(e){case"true":return!0;case"false":return!1}break;case TS.UINT64:case TS.FIXED64:try{return KS.uParse(e)}catch(e){}break;default:try{return KS.parse(e)}catch(e){}}return e}function UE(e,t){switch(e.scalar){case TS.INT64:case TS.SFIXED64:case TS.SINT64:"longAsString"in e&&e.longAsString&&"string"==typeof t&&(t=KS.parse(t));break;case TS.FIXED64:case TS.UINT64:"longAsString"in e&&e.longAsString&&"string"==typeof t&&(t=KS.uParse(t))}return t}function LE(e,t){switch(e.scalar){case TS.INT64:case TS.SFIXED64:case TS.SINT64:"longAsString"in e&&e.longAsString?t=String(t):"string"!=typeof t&&"number"!=typeof t||(t=KS.parse(t));break;case TS.FIXED64:case TS.UINT64:"longAsString"in e&&e.longAsString?t=String(t):"string"!=typeof t&&"number"!=typeof t||(t=KS.uParse(t))}return t}function DE(e){const t={$typeName:"google.protobuf.Struct",fields:{}};if(PX(e))for(const[n,i]of Object.entries(e))t.fields[n]=OE(i);return t}function TE(e){const t={};for(const[n,i]of Object.entries(e.fields))t[n]=QE(i);return t}function QE(e){switch(e.kind.case){case"structValue":return TE(e.kind.value);case"listValue":return e.kind.value.values.map(QE);case"nullValue":case void 0:return null;default:return e.kind.value}}function OE(e){const t={$typeName:"google.protobuf.Value",kind:{case:void 0}};switch(typeof e){case"number":t.kind={case:"numberValue",value:e};break;case"string":t.kind={case:"stringValue",value:e};break;case"boolean":t.kind={case:"boolValue",value:e};break;case"object":if(null===e){const e=0;t.kind={case:"nullValue",value:e}}else if(Array.isArray(e)){const n={$typeName:"google.protobuf.ListValue",values:[]};if(Array.isArray(e))for(const t of e)n.values.push(OE(t));t.kind={case:"listValue",value:n}}else t.kind={case:"structValue",value:DE(e)}}return t}const PE={writeUnknownFields:!0};function jE(e,t,n){return qE(new aE,function(e){return e?Object.assign(Object.assign({},PE),e):PE}(n),JE(e,t)).finish()}function qE(e,t,n){var i;for(const i of n.sortedFields)if(n.isSet(i))$E(e,t,n,i);else if(3==i.presence)throw new Error(`cannot encode ${i} to binary: required field not set`);if(t.writeUnknownFields)for(const{no:t,wireType:o,data:r}of null!==(i=n.getUnknown())&&void 0!==i?i:[])e.tag(t,o).raw(r);return e}function $E(e,t,n,i){var o;switch(i.fieldKind){case"scalar":case"enum":eR(e,n.desc.typeName,i.name,null!==(o=i.scalar)&&void 0!==o?o:TS.INT32,i.number,n.get(i));break;case"list":!function(e,t,n,i){var o;if("message"==n.listKind){for(const o of i)tR(e,t,n,o);return}const r=null!==(o=n.scalar)&&void 0!==o?o:TS.INT32;if(n.packed){if(!i.size)return;e.tag(n.number,nE.LengthDelimited).fork();for(const t of i)iR(e,n.parent.typeName,n.name,r,t);return void e.join()}for(const t of i)eR(e,n.parent.typeName,n.name,r,n.number,t)}(e,t,i,n.get(i));break;case"message":tR(e,t,i,n.get(i));break;case"map":for(const[o,r]of n.get(i))nR(e,t,i,o,r)}}function eR(e,t,n,i,o,r){iR(e.tag(o,function(e){switch(e){case TS.BYTES:case TS.STRING:return nE.LengthDelimited;case TS.DOUBLE:case TS.FIXED64:case TS.SFIXED64:return nE.Bit64;case TS.FIXED32:case TS.SFIXED32:case TS.FLOAT:return nE.Bit32;default:return nE.Varint}}(i)),t,n,i,r)}function tR(e,t,n,i){n.delimitedEncoding?qE(e.tag(n.number,nE.StartGroup),t,i).tag(n.number,nE.EndGroup):qE(e.tag(n.number,nE.LengthDelimited).fork(),t,i).join()}function nR(e,t,n,i,o){var r;switch(e.tag(n.number,nE.LengthDelimited).fork(),eR(e,n.parent.typeName,n.name,n.mapKey,1,i),n.mapKind){case"scalar":case"enum":eR(e,n.parent.typeName,n.name,null!==(r=n.scalar)&&void 0!==r?r:TS.INT32,2,o);break;case"message":qE(e.tag(2,nE.LengthDelimited).fork(),t,o).join()}e.join()}function iR(e,t,n,i,o){try{switch(i){case TS.STRING:e.string(o);break;case TS.BOOL:e.bool(o);break;case TS.DOUBLE:e.double(o);break;case TS.FLOAT:e.float(o);break;case TS.INT32:e.int32(o);break;case TS.INT64:e.int64(o);break;case TS.UINT64:e.uint64(o);break;case TS.FIXED64:e.fixed64(o);break;case TS.BYTES:e.bytes(o);break;case TS.FIXED32:e.fixed32(o);break;case TS.SFIXED32:e.sfixed32(o);break;case TS.SFIXED64:e.sfixed64(o);break;case TS.SINT64:e.sint64(o);break;case TS.UINT32:e.uint32(o);break;case TS.SINT32:e.sint32(o)}}catch(e){if(e instanceof Error)throw new Error(`cannot encode field ${t}.${n} to binary: ${e.message}`);throw e}}function oR(e,t){return rR(JE(e,t)).message}function rR(e){const t=JE(e.desc);for(const n of e.fields)if(e.isSet(n))switch(n.fieldKind){case"list":const i=t.get(n);for(const t of e.get(n))i.add(sR(n,t));break;case"map":const o=t.get(n);for(const t of e.get(n).entries())o.set(t[0],sR(n,t[1]));break;default:t.set(n,sR(n,e.get(n)))}const n=e.getUnknown();return n&&n.length>0&&t.setUnknown([...n]),t}function sR(e,t){return void 0!==e.message&&$X(t)?rR(t):e.scalar==TS.BYTES&&t instanceof Uint8Array?t.slice():t}function cR(e,t,...n){return n.reduce(((e,t)=>e.nestedMessages[t]),e.messages[t])}const aR=_X({name:"google/protobuf/descriptor.proto",package:"google.protobuf",messageType:[{name:"FileDescriptorSet",field:[{name:"file",number:1,type:11,label:3,typeName:".google.protobuf.FileDescriptorProto"}],extensionRange:[{start:536e6,end:536000001}]},{name:"FileDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"package",number:2,type:9,label:1},{name:"dependency",number:3,type:9,label:3},{name:"public_dependency",number:10,type:5,label:3},{name:"weak_dependency",number:11,type:5,label:3},{name:"message_type",number:4,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:5,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"service",number:6,type:11,label:3,typeName:".google.protobuf.ServiceDescriptorProto"},{name:"extension",number:7,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FileOptions"},{name:"source_code_info",number:9,type:11,label:1,typeName:".google.protobuf.SourceCodeInfo"},{name:"syntax",number:12,type:9,label:1},{name:"edition",number:14,type:14,label:1,typeName:".google.protobuf.Edition"}]},{name:"DescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"field",number:2,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"extension",number:6,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"nested_type",number:3,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"extension_range",number:5,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ExtensionRange"},{name:"oneof_decl",number:8,type:11,label:3,typeName:".google.protobuf.OneofDescriptorProto"},{name:"options",number:7,type:11,label:1,typeName:".google.protobuf.MessageOptions"},{name:"reserved_range",number:9,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ReservedRange"},{name:"reserved_name",number:10,type:9,label:3}],nestedType:[{name:"ExtensionRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ExtensionRangeOptions"}]},{name:"ReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"ExtensionRangeOptions",field:[{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"},{name:"declaration",number:2,type:11,label:3,typeName:".google.protobuf.ExtensionRangeOptions.Declaration",options:{retention:2}},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"verification",number:3,type:14,label:1,typeName:".google.protobuf.ExtensionRangeOptions.VerificationState",defaultValue:"UNVERIFIED",options:{retention:2}}],nestedType:[{name:"Declaration",field:[{name:"number",number:1,type:5,label:1},{name:"full_name",number:2,type:9,label:1},{name:"type",number:3,type:9,label:1},{name:"reserved",number:5,type:8,label:1},{name:"repeated",number:6,type:8,label:1}]}],enumType:[{name:"VerificationState",value:[{name:"DECLARATION",number:0},{name:"UNVERIFIED",number:1}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:3,type:5,label:1},{name:"label",number:4,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Label"},{name:"type",number:5,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Type"},{name:"type_name",number:6,type:9,label:1},{name:"extendee",number:2,type:9,label:1},{name:"default_value",number:7,type:9,label:1},{name:"oneof_index",number:9,type:5,label:1},{name:"json_name",number:10,type:9,label:1},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FieldOptions"},{name:"proto3_optional",number:17,type:8,label:1}],enumType:[{name:"Type",value:[{name:"TYPE_DOUBLE",number:1},{name:"TYPE_FLOAT",number:2},{name:"TYPE_INT64",number:3},{name:"TYPE_UINT64",number:4},{name:"TYPE_INT32",number:5},{name:"TYPE_FIXED64",number:6},{name:"TYPE_FIXED32",number:7},{name:"TYPE_BOOL",number:8},{name:"TYPE_STRING",number:9},{name:"TYPE_GROUP",number:10},{name:"TYPE_MESSAGE",number:11},{name:"TYPE_BYTES",number:12},{name:"TYPE_UINT32",number:13},{name:"TYPE_ENUM",number:14},{name:"TYPE_SFIXED32",number:15},{name:"TYPE_SFIXED64",number:16},{name:"TYPE_SINT32",number:17},{name:"TYPE_SINT64",number:18}]},{name:"Label",value:[{name:"LABEL_OPTIONAL",number:1},{name:"LABEL_REPEATED",number:3},{name:"LABEL_REQUIRED",number:2}]}]},{name:"OneofDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"options",number:2,type:11,label:1,typeName:".google.protobuf.OneofOptions"}]},{name:"EnumDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"value",number:2,type:11,label:3,typeName:".google.protobuf.EnumValueDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumOptions"},{name:"reserved_range",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto.EnumReservedRange"},{name:"reserved_name",number:5,type:9,label:3}],nestedType:[{name:"EnumReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"EnumValueDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumValueOptions"}]},{name:"ServiceDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"method",number:2,type:11,label:3,typeName:".google.protobuf.MethodDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ServiceOptions"}]},{name:"MethodDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"input_type",number:2,type:9,label:1},{name:"output_type",number:3,type:9,label:1},{name:"options",number:4,type:11,label:1,typeName:".google.protobuf.MethodOptions"},{name:"client_streaming",number:5,type:8,label:1,defaultValue:"false"},{name:"server_streaming",number:6,type:8,label:1,defaultValue:"false"}]},{name:"FileOptions",field:[{name:"java_package",number:1,type:9,label:1},{name:"java_outer_classname",number:8,type:9,label:1},{name:"java_multiple_files",number:10,type:8,label:1,defaultValue:"false"},{name:"java_generate_equals_and_hash",number:20,type:8,label:1,options:{deprecated:!0}},{name:"java_string_check_utf8",number:27,type:8,label:1,defaultValue:"false"},{name:"optimize_for",number:9,type:14,label:1,typeName:".google.protobuf.FileOptions.OptimizeMode",defaultValue:"SPEED"},{name:"go_package",number:11,type:9,label:1},{name:"cc_generic_services",number:16,type:8,label:1,defaultValue:"false"},{name:"java_generic_services",number:17,type:8,label:1,defaultValue:"false"},{name:"py_generic_services",number:18,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:23,type:8,label:1,defaultValue:"false"},{name:"cc_enable_arenas",number:31,type:8,label:1,defaultValue:"true"},{name:"objc_class_prefix",number:36,type:9,label:1},{name:"csharp_namespace",number:37,type:9,label:1},{name:"swift_prefix",number:39,type:9,label:1},{name:"php_class_prefix",number:40,type:9,label:1},{name:"php_namespace",number:41,type:9,label:1},{name:"php_metadata_namespace",number:44,type:9,label:1},{name:"ruby_package",number:45,type:9,label:1},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"OptimizeMode",value:[{name:"SPEED",number:1},{name:"CODE_SIZE",number:2},{name:"LITE_RUNTIME",number:3}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"MessageOptions",field:[{name:"message_set_wire_format",number:1,type:8,label:1,defaultValue:"false"},{name:"no_standard_descriptor_accessor",number:2,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"map_entry",number:7,type:8,label:1},{name:"deprecated_legacy_json_field_conflicts",number:11,type:8,label:1,options:{deprecated:!0}},{name:"features",number:12,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldOptions",field:[{name:"ctype",number:1,type:14,label:1,typeName:".google.protobuf.FieldOptions.CType",defaultValue:"STRING"},{name:"packed",number:2,type:8,label:1},{name:"jstype",number:6,type:14,label:1,typeName:".google.protobuf.FieldOptions.JSType",defaultValue:"JS_NORMAL"},{name:"lazy",number:5,type:8,label:1,defaultValue:"false"},{name:"unverified_lazy",number:15,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"weak",number:10,type:8,label:1,defaultValue:"false"},{name:"debug_redact",number:16,type:8,label:1,defaultValue:"false"},{name:"retention",number:17,type:14,label:1,typeName:".google.protobuf.FieldOptions.OptionRetention"},{name:"targets",number:19,type:14,label:3,typeName:".google.protobuf.FieldOptions.OptionTargetType"},{name:"edition_defaults",number:20,type:11,label:3,typeName:".google.protobuf.FieldOptions.EditionDefault"},{name:"features",number:21,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"feature_support",number:22,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],nestedType:[{name:"EditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"value",number:2,type:9,label:1}]},{name:"FeatureSupport",field:[{name:"edition_introduced",number:1,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"edition_deprecated",number:2,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"deprecation_warning",number:3,type:9,label:1},{name:"edition_removed",number:4,type:14,label:1,typeName:".google.protobuf.Edition"}]}],enumType:[{name:"CType",value:[{name:"STRING",number:0},{name:"CORD",number:1},{name:"STRING_PIECE",number:2}]},{name:"JSType",value:[{name:"JS_NORMAL",number:0},{name:"JS_STRING",number:1},{name:"JS_NUMBER",number:2}]},{name:"OptionRetention",value:[{name:"RETENTION_UNKNOWN",number:0},{name:"RETENTION_RUNTIME",number:1},{name:"RETENTION_SOURCE",number:2}]},{name:"OptionTargetType",value:[{name:"TARGET_TYPE_UNKNOWN",number:0},{name:"TARGET_TYPE_FILE",number:1},{name:"TARGET_TYPE_EXTENSION_RANGE",number:2},{name:"TARGET_TYPE_MESSAGE",number:3},{name:"TARGET_TYPE_FIELD",number:4},{name:"TARGET_TYPE_ONEOF",number:5},{name:"TARGET_TYPE_ENUM",number:6},{name:"TARGET_TYPE_ENUM_ENTRY",number:7},{name:"TARGET_TYPE_SERVICE",number:8},{name:"TARGET_TYPE_METHOD",number:9}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"OneofOptions",field:[{name:"features",number:1,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumOptions",field:[{name:"allow_alias",number:2,type:8,label:1},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"deprecated_legacy_json_field_conflicts",number:6,type:8,label:1,options:{deprecated:!0}},{name:"features",number:7,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumValueOptions",field:[{name:"deprecated",number:1,type:8,label:1,defaultValue:"false"},{name:"features",number:2,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"debug_redact",number:3,type:8,label:1,defaultValue:"false"},{name:"feature_support",number:4,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"ServiceOptions",field:[{name:"features",number:34,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"MethodOptions",field:[{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"idempotency_level",number:34,type:14,label:1,typeName:".google.protobuf.MethodOptions.IdempotencyLevel",defaultValue:"IDEMPOTENCY_UNKNOWN"},{name:"features",number:35,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"IdempotencyLevel",value:[{name:"IDEMPOTENCY_UNKNOWN",number:0},{name:"NO_SIDE_EFFECTS",number:1},{name:"IDEMPOTENT",number:2}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"UninterpretedOption",field:[{name:"name",number:2,type:11,label:3,typeName:".google.protobuf.UninterpretedOption.NamePart"},{name:"identifier_value",number:3,type:9,label:1},{name:"positive_int_value",number:4,type:4,label:1},{name:"negative_int_value",number:5,type:3,label:1},{name:"double_value",number:6,type:1,label:1},{name:"string_value",number:7,type:12,label:1},{name:"aggregate_value",number:8,type:9,label:1}],nestedType:[{name:"NamePart",field:[{name:"name_part",number:1,type:9,label:2},{name:"is_extension",number:2,type:8,label:2}]}]},{name:"FeatureSet",field:[{name:"field_presence",number:1,type:14,label:1,typeName:".google.protobuf.FeatureSet.FieldPresence",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPLICIT",edition:900},{value:"IMPLICIT",edition:999},{value:"EXPLICIT",edition:1e3}]}},{name:"enum_type",number:2,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnumType",options:{retention:1,targets:[6,1],editionDefaults:[{value:"CLOSED",edition:900},{value:"OPEN",edition:999}]}},{name:"repeated_field_encoding",number:3,type:14,label:1,typeName:".google.protobuf.FeatureSet.RepeatedFieldEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPANDED",edition:900},{value:"PACKED",edition:999}]}},{name:"utf8_validation",number:4,type:14,label:1,typeName:".google.protobuf.FeatureSet.Utf8Validation",options:{retention:1,targets:[4,1],editionDefaults:[{value:"NONE",edition:900},{value:"VERIFY",edition:999}]}},{name:"message_encoding",number:5,type:14,label:1,typeName:".google.protobuf.FeatureSet.MessageEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"LENGTH_PREFIXED",edition:900}]}},{name:"json_format",number:6,type:14,label:1,typeName:".google.protobuf.FeatureSet.JsonFormat",options:{retention:1,targets:[3,6,1],editionDefaults:[{value:"LEGACY_BEST_EFFORT",edition:900},{value:"ALLOW",edition:999}]}},{name:"enforce_naming_style",number:7,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnforceNamingStyle",options:{retention:2,targets:[1,2,3,4,5,6,7,8,9],editionDefaults:[{value:"STYLE_LEGACY",edition:900},{value:"STYLE2024",edition:1001}]}}],enumType:[{name:"FieldPresence",value:[{name:"FIELD_PRESENCE_UNKNOWN",number:0},{name:"EXPLICIT",number:1},{name:"IMPLICIT",number:2},{name:"LEGACY_REQUIRED",number:3}]},{name:"EnumType",value:[{name:"ENUM_TYPE_UNKNOWN",number:0},{name:"OPEN",number:1},{name:"CLOSED",number:2}]},{name:"RepeatedFieldEncoding",value:[{name:"REPEATED_FIELD_ENCODING_UNKNOWN",number:0},{name:"PACKED",number:1},{name:"EXPANDED",number:2}]},{name:"Utf8Validation",value:[{name:"UTF8_VALIDATION_UNKNOWN",number:0},{name:"VERIFY",number:2},{name:"NONE",number:3}]},{name:"MessageEncoding",value:[{name:"MESSAGE_ENCODING_UNKNOWN",number:0},{name:"LENGTH_PREFIXED",number:1},{name:"DELIMITED",number:2}]},{name:"JsonFormat",value:[{name:"JSON_FORMAT_UNKNOWN",number:0},{name:"ALLOW",number:1},{name:"LEGACY_BEST_EFFORT",number:2}]},{name:"EnforceNamingStyle",value:[{name:"ENFORCE_NAMING_STYLE_UNKNOWN",number:0},{name:"STYLE2024",number:1},{name:"STYLE_LEGACY",number:2}]}],extensionRange:[{start:1e3,end:9995},{start:9995,end:1e4},{start:1e4,end:10001}]},{name:"FeatureSetDefaults",field:[{name:"defaults",number:1,type:11,label:3,typeName:".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"},{name:"minimum_edition",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"maximum_edition",number:5,type:14,label:1,typeName:".google.protobuf.Edition"}],nestedType:[{name:"FeatureSetEditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"overridable_features",number:4,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"fixed_features",number:5,type:11,label:1,typeName:".google.protobuf.FeatureSet"}]}]},{name:"SourceCodeInfo",field:[{name:"location",number:1,type:11,label:3,typeName:".google.protobuf.SourceCodeInfo.Location"}],nestedType:[{name:"Location",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"span",number:2,type:5,label:3,options:{packed:!0}},{name:"leading_comments",number:3,type:9,label:1},{name:"trailing_comments",number:4,type:9,label:1},{name:"leading_detached_comments",number:6,type:9,label:3}]}],extensionRange:[{start:536e6,end:536000001}]},{name:"GeneratedCodeInfo",field:[{name:"annotation",number:1,type:11,label:3,typeName:".google.protobuf.GeneratedCodeInfo.Annotation"}],nestedType:[{name:"Annotation",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"source_file",number:2,type:9,label:1},{name:"begin",number:3,type:5,label:1},{name:"end",number:4,type:5,label:1},{name:"semantic",number:5,type:14,label:1,typeName:".google.protobuf.GeneratedCodeInfo.Annotation.Semantic"}],enumType:[{name:"Semantic",value:[{name:"NONE",number:0},{name:"SET",number:1},{name:"ALIAS",number:2}]}]}]}],enumType:[{name:"Edition",value:[{name:"EDITION_UNKNOWN",number:0},{name:"EDITION_LEGACY",number:900},{name:"EDITION_PROTO2",number:998},{name:"EDITION_PROTO3",number:999},{name:"EDITION_2023",number:1e3},{name:"EDITION_2024",number:1001},{name:"EDITION_1_TEST_ONLY",number:1},{name:"EDITION_2_TEST_ONLY",number:2},{name:"EDITION_99997_TEST_ONLY",number:99997},{name:"EDITION_99998_TEST_ONLY",number:99998},{name:"EDITION_99999_TEST_ONLY",number:99999},{name:"EDITION_MAX",number:2147483647}]}]}),lR=cR(aR,1);var uR,dR,hR,gR,mR,bR,pR,fR,yR,IR,AR,GR,CR,ZR,vR,VR,BR,SR;!function(e){e[e.DECLARATION=0]="DECLARATION",e[e.UNVERIFIED=1]="UNVERIFIED"}(uR||(uR={})),function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.GROUP=10]="GROUP",e[e.MESSAGE=11]="MESSAGE",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.ENUM=14]="ENUM",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"}(dR||(dR={})),function(e){e[e.OPTIONAL=1]="OPTIONAL",e[e.REPEATED=3]="REPEATED",e[e.REQUIRED=2]="REQUIRED"}(hR||(hR={})),function(e){e[e.SPEED=1]="SPEED",e[e.CODE_SIZE=2]="CODE_SIZE",e[e.LITE_RUNTIME=3]="LITE_RUNTIME"}(gR||(gR={})),function(e){e[e.STRING=0]="STRING",e[e.CORD=1]="CORD",e[e.STRING_PIECE=2]="STRING_PIECE"}(mR||(mR={})),function(e){e[e.JS_NORMAL=0]="JS_NORMAL",e[e.JS_STRING=1]="JS_STRING",e[e.JS_NUMBER=2]="JS_NUMBER"}(bR||(bR={})),function(e){e[e.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",e[e.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",e[e.RETENTION_SOURCE=2]="RETENTION_SOURCE"}(pR||(pR={})),function(e){e[e.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",e[e.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",e[e.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",e[e.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",e[e.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",e[e.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",e[e.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",e[e.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",e[e.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",e[e.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD"}(fR||(fR={})),function(e){e[e.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",e[e.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",e[e.IDEMPOTENT=2]="IDEMPOTENT"}(yR||(yR={})),function(e){e[e.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",e[e.EXPLICIT=1]="EXPLICIT",e[e.IMPLICIT=2]="IMPLICIT",e[e.LEGACY_REQUIRED=3]="LEGACY_REQUIRED"}(IR||(IR={})),function(e){e[e.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",e[e.OPEN=1]="OPEN",e[e.CLOSED=2]="CLOSED"}(AR||(AR={})),function(e){e[e.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",e[e.PACKED=1]="PACKED",e[e.EXPANDED=2]="EXPANDED"}(GR||(GR={})),function(e){e[e.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",e[e.VERIFY=2]="VERIFY",e[e.NONE=3]="NONE"}(CR||(CR={})),function(e){e[e.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",e[e.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",e[e.DELIMITED=2]="DELIMITED"}(ZR||(ZR={})),function(e){e[e.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",e[e.ALLOW=1]="ALLOW",e[e.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT"}(vR||(vR={})),function(e){e[e.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",e[e.STYLE2024=1]="STYLE2024",e[e.STYLE_LEGACY=2]="STYLE_LEGACY"}(VR||(VR={})),function(e){e[e.NONE=0]="NONE",e[e.SET=1]="SET",e[e.ALIAS=2]="ALIAS"}(BR||(BR={})),function(e){e[e.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",e[e.EDITION_LEGACY=900]="EDITION_LEGACY",e[e.EDITION_PROTO2=998]="EDITION_PROTO2",e[e.EDITION_PROTO3=999]="EDITION_PROTO3",e[e.EDITION_2023=1e3]="EDITION_2023",e[e.EDITION_2024=1001]="EDITION_2024",e[e.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",e[e.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",e[e.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",e[e.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",e[e.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",e[e.EDITION_MAX=2147483647]="EDITION_MAX"}(SR||(SR={}));const XR={readUnknownFields:!0};function ER(e,t,n){const i=JE(e,void 0,!1);return RR(i,new lE(t),function(e){return e?Object.assign(Object.assign({},XR),e):XR}(n),!1,t.byteLength),i.message}function RR(e,t,n,i,o){var r;const s=i?t.len:t.pos+o;let c,a;const l=null!==(r=e.getUnknown())&&void 0!==r?r:[];for(;t.pos<s&&([c,a]=t.tag(),!i||a!=nE.EndGroup);){const i=e.findNumber(c);if(i)WR(e,t,i,a,n);else{const e=t.skip(a,c);n.readUnknownFields&&l.push({no:c,wireType:a,data:e})}}if(i&&(a!=nE.EndGroup||c!==o))throw new Error("invalid end group tag");l.length>0&&e.setUnknown(l)}function WR(e,t,n,i,o){switch(n.fieldKind){case"scalar":e.set(n,wR(t,n.scalar));break;case"enum":e.set(n,wR(t,TS.INT32));break;case"message":e.set(n,JR(t,o,n,e.get(n)));break;case"list":!function(e,t,n,i){var o;const r=n.field();if("message"===r.listKind)return void n.add(JR(e,i,r));const s=null!==(o=r.scalar)&&void 0!==o?o:TS.INT32,c=t==nE.LengthDelimited&&s!=TS.STRING&&s!=TS.BYTES;if(!c)return void n.add(wR(e,s));const a=e.uint32()+e.pos;for(;e.pos<a;)n.add(wR(e,s))}(t,i,e.get(n),o);break;case"map":!function(e,t,n){const i=t.field();let o,r;const s=e.pos+e.uint32();for(;e.pos<s;){const[t]=e.tag();switch(t){case 1:o=wR(e,i.mapKey);break;case 2:switch(i.mapKind){case"scalar":r=wR(e,i.scalar);break;case"enum":r=e.int32();break;case"message":r=JR(e,n,i)}}}void 0===o&&(o=QS(i.mapKey,!1));if(void 0===r)switch(i.mapKind){case"scalar":r=QS(i.scalar,!1);break;case"enum":r=i.enum.values[0].number;break;case"message":r=JE(i.message,void 0,!1)}t.set(o,r)}(t,e.get(n),o)}}function JR(e,t,n,i){const o=n.delimitedEncoding,r=null!=i?i:JE(n.message,void 0,!1);return RR(r,e,t,o,o?n.number:e.uint32()),r}function wR(e,t){switch(t){case TS.STRING:return e.string();case TS.BOOL:return e.bool();case TS.DOUBLE:return e.double();case TS.FLOAT:return e.float();case TS.INT32:return e.int32();case TS.INT64:return e.int64();case TS.UINT64:return e.uint64();case TS.FIXED64:return e.fixed64();case TS.BYTES:return e.bytes();case TS.FIXED32:return e.fixed32();case TS.SFIXED32:return e.sfixed32();case TS.SFIXED64:return e.sfixed64();case TS.SINT64:return e.sint64();case TS.UINT32:return e.uint32();case TS.SINT32:return e.sint32()}}function FR(e,t){var n;const i=ER(lR,LX(e));i.messageType.forEach(tX),i.dependency=null!==(n=null==t?void 0:t.map((e=>e.proto.name)))&&void 0!==n?n:[];const o=oX(i,(e=>null==t?void 0:t.find((t=>t.proto.name===e))));return o.getFile(i.name)}const xR=cR(FR("CgtlcnJvci5wcm90bxIJcGl0YXlhLnYxIpEBCgtQaXRheWFFcnJvchIMCgRjb2RlGAEgASgJEgsKA21zZxgCIAEoCRI2CghtZXRhZGF0YRgDIAMoCzIkLnBpdGF5YS52MS5QaXRheWFFcnJvci5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AWIGcHJvdG8z"),0),YR=FR("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),HR=FR("Ch5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIqCghEdXJhdGlvbhIPCgdzZWNvbmRzGAEgASgDEg0KBW5hbm9zGAIgASgFQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1EdXJhdGlvblByb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2R1cmF0aW9ucGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw"),NR=cR(FR("Chtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIHCgVFbXB0eUJ9ChNjb20uZ29vZ2xlLnByb3RvYnVmQgpFbXB0eVByb3RvUAFaLmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2VtcHR5cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw"),0);var kR;!function(e){e[e.UNCONNECT=0]="UNCONNECT",e[e.CONNECTING=1]="CONNECTING",e[e.CONNECTED=2]="CONNECTED"}(kR||(kR={}));class _R extends DV.Emitter{set heartbeatInterval(e){this.pitayaWarnLog(`设置心跳间隔:${e}`),this.a=e}get heartbeatInterval(){return this.a}logInternal(e,...t){if(!this.opts.debug)return;const n="padding:2px 4px; border-radius:3px;",i=`${n} background:#35495e; color:#fff;`,o="warn"===e?`${n} background:#FFA500; color:#000;`:`${n} background:#99FFFF; color:#000;`;console.log(`%c[pitaya-client ${e} log][${new Date}]%c[${this.name}]`,i,o,...t)}constructor(){super(),this.opts={url:"ws://127.0.0.1",scheme:"ws",dict:"",heartbeatInterval:0,heartbeatTimeout:0,gapThreshold:100,isAutoConnect:!0,isTimeoutReconnect:!0,reconnectAttempts:0,reconnectDelay:1e3,reconnectMaxAttempts:10,debug:!1,isArrayBuffer:!1,handshakeBuffer:{sys:{},user:{}}},this.name="default",this.socket=null,this.isKick=!1,this.activeDisconnect=!1,this.reconnectTimer=0,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.reconnectAttempts=0,this.reconnectDelay=1e3,this.nextHeartbeatTimeout=0,this.isArrayBuffer=!1,this.a=0,this.heartbeatTimeout=0,this.handlers={},this.dict={},this.abbrs={},this.onConnectSuccess=null,this.onHandshakeFailuer=null,this.reqID=0,this.callbacks=new Map,this.routes=new Map,this.socketConnectStatus=kR.UNCONNECT,this.log=(...e)=>{this.opts.debug&&console.log(...e)},this.pitayaLog=(...e)=>{this.logInternal("debug",...e)},this.pitayaWarnLog=(...e)=>{this.logInternal("warn",...e)}}setup(e,t){var n,i,o,r,s,c,a;return 1==arguments.length&&(e&&"string"==typeof e?this.opts.url=e:this.opts=Object.assign(this.opts,e)),2==arguments.length&&e&&"string"==typeof e&&(this.opts.url=e,this.opts=Object.assign(this.opts,t)),this.pitayaLog("client options",this.opts),this.heartbeatInterval=null!==(i=null===(n=this.opts)||void 0===n?void 0:n.heartbeatInterval)&&void 0!==i?i:0,this.heartbeatTimeout=null!==(r=null===(o=this.opts)||void 0===o?void 0:o.heartbeatTimeout)&&void 0!==r?r:0,this.isArrayBuffer=null!==(c=null===(s=this.opts)||void 0===s?void 0:s.isArrayBuffer)&&void 0!==c&&c,this.handlers[SS.TYPE_HANDSHAKE]=this.handshake.bind(this),this.handlers[SS.TYPE_HEARTBEAT]=this.heartbeat.bind(this),this.handlers[SS.TYPE_DATA]=this.onData.bind(this),this.handlers[SS.TYPE_KICK]=this.onKick.bind(this),(null===(a=this.opts.url)||void 0===a?void 0:a.startsWith("ws"))&&(this.opts.scheme=""),this}fluashCredentials(e){this.opts.handshakeBuffer||(this.opts.handshakeBuffer={sys:{},user:{}}),Object.assign(this.opts.handshakeBuffer,e)}async connect(){return this.pitayaLog("connect连接中..."),this.socketConnectStatus=kR.CONNECTING,new Promise(((e,t)=>{this.onConnectSuccess=()=>{this.socketConnectStatus=kR.CONNECTED,e(this)},this.onHandshakeFailuer=e=>{t(e)};const n=this.opts.scheme+this.opts.url;if(this.pitayaLog("connect url",n),this.socket){this.pitayaLog("销毁上一个ws"),this.socket.onclose=this.socket.onerror=this.socket.onmessage=this.socket.onopen=null;try{this.socket.close()}catch(e){this.pitayaLog("关闭旧连接时发生错误:",e)}this.pitayaLog("销毁旧连接成功"),this.socket=null}this.socket=new WebSocket(n),this.socket.binaryType="arraybuffer",this.socket.onclose=this.onclose.bind(this),this.socket.onopen=this.onopen.bind(this),this.socket.onmessage=this.onmessage.bind(this),this.socket.onerror=e=>{this.onerror(e,t)}}))}onopen(e){this.pitayaLog("opened",JSON.stringify(e),JSON.stringify(this.opts.handshakeBuffer));let t=XS(SS.TYPE_HANDSHAKE,VS(JSON.stringify(this.opts.handshakeBuffer)));this.send(t)}processPackage(e){Array.isArray(e)?e.forEach((e=>{this.handlers[e.type](e.body)})):this.handlers[e.type](e.body)}disconnect(e=!1){this.activeDisconnect=e,this.socketConnectStatus=kR.UNCONNECT,this.reset(),this.pitayaLog("ws"+(this.socket?"存在":"不存在")),this.socket&&(this.socket.close(1e3,"Normal Closure"),this.pitayaLog("断开链接成功")),this.heartbeatTimer&&(clearTimeout(this.heartbeatTimer),this.heartbeatTimer=null),this.heartbeatTimeoutTimer&&(clearTimeout(this.heartbeatTimeoutTimer),this.heartbeatTimeoutTimer=null)}reset(){var e;return this.reconnectDelay=(null===(e=this.opts)||void 0===e?void 0:e.reconnectDelay)||1e3,console.log("重置重连次数为0",this.reconnectAttempts),this.reconnectAttempts=0,this.clearReconnectTimeout(),this}clearReconnectTimeout(){return clearTimeout(this.reconnectTimer),this.reconnectTimer=0,this}onmessage(e){this.processPackage(ES(e.data)),this.nextHeartbeatTimeout=Date.now()+this.opts.heartbeatTimeout}onerror(e,t){this.emit("error",e),console.error("socket error: ",e),t(e)}onclose(e){this.isKick||this.activeDisconnect||(this.socketConnectStatus=kR.UNCONNECT,this.emit("close",e),this.emit("disconnect",e),console.warn("socket close: ",e),this.pitayaLog("WebSocket disconnected:",e),this.opts.isAutoConnect&&this.reconnectImmediately())}setReconnectAllowed(e){this.pitayaLog(`设置是否允许重连:${e}`),this.opts.isAutoConnect=e}reconnectImmediately(){if(this.pitayaLog("立即重连"),this.activeDisconnect=!1,!this.reconnectTimer){const e=()=>{if(this.reconnectAttempts>=this.opts.reconnectMaxAttempts)return this.clearReconnectTimeout().emit("maxReconnect"),this.pitayaLog("Max reconnect attempts reached");this.reconnectAttempts+=1,this.pitayaLog(`Reconnecting attempt ${this.reconnectAttempts} immediately...`),this.emit("reconnecting"),this.connect()};this.reconnectTimer=setTimeout(e,this.reconnectDelay)}}encodePacket(e,t,n,i){let o=!1;return this.dict&&this.dict[n]&&(n=this.dict[n],o=!0),i=pS(e,t,o,n,i),XS(SS.TYPE_DATA,i)}async reqRaw(e,t){return new Promise(((n,i)=>{this.reqID++,this.sendMessage(this.reqID,e,t),this.callbacks.set(this.reqID,((e,t)=>{t?i(e):n(e)}))}))}request(e,t,n){return new Promise(((i,o)=>{this.reqRaw(e,jE(t.desc,t.message)).then((e=>{i(ER(n,e,{readUnknownFields:!1}))})).catch((e=>{o(ER(xR,e))}))}))}notifyRaw(e,t){this.reqID++,this.sendMessage(this.reqID,e,t,uS.TYPE_NOTIFY)}notify(e,t){this.notifyRaw(e,jE(t.desc,t.message))}sendMessage(e,t,n,i=uS.TYPE_REQUEST){let o=this.encodePacket(e,i,t,n);this.send(o)}send(e){this.socket&&this.socket.readyState===WebSocket.OPEN?this.socket.send(this.isArrayBuffer?e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength):e):console.warn("socket is not open: readyState "+(this.socket?this.socket.readyState:-1))}initData(e){if(!e||!e.sys)return;let t=e.sys.dict;t&&(this.dict=t)}handshakeInit(e){e.sys&&e.sys.heartbeat?(this.heartbeatInterval=1e3*e.sys.heartbeat,this.heartbeatTimeout=2*this.heartbeatInterval):(this.heartbeatInterval=0,this.heartbeatTimeout=0),this.initData(e)}handshake(e){var t;const n=JSON.parse(BS(e));if(this.pitayaLog("parsedBody",BS(e)),200!==n.code)return this.emit("handshakeError",n),this.setReconnectAllowed(!1),void(null===(t=this.onHandshakeFailuer)||void 0===t||t.call(this,n));this.handshakeInit(n);const i=this.reconnectTimer;this.reset();let o=XS(SS.TYPE_HANDSHAKE_ACK);this.send(o),this.onConnectSuccess&&this.onConnectSuccess(),i?this.emit("reconnected"):this.emit("connected")}heartbeat(e){this.pitayaLog("发送心跳包",this.heartbeatInterval?"成功":"失败"),this.heartbeatInterval&&(this.heartbeatTimeoutTimer&&(clearTimeout(this.heartbeatTimeoutTimer),this.heartbeatTimeoutTimer=null),this.heartbeatTimer||(this.heartbeatTimer=setTimeout((()=>{this.heartbeatTimer=null;const e=XS(SS.TYPE_HEARTBEAT);this.send(e),this.nextHeartbeatTimeout=Date.now()+this.heartbeatTimeout,this.heartbeatTimeoutTimer=setTimeout((()=>this.heartbeatTimeoutCb()),this.heartbeatTimeout)}),this.heartbeatInterval)))}heartbeatTimeoutCb(){let e=this.nextHeartbeatTimeout-Date.now();e>this.opts.gapThreshold?this.heartbeatTimeoutTimer=setTimeout((()=>this.heartbeatTimeoutCb()),e):(console.error("服务器心跳超时,连接可能已断开"),this.emit("timeout"))}onData(e){let t=bS(e);switch(t.type){case uS.TYPE_RESPONSE:{let e=this.callbacks.get(t.id);this.callbacks.delete(t.id),e&&e(t.body,t.error)}break;case uS.TYPE_PUSH:{let e=this.routes.get(t.route);e&&e(t.body)}}}subscribe(e,t,n){return this.routes.has(e)||this.routes.set(e,(e=>{null==n||n(ER(t,e))})),this}unsubscribe(e){Array.from(this.routes.keys()).filter((t=>e(t))).forEach((e=>{this.routes.delete(e)}))}unsubscribeByRotes(e){[...e].forEach((e=>{this.routes.delete(e)}))}unsubscribeAll(){this.unsubscribe((()=>!0))}onKick(e){console.warn("kick"),this.isKick=!0,this.socketConnectStatus=kR.UNCONNECT,this.emit("kick")}}class MR extends _R{async connectPromise(){return new Promise(((e,t)=>{this.onConnectSuccess=()=>{this.socketConnectStatus=kR.CONNECTED,e(this),this.clearConnectionHandlers()},this.onHandshakeFailuer=e=>{t(e),this.clearConnectionHandlers()},this.connectResolve=e,this.connectReject=t,this.setupSocket()}))}setupSocket(){this.socket&&this.cleanupSocket();const e=this.opts.scheme+this.opts.url;this.pitayaLog(`正在连接到: ${e}`);try{this.socket=new WebSocket(e),this.socket.binaryType="arraybuffer";const t=setTimeout((()=>{this.handleConnectTimeout()}),1e4);this.socket.onopen=e=>{clearTimeout(t),this.handleOpen(e)},this.socket.onmessage=e=>{this.handleMessage(e)},this.socket.onerror=e=>{clearTimeout(t),this.handleError(e)},this.socket.onclose=e=>{clearTimeout(t),this.handleClose(e)}}catch(e){this.pitayaLog("创建 WebSocket 实例失败:",e),this.handleConnectionError(e)}}cleanupSocket(){if(this.socket){this.socket.onopen=null,this.socket.onmessage=null,this.socket.onerror=null,this.socket.onclose=null;try{this.socket.close(1e3,"Client closed the connection")}catch(e){this.pitayaLog("关闭连接时发生错误:",e)}this.pitayaLog("清理Socket资源"),this.socket=null}}handleConnectTimeout(){this.pitayaLog("连接超时"),this.cleanupSocket(),this.connectReject&&(this.connectReject(new Error("连接超时")),this.clearConnectionHandlers()),this.emit("timeout")}handleOpen(e){this.pitayaLog("WebSocket 连接已打开"),this.socketConnectStatus=kR.CONNECTING;const t=XS(SS.TYPE_HANDSHAKE,VS(JSON.stringify(this.opts.handshakeBuffer)));this.send(t)}async reconnectPromise(){return new Promise(((e,t)=>{this.reconnectAttempts>=this.opts.reconnectMaxAttempts?t(new Error("Max reconnect attempts reached")):(this.reconnectResolve=e,this.reconnectReject=t,this.emit("reconnecting"),this.pitayaLog(`开始第${this.reconnectAttempts+1}次重连...`),this.connectPromise().then((()=>{this.emit("reconnected"),e()})).catch((e=>{this.handleReconnectError(e),t(e)})))}))}handshake(e){var t,n,i,o;const r=JSON.parse(BS(e));if(this.pitayaLog("握手包解析",BS(e)),200!==r.code)return this.emit("handshakeError",r),this.setReconnectAllowed(!1),void(null===(t=this.onHandshakeFailuer)||void 0===t||t.call(this,r));this.handshakeInit(r);const s=this.reconnectTimer;this.reset();let c=XS(SS.TYPE_HANDSHAKE_ACK);this.send(c),null===(n=this.onConnectSuccess)||void 0===n||n.call(this),s?(this.emit("reconnected"),null===(i=this.reconnectResolve)||void 0===i||i.call(this)):(this.emit("connected"),null===(o=this.connectResolve)||void 0===o||o.call(this,this))}clearConnectionHandlers(){this.connectResolve=void 0,this.connectReject=void 0,this.reconnectResolve=void 0,this.reconnectReject=void 0}async smartReconnect(){try{await this.reconnectWithRetry(),this.pitayaLog("重连成功")}catch(e){throw this.pitayaLog("重连最终失败:",e),this.emit("maxReconnect"),e}}async reconnectWithRetry(){const e=this.opts.reconnectMaxAttempts;let t=0;for(this.pitayaLog(`启动重试机制,最大尝试次数:${e}`);t<e;){t++,this.reconnectAttempts=t;try{const e=this.calculateBackoffDelay(t);return this.pitayaLog("延迟重连:",e,"ms"),await new Promise((t=>setTimeout(t,e))),await this.reconnectPromise()}catch(n){if(this.pitayaLog(`第${t}次重连失败:`,n),t===e)throw new Error(`重连失败,已达最大尝试次数(${e})`)}}this.pitayaLog("重连尝试已结束")}calculateBackoffDelay(e){const t=this.opts.reconnectDelay;return Math.min(t*Math.pow(2,e),3e4)}handleReconnectError(e){var t;this.pitayaLog("重连过程中发生错误:",e),null===(t=this.reconnectReject)||void 0===t||t.call(this,e),this.clearConnectionHandlers()}handleMessage(e){try{const t=ES(e.data);this.processPackage(t)}catch(e){let t;this.pitayaLog("消息处理错误:",e),t=e instanceof Error?e.message:"string"==typeof e?e:new CustomEvent("socket_error",{detail:{originalError:e}}),this.emit("error",t)}}handleError(e){this.pitayaLog("WebSocket 错误:",e),this.socketConnectStatus=kR.UNCONNECT,this.connectReject&&(this.connectReject(new Error("连接过程中发生错误")),this.clearConnectionHandlers()),this.emit("error",e)}handleClose(e){this.pitayaLog("WebSocket 连接关闭:",e),this.socketConnectStatus=kR.UNCONNECT,this.isKick||this.activeDisconnect||(this.pitayaLog("连接意外断开,尝试重连..."),this.handleUnexpectedClose(e))}handleUnexpectedClose(e){this.opts.isAutoConnect?this.smartReconnect().catch((e=>{this.pitayaLog("自动重连失败:",e)})):this.emit("close",e)}handleConnectionError(e){this.socketConnectStatus=kR.UNCONNECT,this.connectReject&&(this.connectReject(e),this.clearConnectionHandlers()),this.emit("error",e)}}const zR=FR("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSJBCgxNZXNzYWdlUnVsZXMSEAoIZGlzYWJsZWQYASABKAgSHwoDY2VsGAMgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUiHgoKT25lb2ZSdWxlcxIQCghyZXF1aXJlZBgBIAEoCCK/CAoKRmllbGRSdWxlcxIfCgNjZWwYFyADKAsyEi5idWYudmFsaWRhdGUuUnVsZRIQCghyZXF1aXJlZBgZIAEoCBIkCgZpZ25vcmUYGyABKA4yFC5idWYudmFsaWRhdGUuSWdub3JlEikKBWZsb2F0GAEgASgLMhguYnVmLnZhbGlkYXRlLkZsb2F0UnVsZXNIABIrCgZkb3VibGUYAiABKAsyGS5idWYudmFsaWRhdGUuRG91YmxlUnVsZXNIABIpCgVpbnQzMhgDIAEoCzIYLmJ1Zi52YWxpZGF0ZS5JbnQzMlJ1bGVzSAASKQoFaW50NjQYBCABKAsyGC5idWYudmFsaWRhdGUuSW50NjRSdWxlc0gAEisKBnVpbnQzMhgFIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50MzJSdWxlc0gAEisKBnVpbnQ2NBgGIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50NjRSdWxlc0gAEisKBnNpbnQzMhgHIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50MzJSdWxlc0gAEisKBnNpbnQ2NBgIIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50NjRSdWxlc0gAEi0KB2ZpeGVkMzIYCSABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQzMlJ1bGVzSAASLQoHZml4ZWQ2NBgKIAEoCzIaLmJ1Zi52YWxpZGF0ZS5GaXhlZDY0UnVsZXNIABIvCghzZml4ZWQzMhgLIAEoCzIbLmJ1Zi52YWxpZGF0ZS5TRml4ZWQzMlJ1bGVzSAASLwoIc2ZpeGVkNjQYDCABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkNjRSdWxlc0gAEicKBGJvb2wYDSABKAsyFy5idWYudmFsaWRhdGUuQm9vbFJ1bGVzSAASKwoGc3RyaW5nGA4gASgLMhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzSAASKQoFYnl0ZXMYDyABKAsyGC5idWYudmFsaWRhdGUuQnl0ZXNSdWxlc0gAEicKBGVudW0YECABKAsyFy5idWYudmFsaWRhdGUuRW51bVJ1bGVzSAASLwoIcmVwZWF0ZWQYEiABKAsyGy5idWYudmFsaWRhdGUuUmVwZWF0ZWRSdWxlc0gAEiUKA21hcBgTIAEoCzIWLmJ1Zi52YWxpZGF0ZS5NYXBSdWxlc0gAEiUKA2FueRgUIAEoCzIWLmJ1Zi52YWxpZGF0ZS5BbnlSdWxlc0gAEi8KCGR1cmF0aW9uGBUgASgLMhsuYnVmLnZhbGlkYXRlLkR1cmF0aW9uUnVsZXNIABIxCgl0aW1lc3RhbXAYFiABKAsyHC5idWYudmFsaWRhdGUuVGltZXN0YW1wUnVsZXNIAEIGCgR0eXBlSgQIGBAZSgQIGhAbUgdza2lwcGVkUgxpZ25vcmVfZW1wdHkiUwoPUHJlZGVmaW5lZFJ1bGVzEh8KA2NlbBgBIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlSgQIGBAZSgQIGhAbUhNza2lwcGVkaWdub3JlX2VtcHR5ItoXCgpGbG9hdFJ1bGVzEoMBCgVjb25zdBgBIAEoAkJ0wkhxCm8KC2Zsb2F0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSnwEKAmx0GAIgASgCQpABwkiMAQqJAQoIZmxvYXQubHQafSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASrwEKA2x0ZRgDIAEoAkKfAcJImwEKmAEKCWZsb2F0Lmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEu8HCgJndBgEIAEoAkLgB8JI3AcKjQEKCGZsb2F0Lmd0GoABIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKwwEKC2Zsb2F0Lmd0X2x0GrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzQEKFWZsb2F0Lmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtMBCgxmbG9hdC5ndF9sdGUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrdAQoWZmxvYXQuZ3RfbHRlX2V4Y2x1c2l2ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESuggKA2d0ZRgFIAEoAkKqCMJIpggKmwEKCWZsb2F0Lmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrSAQoMZmxvYXQuZ3RlX2x0GsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrcAQoWZmxvYXQuZ3RlX2x0X2V4Y2x1c2l2ZRrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK4gEKDWZsb2F0Lmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCuwBChdmbG9hdC5ndGVfbHRlX2V4Y2x1c2l2ZRrQAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ/CgJpbhgGIAMoAkJzwkhwCm4KCGZsb2F0LmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ2CgZub3RfaW4YByADKAJCZsJIYwphCgxmbG9hdC5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJ1CgZmaW5pdGUYCCABKAhCZcJIYgpgCgxmbG9hdC5maW5pdGUaUHJ1bGVzLmZpbml0ZSA/ICh0aGlzLmlzTmFuKCkgfHwgdGhpcy5pc0luZigpID8gJ3ZhbHVlIG11c3QgYmUgZmluaXRlJyA6ICcnKSA6ICcnEisKB2V4YW1wbGUYCSADKAJCGsJIFwoVCg1mbG9hdC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLtFwoLRG91YmxlUnVsZXMShAEKBWNvbnN0GAEgASgBQnXCSHIKcAoMZG91YmxlLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSoAEKAmx0GAIgASgBQpEBwkiNAQqKAQoJZG91YmxlLmx0Gn0haGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0KT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAErABCgNsdGUYAyABKAFCoAHCSJwBCpkBCgpkb3VibGUubHRlGooBIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSk/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAAS9AcKAmd0GAQgASgBQuUHwkjhBwqOAQoJZG91YmxlLmd0GoABIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKxAEKDGRvdWJsZS5ndF9sdBqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCs4BChZkb3VibGUuZ3RfbHRfZXhjbHVzaXZlGrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycK1AEKDWRvdWJsZS5ndF9sdGUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwreAQoXZG91YmxlLmd0X2x0ZV9leGNsdXNpdmUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEr8ICgNndGUYBSABKAFCrwjCSKsICpwBCgpkb3VibGUuZ3RlGo0BIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCtMBCg1kb3VibGUuZ3RlX2x0GsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrdAQoXZG91YmxlLmd0ZV9sdF9leGNsdXNpdmUawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCuMBCg5kb3VibGUuZ3RlX2x0ZRrQAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK7QEKGGRvdWJsZS5ndGVfbHRlX2V4Y2x1c2l2ZRrQAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKAAQoCaW4YBiADKAFCdMJIcQpvCglkb3VibGUuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEncKBm5vdF9pbhgHIAMoAUJnwkhkCmIKDWRvdWJsZS5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJ2CgZmaW5pdGUYCCABKAhCZsJIYwphCg1kb3VibGUuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIsCgdleGFtcGxlGAkgAygBQhvCSBgKFgoOZG91YmxlLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIowVCgpJbnQzMlJ1bGVzEoMBCgVjb25zdBgBIAEoBUJ0wkhxCm8KC2ludDMyLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSigEKAmx0GAIgASgFQnzCSHkKdwoIaW50MzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnAEKA2x0ZRgDIAEoBUKMAcJIiAEKhQEKCWludDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASlwcKAmd0GAQgASgFQogHwkiEBwp6CghpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKswEKC2ludDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq7AQoVaW50MzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwwEKDGludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKywEKFmludDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEuMHCgNndGUYBSABKAVC0wfCSM8HCogBCglpbnQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrCAQoMaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsoBChZpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrSAQoNaW50MzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwraAQoXaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESfwoCaW4YBiADKAVCc8JIcApuCghpbnQzMi5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSdgoGbm90X2luGAcgAygFQmbCSGMKYQoMaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKwoHZXhhbXBsZRgIIAMoBUIawkgXChUKDWludDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIowVCgpJbnQ2NFJ1bGVzEoMBCgVjb25zdBgBIAEoA0J0wkhxCm8KC2ludDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSigEKAmx0GAIgASgDQnzCSHkKdwoIaW50NjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnAEKA2x0ZRgDIAEoA0KMAcJIiAEKhQEKCWludDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASlwcKAmd0GAQgASgDQogHwkiEBwp6CghpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKswEKC2ludDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq7AQoVaW50NjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwwEKDGludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKywEKFmludDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEuMHCgNndGUYBSABKANC0wfCSM8HCogBCglpbnQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrCAQoMaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsoBChZpbnQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrSAQoNaW50NjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwraAQoXaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESfwoCaW4YBiADKANCc8JIcApuCghpbnQ2NC5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSdgoGbm90X2luGAcgAygDQmbCSGMKYQoMaW50NjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKwoHZXhhbXBsZRgJIAMoA0IawkgXChUKDWludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIp4VCgtVSW50MzJSdWxlcxKEAQoFY29uc3QYASABKA1CdcJIcgpwCgx1aW50MzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKLAQoCbHQYAiABKA1CfcJIegp4Cgl1aW50MzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnQEKA2x0ZRgDIAEoDUKNAcJIiQEKhgEKCnVpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpwHCgJndBgEIAEoDUKNB8JIiQcKewoJdWludDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq0AQoMdWludDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq8AQoWdWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsQBCg11aW50MzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrMAQoXdWludDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEugHCgNndGUYBSABKA1C2AfCSNQHCokBCgp1aW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwwEKDXVpbnQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKywEKF3VpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrTAQoOdWludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2wEKGHVpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKAAQoCaW4YBiADKA1CdMJIcQpvCgl1aW50MzIuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEncKBm5vdF9pbhgHIAMoDUJnwkhkCmIKDXVpbnQzMi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygNQhvCSBgKFgoOdWludDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIp4VCgtVSW50NjRSdWxlcxKEAQoFY29uc3QYASABKARCdcJIcgpwCgx1aW50NjQuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKLAQoCbHQYAiABKARCfcJIegp4Cgl1aW50NjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnQEKA2x0ZRgDIAEoBEKNAcJIiQEKhgEKCnVpbnQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpwHCgJndBgEIAEoBEKNB8JIiQcKewoJdWludDY0Lmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq0AQoMdWludDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq8AQoWdWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsQBCg11aW50NjQuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrMAQoXdWludDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEugHCgNndGUYBSABKARC2AfCSNQHCokBCgp1aW50NjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwwEKDXVpbnQ2NC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKywEKF3VpbnQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrTAQoOdWludDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2wEKGHVpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKAAQoCaW4YBiADKARCdMJIcQpvCgl1aW50NjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEncKBm5vdF9pbhgHIAMoBEJnwkhkCmIKDXVpbnQ2NC5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygEQhvCSBgKFgoOdWludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIp4VCgtTSW50MzJSdWxlcxKEAQoFY29uc3QYASABKBFCdcJIcgpwCgxzaW50MzIuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKLAQoCbHQYAiABKBFCfcJIegp4CglzaW50MzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnQEKA2x0ZRgDIAEoEUKNAcJIiQEKhgEKCnNpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpwHCgJndBgEIAEoEUKNB8JIiQcKewoJc2ludDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq0AQoMc2ludDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq8AQoWc2ludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsQBCg1zaW50MzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrMAQoXc2ludDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEugHCgNndGUYBSABKBFC2AfCSNQHCokBCgpzaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwwEKDXNpbnQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKywEKF3NpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrTAQoOc2ludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2wEKGHNpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKAAQoCaW4YBiADKBFCdMJIcQpvCglzaW50MzIuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEncKBm5vdF9pbhgHIAMoEUJnwkhkCmIKDXNpbnQzMi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygRQhvCSBgKFgoOc2ludDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIp4VCgtTSW50NjRSdWxlcxKEAQoFY29uc3QYASABKBJCdcJIcgpwCgxzaW50NjQuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKLAQoCbHQYAiABKBJCfcJIegp4CglzaW50NjQubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnQEKA2x0ZRgDIAEoEkKNAcJIiQEKhgEKCnNpbnQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpwHCgJndBgEIAEoEkKNB8JIiQcKewoJc2ludDY0Lmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq0AQoMc2ludDY0Lmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq8AQoWc2ludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsQBCg1zaW50NjQuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrMAQoXc2ludDY0Lmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEugHCgNndGUYBSABKBJC2AfCSNQHCokBCgpzaW50NjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwwEKDXNpbnQ2NC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKywEKF3NpbnQ2NC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrTAQoOc2ludDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2wEKGHNpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKAAQoCaW4YBiADKBJCdMJIcQpvCglzaW50NjQuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEncKBm5vdF9pbhgHIAMoEkJnwkhkCmIKDXNpbnQ2NC5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygSQhvCSBgKFgoOc2ludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIq8VCgxGaXhlZDMyUnVsZXMShQEKBWNvbnN0GAEgASgHQnbCSHMKcQoNZml4ZWQzMi5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEowBCgJsdBgCIAEoB0J+wkh7CnkKCmZpeGVkMzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASngEKA2x0ZRgDIAEoB0KOAcJIigEKhwEKC2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKhBwoCZ3QYBCABKAdCkgfCSI4HCnwKCmZpeGVkMzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrUBCg1maXhlZDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq9AQoXZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrFAQoOZml4ZWQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs0BChhmaXhlZDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu0HCgNndGUYBSABKAdC3QfCSNkHCooBCgtmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsQBCg5maXhlZDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoYZml4ZWQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrUAQoPZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtwBChlmaXhlZDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEoEBCgJpbhgGIAMoB0J1wkhyCnAKCmZpeGVkMzIuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEngKBm5vdF9pbhgHIAMoB0JowkhlCmMKDmZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoB0IcwkgZChcKD2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4irxUKDEZpeGVkNjRSdWxlcxKFAQoFY29uc3QYASABKAZCdsJIcwpxCg1maXhlZDY0LmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSjAEKAmx0GAIgASgGQn7CSHsKeQoKZml4ZWQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKeAQoDbHRlGAMgASgGQo4BwkiKAQqHAQoLZml4ZWQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqEHCgJndBgEIAEoBkKSB8JIjgcKfAoKZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtQEKDWZpeGVkNjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BChdmaXhlZDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsUBCg5maXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzQEKGGZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES7QcKA2d0ZRgFIAEoBkLdB8JI2QcKigEKC2ZpeGVkNjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxAEKDmZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCswBChhmaXhlZDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtQBCg9maXhlZDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3AEKGWZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESgQEKAmluGAYgAygGQnXCSHIKcAoKZml4ZWQ2NC5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSeAoGbm90X2luGAcgAygGQmjCSGUKYwoOZml4ZWQ2NC5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxItCgdleGFtcGxlGAggAygGQhzCSBkKFwoPZml4ZWQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLAFQoNU0ZpeGVkMzJSdWxlcxKGAQoFY29uc3QYASABKA9Cd8JIdApyCg5zZml4ZWQzMi5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEo0BCgJsdBgCIAEoD0J/wkh8CnoKC3NmaXhlZDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp8BCgNsdGUYAyABKA9CjwHCSIsBCogBCgxzZml4ZWQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqYHCgJndBgEIAEoD0KXB8JIkwcKfQoLc2ZpeGVkMzIuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrYBCg5zZml4ZWQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKGHNmaXhlZDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsYBCg9zZml4ZWQzMi5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs4BChlzZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLyBwoDZ3RlGAUgASgPQuIHwkjeBwqLAQoMc2ZpeGVkMzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxQEKD3NmaXhlZDMyLmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoZc2ZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1QEKEHNmaXhlZDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3QEKGnNmaXhlZDMyLmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEoIBCgJpbhgGIAMoD0J2wkhzCnEKC3NmaXhlZDMyLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ5CgZub3RfaW4YByADKA9CacJIZgpkCg9zZml4ZWQzMi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIuCgdleGFtcGxlGAggAygPQh3CSBoKGAoQc2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwBUKDVNGaXhlZDY0UnVsZXMShgEKBWNvbnN0GAEgASgQQnfCSHQKcgoOc2ZpeGVkNjQuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKNAQoCbHQYAiABKBBCf8JIfAp6CgtzZml4ZWQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgQQo8BwkiLAQqIAQoMc2ZpeGVkNjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKBBClwfCSJMHCn0KC3NmaXhlZDY0Lmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkNjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkNjQuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoEELiB8JI3gcKiwEKDHNmaXhlZDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQ2NC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKCAQoCaW4YBiADKBBCdsJIcwpxCgtzZml4ZWQ2NC5pbhpiISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycSeQoGbm90X2luGAcgAygQQmnCSGYKZAoPc2ZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoEEIdwkgaChgKEHNmaXhlZDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIscBCglCb29sUnVsZXMSggEKBWNvbnN0GAEgASgIQnPCSHAKbgoKYm9vbC5jb25zdBpgdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEioKB2V4YW1wbGUYAiADKAhCGcJIFgoUCgxib29sLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiKQNwoLU3RyaW5nUnVsZXMShgEKBWNvbnN0GAEgASgJQnfCSHQKcgoMc3RyaW5nLmNvbnN0GmJ0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsIGAlc2AnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxJ+CgNsZW4YEyABKARCccJIbgpsCgpzdHJpbmcubGVuGl51aW50KHRoaXMuc2l6ZSgpKSAhPSBydWxlcy5sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnEpkBCgdtaW5fbGVuGAIgASgEQocBwkiDAQqAAQoOc3RyaW5nLm1pbl9sZW4abnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBsZWFzdCAlcyBjaGFyYWN0ZXJzJy5mb3JtYXQoW3J1bGVzLm1pbl9sZW5dKSA6ICcnEpcBCgdtYXhfbGVuGAMgASgEQoUBwkiBAQp/Cg5zdHJpbmcubWF4X2xlbhptdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfbGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IG1vc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5tYXhfbGVuXSkgOiAnJxKbAQoJbGVuX2J5dGVzGBQgASgEQocBwkiDAQqAAQoQc3RyaW5nLmxlbl9ieXRlcxpsdWludChieXRlcyh0aGlzKS5zaXplKCkpICE9IHJ1bGVzLmxlbl9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5sZW5fYnl0ZXNdKSA6ICcnEqMBCgltaW5fYnl0ZXMYBCABKARCjwHCSIsBCogBChBzdHJpbmcubWluX2J5dGVzGnR1aW50KGJ5dGVzKHRoaXMpLnNpemUoKSkgPCBydWxlcy5taW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2J5dGVzXSkgOiAnJxKiAQoJbWF4X2J5dGVzGAUgASgEQo4BwkiKAQqHAQoQc3RyaW5nLm1heF9ieXRlcxpzdWludChieXRlcyh0aGlzKS5zaXplKCkpID4gcnVsZXMubWF4X2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2J5dGVzXSkgOiAnJxKNAQoHcGF0dGVybhgGIAEoCUJ8wkh5CncKDnN0cmluZy5wYXR0ZXJuGmUhdGhpcy5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIGRvZXMgbm90IG1hdGNoIHJlZ2V4IHBhdHRlcm4gYCVzYCcuZm9ybWF0KFtydWxlcy5wYXR0ZXJuXSkgOiAnJxKEAQoGcHJlZml4GAcgASgJQnTCSHEKbwoNc3RyaW5nLnByZWZpeBpeIXRoaXMuc3RhcnRzV2l0aChydWxlcy5wcmVmaXgpID8gJ3ZhbHVlIGRvZXMgbm90IGhhdmUgcHJlZml4IGAlc2AnLmZvcm1hdChbcnVsZXMucHJlZml4XSkgOiAnJxKCAQoGc3VmZml4GAggASgJQnLCSG8KbQoNc3RyaW5nLnN1ZmZpeBpcIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnN1ZmZpeF0pIDogJycSkAEKCGNvbnRhaW5zGAkgASgJQn7CSHsKeQoPc3RyaW5nLmNvbnRhaW5zGmYhdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiBzdWJzdHJpbmcgYCVzYCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSmAEKDG5vdF9jb250YWlucxgXIAEoCUKBAcJIfgp8ChNzdHJpbmcubm90X2NvbnRhaW5zGmV0aGlzLmNvbnRhaW5zKHJ1bGVzLm5vdF9jb250YWlucykgPyAndmFsdWUgY29udGFpbnMgc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMubm90X2NvbnRhaW5zXSkgOiAnJxKAAQoCaW4YCiADKAlCdMJIcQpvCglzdHJpbmcuaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEncKBm5vdF9pbhgLIAMoCUJnwkhkCmIKDXN0cmluZy5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLfAQoFZW1haWwYDCABKAhCzQHCSMkBCmEKDHN0cmluZy5lbWFpbBIjdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGVtYWlsIGFkZHJlc3MaLCFydWxlcy5lbWFpbCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNFbWFpbCgpCmQKEnN0cmluZy5lbWFpbF9lbXB0eRIydmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGVtYWlsIGFkZHJlc3MaGiFydWxlcy5lbWFpbCB8fCB0aGlzICE9ICcnSAAS5wEKCGhvc3RuYW1lGA0gASgIQtIBwkjOAQplCg9zdHJpbmcuaG9zdG5hbWUSHnZhbHVlIG11c3QgYmUgYSB2YWxpZCBob3N0bmFtZRoyIXJ1bGVzLmhvc3RuYW1lIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RuYW1lKCkKZQoVc3RyaW5nLmhvc3RuYW1lX2VtcHR5Ei12YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUaHSFydWxlcy5ob3N0bmFtZSB8fCB0aGlzICE9ICcnSAASxwEKAmlwGA4gASgIQrgBwki0AQpVCglzdHJpbmcuaXASIHZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBhZGRyZXNzGiYhcnVsZXMuaXAgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXAoKQpbCg9zdHJpbmcuaXBfZW1wdHkSL3ZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUCBhZGRyZXNzGhchcnVsZXMuaXAgfHwgdGhpcyAhPSAnJ0gAEtYBCgRpcHY0GA8gASgIQsUBwkjBAQpcCgtzdHJpbmcuaXB2NBIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgYWRkcmVzcxopIXJ1bGVzLmlwdjQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXAoNCkKYQoRc3RyaW5nLmlwdjRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IGFkZHJlc3MaGSFydWxlcy5pcHY0IHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NhgQIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaKSFydWxlcy5pcHY2IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDYpCmEKEXN0cmluZy5pcHY2X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NiBhZGRyZXNzGhkhcnVsZXMuaXB2NiB8fCB0aGlzICE9ICcnSAASvwEKA3VyaRgRIAEoCEKvAcJIqwEKUQoKc3RyaW5nLnVyaRIZdmFsdWUgbXVzdCBiZSBhIHZhbGlkIFVSSRooIXJ1bGVzLnVyaSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNVcmkoKQpWChBzdHJpbmcudXJpX2VtcHR5Eih2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVJJGhghcnVsZXMudXJpIHx8IHRoaXMgIT0gJydIABJwCgd1cmlfcmVmGBIgASgIQl3CSFoKWAoOc3RyaW5nLnVyaV9yZWYSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkgUmVmZXJlbmNlGiEhcnVsZXMudXJpX3JlZiB8fCB0aGlzLmlzVXJpUmVmKClIABKQAgoHYWRkcmVzcxgVIAEoCEL8AcJI+AEKgQEKDnN0cmluZy5hZGRyZXNzEi12YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaQCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RuYW1lKCkgfHwgdGhpcy5pc0lwKCkKcgoUc3RyaW5nLmFkZHJlc3NfZW1wdHkSPHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBob3N0bmFtZSwgb3IgaXAgYWRkcmVzcxocIXJ1bGVzLmFkZHJlc3MgfHwgdGhpcyAhPSAnJ0gAEpgCCgR1dWlkGBYgASgIQocCwkiDAgqlAQoLc3RyaW5nLnV1aWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGnohcnVsZXMudXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezh9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezEyfSQnKQpZChFzdHJpbmcudXVpZF9lbXB0eRIpdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVVSUQaGSFydWxlcy51dWlkIHx8IHRoaXMgIT0gJydIABLwAQoFdHV1aWQYISABKAhC3gHCSNoBCnMKDHN0cmluZy50dXVpZBIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIHRyaW1tZWQgVVVJRBo/IXJ1bGVzLnR1dWlkIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeWzAtOWEtZkEtRl17MzJ9JCcpCmMKEnN0cmluZy50dXVpZF9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIHRyaW1tZWQgVVVJRBoaIXJ1bGVzLnR1dWlkIHx8IHRoaXMgIT0gJydIABKWAgoRaXBfd2l0aF9wcmVmaXhsZW4YGiABKAhC+AHCSPQBCngKGHN0cmluZy5pcF93aXRoX3ByZWZpeGxlbhIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo7IXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KCkKeAoec3RyaW5nLmlwX3dpdGhfcHJlZml4bGVuX2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4GiYhcnVsZXMuaXBfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY0X3dpdGhfcHJlZml4bGVuGBsgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjRfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2NF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg0KQqSAQogc3RyaW5nLmlwdjRfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2NF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAASzwIKE2lwdjZfd2l0aF9wcmVmaXhsZW4YHCABKAhCrwLCSKsCCpMBChpzdHJpbmcuaXB2Nl93aXRoX3ByZWZpeGxlbhI1dmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaPiFydWxlcy5pcHY2X3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYpCpIBCiBzdHJpbmcuaXB2Nl93aXRoX3ByZWZpeGxlbl9lbXB0eRJEdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaKCFydWxlcy5pcHY2X3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLyAQoJaXBfcHJlZml4GB0gASgIQtwBwkjYAQpsChBzdHJpbmcuaXBfcHJlZml4Eh92YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgcHJlZml4GjchcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KHRydWUpCmgKFnN0cmluZy5pcF9wcmVmaXhfZW1wdHkSLnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUCBwcmVmaXgaHiFydWxlcy5pcF9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAEoMCCgtpcHY0X3ByZWZpeBgeIAEoCELrAcJI5wEKdQoSc3RyaW5nLmlwdjRfcHJlZml4EiF2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBwcmVmaXgaPCFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg0LCB0cnVlKQpuChhzdHJpbmcuaXB2NF9wcmVmaXhfZW1wdHkSMHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IHByZWZpeBogIXJ1bGVzLmlwdjRfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2Nl9wcmVmaXgYHyABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY2X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgcHJlZml4GjwhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNiwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjZfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NiBwcmVmaXgaICFydWxlcy5pcHY2X3ByZWZpeCB8fCB0aGlzICE9ICcnSAAStQIKDWhvc3RfYW5kX3BvcnQYICABKAhCmwLCSJcCCpkBChRzdHJpbmcuaG9zdF9hbmRfcG9ydBJBdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3QgKGhvc3RuYW1lIG9yIElQIGFkZHJlc3MpIGFuZCBwb3J0IHBhaXIaPiFydWxlcy5ob3N0X2FuZF9wb3J0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RBbmRQb3J0KHRydWUpCnkKGnN0cmluZy5ob3N0X2FuZF9wb3J0X2VtcHR5Ejd2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdCBhbmQgcG9ydCBwYWlyGiIhcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLqEAoKQnl0ZXNSdWxlcxKAAQoFY29uc3QYASABKAxCccJIbgpsCgtieXRlcy5jb25zdBpddGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAndmFsdWUgbXVzdCBiZSAleCcuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSpwEKAmluGAggAygMQpoBwkiWAQqTAQoIYnl0ZXMuaW4ahgFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ2CgZub3RfaW4YCSADKAxCZsJIYwphCgxieXRlcy5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLrAQoCaXAYCiABKAhC3AHCSNgBCnQKCGJ5dGVzLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5AEKBGlwdjQYCyABKAhC0wHCSM8BCmUKCmJ5dGVzLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS5QEKBGlwdjYYDCABKAhC1AHCSNABCmYKCmJ5dGVzLmlwdjYSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLUAwoJRW51bVJ1bGVzEoIBCgVjb25zdBgBIAEoBUJzwkhwCm4KCmVudW0uY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIUCgxkZWZpbmVkX29ubHkYAiABKAgSfgoCaW4YAyADKAVCcsJIbwptCgdlbnVtLmluGmIhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJ1CgZub3RfaW4YBCADKAVCZcJIYgpgCgtlbnVtLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEioKB2V4YW1wbGUYBSADKAVCGcJIFgoUCgxlbnVtLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiL7AwoNUmVwZWF0ZWRSdWxlcxKeAQoJbWluX2l0ZW1zGAEgASgEQooBwkiGAQqDAQoScmVwZWF0ZWQubWluX2l0ZW1zGm11aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEqIBCgltYXhfaXRlbXMYAiABKARCjgHCSIoBCocBChJyZXBlYXRlZC5tYXhfaXRlbXMacXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ3ZhbHVlIG11c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIpkXCg1EdXJhdGlvblJ1bGVzEqEBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJ3wkh0CnIKDmR1cmF0aW9uLmNvbnN0GmB0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSqAEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQn/CSHwKegoLZHVyYXRpb24ubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASugEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKPAcJIiwEKiAEKDGR1cmF0aW9uLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASwQcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQpcHwkiTBwp9CgtkdXJhdGlvbi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtgEKDmR1cmF0aW9uLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxgEKD2R1cmF0aW9uLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzgEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEo0ICgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25C4gfCSN4HCosBCgxkdXJhdGlvbi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrFAQoPZHVyYXRpb24uZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrVAQoQZHVyYXRpb24uZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrdAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESnQEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnbCSHMKcQoLZHVyYXRpb24uaW4aYiEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEpQBCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CacJIZgpkCg9kdXJhdGlvbi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4ikhgKDlRpbWVzdGFtcFJ1bGVzEqMBCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCeMJIdQpzCg90aW1lc3RhbXAuY29uc3QaYHRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKrAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQoABwkh9CnsKDHRpbWVzdGFtcC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK8AQoDbHRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKQAcJIjAEKiQEKDXRpbWVzdGFtcC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEmwKBmx0X25vdxgHIAEoCEJawkhXClUKEHRpbWVzdGFtcC5sdF9ub3caQShydWxlcy5sdF9ub3cgJiYgdGhpcyA+IG5vdykgPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gbm93JyA6ICcnSAASxwcKAmd0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKcB8JImAcKfgoMdGltZXN0YW1wLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq3AQoPdGltZXN0YW1wLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq/AQoZdGltZXN0YW1wLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCscBChB0aW1lc3RhbXAuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrPAQoadGltZXN0YW1wLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEpMICgNndGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQucHwkjjBwqMAQoNdGltZXN0YW1wLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsYBChB0aW1lc3RhbXAuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs4BChp0aW1lc3RhbXAuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1gEKEXRpbWVzdGFtcC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt4BCht0aW1lc3RhbXAuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESbwoGZ3Rfbm93GAggASgIQl3CSFoKWAoQdGltZXN0YW1wLmd0X25vdxpEKHJ1bGVzLmd0X25vdyAmJiB0aGlzIDwgbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBub3cnIDogJydIARK4AQoGd2l0aGluGAkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQowBwkiIAQqFAQoQdGltZXN0YW1wLndpdGhpbhpxdGhpcyA8IG5vdy1ydWxlcy53aXRoaW4gfHwgdGhpcyA+IG5vdytydWxlcy53aXRoaW4gPyAndmFsdWUgbXVzdCBiZSB3aXRoaW4gJXMgb2Ygbm93Jy5mb3JtYXQoW3J1bGVzLndpdGhpbl0pIDogJycSSwoHZXhhbXBsZRgKIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCHsJIGwoZChF0aW1lc3RhbXAuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iOQoKVmlvbGF0aW9ucxIrCgp2aW9sYXRpb25zGAEgAygLMhcuYnVmLnZhbGlkYXRlLlZpb2xhdGlvbiKfAQoJVmlvbGF0aW9uEiYKBWZpZWxkGAUgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIlCgRydWxlGAYgASgLMhcuYnVmLnZhbGlkYXRlLkZpZWxkUGF0aBIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSDwoHZm9yX2tleRgEIAEoCEoECAEQAlIKZmllbGRfcGF0aCI9CglGaWVsZFBhdGgSMAoIZWxlbWVudHMYASADKAsyHi5idWYudmFsaWRhdGUuRmllbGRQYXRoRWxlbWVudCLpAgoQRmllbGRQYXRoRWxlbWVudBIUCgxmaWVsZF9udW1iZXIYASABKAUSEgoKZmllbGRfbmFtZRgCIAEoCRI+CgpmaWVsZF90eXBlGAMgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPAoIa2V5X3R5cGUYBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI+Cgp2YWx1ZV90eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSDwoFaW5kZXgYBiABKARIABISCghib29sX2tleRgHIAEoCEgAEhEKB2ludF9rZXkYCCABKANIABISCgh1aW50X2tleRgJIAEoBEgAEhQKCnN0cmluZ19rZXkYCiABKAlIAEILCglzdWJzY3JpcHQqhwEKBklnbm9yZRIWChJJR05PUkVfVU5TUEVDSUZJRUQQABIZChVJR05PUkVfSUZfVU5QT1BVTEFURUQQARIbChdJR05PUkVfSUZfREVGQVVMVF9WQUxVRRACEhEKDUlHTk9SRV9BTFdBWVMQAyoaSUdOT1JFX0VNUFRZSUdOT1JFX0RFRkFVTFQqbgoKS25vd25SZWdleBIbChdLTk9XTl9SRUdFWF9VTlNQRUNJRklFRBAAEiAKHEtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX05BTUUQARIhCh1LTk9XTl9SRUdFWF9IVFRQX0hFQURFUl9WQUxVRRACOlYKB21lc3NhZ2USHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYhwkgASgLMhouYnVmLnZhbGlkYXRlLk1lc3NhZ2VSdWxlc1IHbWVzc2FnZTpOCgVvbmVvZhIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYhwkgASgLMhguYnVmLnZhbGlkYXRlLk9uZW9mUnVsZXNSBW9uZW9mOk4KBWZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuRmllbGRSdWxlc1IFZmllbGQ6XQoKcHJlZGVmaW5lZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYiAkgASgLMh0uYnVmLnZhbGlkYXRlLlByZWRlZmluZWRSdWxlc1IKcHJlZGVmaW5lZEJuChJidWlsZC5idWYudmFsaWRhdGVCDVZhbGlkYXRlUHJvdG9QAVpHYnVmLmJ1aWxkL2dlbi9nby9idWZidWlsZC9wcm90b3ZhbGlkYXRlL3Byb3RvY29sYnVmZmVycy9nby9idWYvdmFsaWRhdGU",[aR,HR,YR]);var KR,UR;!function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.IF_UNPOPULATED=1]="IF_UNPOPULATED",e[e.IF_DEFAULT_VALUE=2]="IF_DEFAULT_VALUE",e[e.ALWAYS=3]="ALWAYS"}(KR||(KR={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.HTTP_HEADER_NAME=1]="HTTP_HEADER_NAME",e[e.HTTP_HEADER_VALUE=2]="HTTP_HEADER_VALUE"}(UR||(UR={}));const LR=FR("ChFiYXNlL3YxL21zZy5wcm90bxIHYmFzZS52MSKOAwoGUGxheWVyEgoKAmlkGAEgASgJEgwKBHV1aWQYAiABKAkSEAoIbmlja25hbWUYAyABKAkSDgoGYXZhdGFyGAQgASgJEhkKEXJlbF9iYXR0bGVfb2Zmc2V0GAUgASgNEg8KB3RlYW1faWQYBiABKAkSFwoPcmVsX3RlYW1fb2Zmc2V0GAcgASgNEg8KB21hbmFnZXIYCCABKAgSDwoHZXNjYXBlZBgJIAEoCBIOCgZvbmxpbmUYCiABKAgSDAoEZGVhZBgLIAEoCBIPCgdzZXR0bGVkGAwgASgIEg0KBXJlYWR5GA0gASgIEgwKBGV4aXQYDiABKAgSCgoCYWkYDyABKAgSDwoHaG9zdGluZxgQIAEoCBIpCgVleHRyYRgRIAMoCzIaLmJhc2UudjEuUGxheWVyLkV4dHJhRW50cnkSHwoGZ2VuZGVyGBIgASgOMg8uYmFzZS52MS5HZW5kZXIaLAoKRXh0cmFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIicKEUpvaW5CYXR0bGVSZXF1ZXN0EhIKAmlkGAEgASgJQga6SAPIAQEipQEKBkJhdHRsZRIPCgdnYW1lX2lkGAEgASgJEgoKAmlkGAIgASgJEg0KBXRlYW1zGAMgASgNEhQKDHRlYW1fcGxheWVycxgEIAEoDRISCgpleHBlcmllbmNlGAUgASgJEiEKBG1vZGUYBiABKA4yEy5iYXNlLnYxLkJhdHRsZU1vZGUSDwoHZmVhdHVyZRgHIAEoCRIRCgl3YXRjaGFibGUYCCABKAgidQoRQmF0dGxlSW5pdGlhbERhdGESIAoHcGxheWVycxgBIAMoCzIPLmJhc2UudjEuUGxheWVyEgwKBGRhdGEYAiABKAwSDwoHc3RhcnRlZBgDIAEoCBIfCgZiYXR0bGUYBCABKAsyDy5iYXNlLnYxLkJhdHRsZSIUChJKb2luQmF0dGxlUmVzcG9uc2UiZwoPQXVkaWVuY2VPcHRpb25zEhgKC2ZvcndhcmRfcmVxGAEgASgISACIAQESGQoMZm9yd2FyZF9yZXNwGAIgASgISAGIAQFCDgoMX2ZvcndhcmRfcmVxQg8KDV9mb3J3YXJkX3Jlc3AicQoLR2FtZVJlcXVlc3QSDQoFcm91dGUYASABKAkSDwoHcGF5bG9hZBgCIAEoDBIyCgthdWRfb3B0aW9ucxgDIAEoCzIYLmJhc2UudjEuQXVkaWVuY2VPcHRpb25zSACIAQFCDgoMX2F1ZF9vcHRpb25zIi4KDEdhbWVSZXNwb25zZRINCgVyb3V0ZRgBIAEoCRIPCgdwYXlsb2FkGAIgASgMInAKCkdhbWVOb3RpZnkSDQoFcm91dGUYASABKAkSDwoHcGF5bG9hZBgCIAEoDBIyCgthdWRfb3B0aW9ucxgDIAEoCzIYLmJhc2UudjEuQXVkaWVuY2VPcHRpb25zSACIAQFCDgoMX2F1ZF9vcHRpb25zIg0KC1N5bmNSZXF1ZXN0IhwKDFN5bmNSZXNwb25zZRIMCgRkYXRhGAEgASgMIjEKFEhhbmRzaGFrZUNyZWRlbnRpYWxzEgoKAmlkGAEgASgJEg0KBXRva2VuGAIgASgJIlwKDkNvbm5lY3RSZXF1ZXN0EhYKCXNlcnZlcl9pZBgBIAEoCUgAiAEBEhYKCWJhdHRsZV9pZBgCIAEoCUgBiAEBQgwKCl9zZXJ2ZXJfaWRCDAoKX2JhdHRsZV9pZCImCg9Db25uZWN0UmVzcG9uc2USEwoLc2VydmVyX3R5cGUYASABKAkiMwoLRm91bmRCYXR0bGUSEQoJc2VydmVyX2lkGAEgASgJEhEKCWJhdHRsZV9pZBgCIAEoCSIbCgtFeGFtcGxlRGF0YRIMCgRkYXRhGAEgASgJIpMECg5HYW1lUGxheWVySW5mbxILCgN1aWQYASABKAkSEAoIbmlja25hbWUYAiABKAkSDgoGYXZhdGFyGAMgASgJEjEKBWV4dHJhGAQgAygLMiIuYmFzZS52MS5HYW1lUGxheWVySW5mby5FeHRyYUVudHJ5EiQKBmdlbmRlchgFIAEoDjIPLmJhc2UudjEuR2VuZGVySACIAQESFwoKc2Vzc2lvbl9pZBgGIAEoCUgBiAEBEhYKCXNlcnZlcl9pZBgHIAEoCUgCiAEBEhYKCWJhdHRsZV9pZBgIIAEoCUgDiAEBEhQKB2dhbWVfaWQYCSABKAlIBIgBARIUCgdmZWF0dXJlGAogASgJSAWIAQESDwoCYWkYCyABKAhIBogBARIUCgdyb29tX2lkGAwgASgJSAeIAQESHAoPZ2FtZV9leHBlcmllbmNlGA0gASgJSAiIAQESEgoFbGV2ZWwYDiABKAVICYgBARosCgpFeHRyYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCCQoHX2dlbmRlckINCgtfc2Vzc2lvbl9pZEIMCgpfc2VydmVyX2lkQgwKCl9iYXR0bGVfaWRCCgoIX2dhbWVfaWRCCgoIX2ZlYXR1cmVCBQoDX2FpQgoKCF9yb29tX2lkQhIKEF9nYW1lX2V4cGVyaWVuY2VCCAoGX2xldmVsIrgCChVCYXR0bGVUZWFtUGxheWVyUGFyYW0SEwoDdWlkGAQgASgJQga6SAPIAQESEAoIbmlja25hbWUYBSABKAkSDgoGYXZhdGFyGAYgASgJEg8KB21hbmFnZXIYByABKAgSOAoFZXh0cmEYCCADKAsyKS5iYXNlLnYxLkJhdHRsZVRlYW1QbGF5ZXJQYXJhbS5FeHRyYUVudHJ5EiQKBmdlbmRlchgJIAEoDjIPLmJhc2UudjEuR2VuZGVySACIAQESFwoKc2Vzc2lvbl9pZBgKIAEoCUgBiAEBEg8KAmFpGAsgASgISAKIAQEaLAoKRXh0cmFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgkKB19nZW5kZXJCDQoLX3Nlc3Npb25faWRCBQoDX2FpIuIBCg9CYXR0bGVUZWFtUGFyYW0SDwoCaWQYASABKAlIAIgBARI5CgdwbGF5ZXJzGAIgAygLMh4uYmFzZS52MS5CYXR0bGVUZWFtUGxheWVyUGFyYW1CCLpIBZIBAggBEhEKBG5hbWUYAyABKAlIAYgBARIyCgVleHRyYRgEIAMoCzIjLmJhc2UudjEuQmF0dGxlVGVhbVBhcmFtLkV4dHJhRW50cnkaLAoKRXh0cmFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgUKA19pZEIHCgVfbmFtZSKYBAoSU3RhcnRCYXR0bGVSZXF1ZXN0EhcKB3Jvb21faWQYASABKAlCBrpIA8gBARIPCgJpZBgCIAEoCUgAiAEBEkQKDHdhaXRfdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIOukgLqgEIIgIIZDICCAFIAYgBARJJCg9yZWxlYXNlX3RpbWVvdXQYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CELpIDaoBCiIECNCMATICCAFIAogBARIWCgl3YXRjaGFibGUYCCABKAhIA4gBARI1CgVleHRyYRgJIAMoCzImLmJhc2UudjEuU3RhcnRCYXR0bGVSZXF1ZXN0LkV4dHJhRW50cnkSGAoLZm9yY2Vfc3RhcnQYCiABKAhIBIgBARIYCgtzZXJ2ZXJfdHlwZRgLIAEoCUgFiAEBEiIKFXdhaXRfc3luY19tYXhfcGxheWVycxgMIAEoDUgGiAEBGiwKCkV4dHJhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIFCgNfaWRCDwoNX3dhaXRfdGltZW91dEISChBfcmVsZWFzZV90aW1lb3V0QgwKCl93YXRjaGFibGVCDgoMX2ZvcmNlX3N0YXJ0Qg4KDF9zZXJ2ZXJfdHlwZUIYChZfd2FpdF9zeW5jX21heF9wbGF5ZXJzItYFChNDcmVhdGVCYXR0bGVSZXF1ZXN0EhcKB2dhbWVfaWQYASABKAlCBrpIA8gBARIPCgJpZBgCIAEoCUgAiAEBEjEKBXRlYW1zGAMgAygLMhguYmFzZS52MS5CYXR0bGVUZWFtUGFyYW1CCLpIBZIBAggBEkQKDHdhaXRfdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIOukgLqgEIIgIIZDICCAFIAYgBARJJCg9yZWxlYXNlX3RpbWVvdXQYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CELpIDaoBCiIECNCMATICCAFIAogBARI6CgRtb2RlGAYgASgOMhMuYmFzZS52MS5CYXR0bGVNb2RlQhK6SA+CAQwYABgBGAIYAxgEGAVIA4gBARIUCgdmZWF0dXJlGAcgASgJSASIAQESFgoJd2F0Y2hhYmxlGAggASgISAWIAQESNgoFZXh0cmEYCSADKAsyJy5iYXNlLnYxLkNyZWF0ZUJhdHRsZVJlcXVlc3QuRXh0cmFFbnRyeRIYCgtmb3JjZV9zdGFydBgKIAEoCEgGiAEBEhgKC3NlcnZlcl90eXBlGAsgASgJSAeIAQESIgoVd2FpdF9zeW5jX21heF9wbGF5ZXJzGAwgASgNSAiIAQESFAoHcm9vbV9pZBgNIAEoCUgJiAEBGiwKCkV4dHJhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIFCgNfaWRCDwoNX3dhaXRfdGltZW91dEISChBfcmVsZWFzZV90aW1lb3V0QgcKBV9tb2RlQgoKCF9mZWF0dXJlQgwKCl93YXRjaGFibGVCDgoMX2ZvcmNlX3N0YXJ0Qg4KDF9zZXJ2ZXJfdHlwZUIYChZfd2FpdF9zeW5jX21heF9wbGF5ZXJzQgoKCF9yb29tX2lkIvgBChZCYXR0bGVQbGF5ZXJUb2tlblBhcmFtEgsKA3VpZBgBIAEoCRINCgV0b2tlbhgCIAEoCRIZChFyZWxfYmF0dGxlX29mZnNldBgDIAEoDRIPCgd0ZWFtX2lkGAQgASgJEhcKD3JlbF90ZWFtX29mZnNldBgFIAEoDRISCgp3ZWJfdGFyZ2V0GAYgASgJEhcKCnNlc3Npb25faWQYByABKAlIAIgBARIxCgtwbGF5ZXJfaW5mbxgIIAEoCzIXLmJhc2UudjEuR2FtZVBsYXllckluZm9IAYgBAUINCgtfc2Vzc2lvbl9pZEIOCgxfcGxheWVyX2luZm8inQIKFENyZWF0ZUJhdHRsZVJlc3BvbnNlEgoKAmlkGAMgASgJEi8KBnRva2VucxgEIAMoCzIfLmJhc2UudjEuQmF0dGxlUGxheWVyVG9rZW5QYXJhbRIRCglzZXJ2ZXJfaWQYBSABKAkSEgoKY3JlYXRlZF9hdBgGIAEoCRIUCgx3YWl0X3RpbWVvdXQYByABKAkSFwoPcmVsZWFzZV90aW1lb3V0GAggASgJEiEKBG1vZGUYCSABKA4yEy5iYXNlLnYxLkJhdHRsZU1vZGUSEQoJd2F0Y2hhYmxlGAogASgIEhgKEHdlYl93YXRjaF90YXJnZXQYCyABKAkSIgoabm90X3BsYXllcl9kZXN0cm95X3RpbWVvdXQYDCABKAkidgoXV2ViQ3JlYXRlQmF0dGxlUmVzcG9uc2USDAoEY29kZRgBIAEoBRIPCgdzdWNjZXNzGAIgASgIEg8KB21lc3NhZ2UYAyABKAkSKwoEZGF0YRgEIAEoCzIdLmJhc2UudjEuQ3JlYXRlQmF0dGxlUmVzcG9uc2UiogEKFVdhdGNoQnJvYWRjYXN0TWVzc2FnZRIpCgR0eXBlGAEgASgOMhsuYmFzZS52MS5XYXRjaEJyb2FkY2FzdFR5cGUSEwoGb2Zmc2V0GAIgASgNSACIAQESDQoFcm91dGUYAyABKAkSDAoEZGF0YRgEIAEoDBIPCgdyZXF1ZXN0GAUgASgMEhAKCHJlc3BvbnNlGAYgASgMQgkKB19vZmZzZXQiOgoSV2F0Y2hCYXR0bGVSZXF1ZXN0EgoKAmlkGAEgASgJEhAKA3VpZBgCIAEoCUgAiAEBQgYKBF91aWQiUQoTV2F0Y2hCYXR0bGVSZXNwb25zZRIQCghncm91cF9pZBgBIAEoCRIoCgRkYXRhGAIgASgLMhouYmFzZS52MS5CYXR0bGVJbml0aWFsRGF0YSI1ChNFc2NhcGVCYXR0bGVSZXF1ZXN0EhEKCWJhdHRsZV9pZBgBIAEoCRILCgN1aWQYAiABKAkiVAoURXNjYXBlQmF0dGxlUmVzcG9uc2USDAoEY29kZRgBIAEoBRIPCgdzdWNjZXNzGAIgASgIEg8KB21lc3NhZ2UYAyABKAkSDAoEZGF0YRgEIAEoCSLLAQoPQ2xpZW50Qm9vdFBhcmFtEhEKCWJhdHRsZV9pZBgBIAEoCRIhCgRtb2RlGAIgASgOMhMuYmFzZS52MS5CYXR0bGVNb2RlEhIKBXRva2VuGAMgASgJSACIAQESFgoJc2VydmVyX2lkGAQgASgJSAGIAQESEQoEY29ubhgFIAEoCUgCiAEBEhUKCGF1ZF9jb25uGAYgASgJSAOIAQFCCAoGX3Rva2VuQgwKCl9zZXJ2ZXJfaWRCBwoFX2Nvbm5CCwoJX2F1ZF9jb25uIngKGkV4dGVybmFsQmF0dGxlRXZlbnRSZXF1ZXN0EhkKCWJhdHRsZV9pZBgBIAEoCUIGukgDyAEBEhAKA3VpZBgCIAEoCUgAiAEBEhUKBWV2ZW50GAMgASgJQga6SAPIAQESDgoGcGFyYW1zGAQgASgMQgYKBF91aWQiWwobRXh0ZXJuYWxCYXR0bGVFdmVudFJlc3BvbnNlEgwKBGNvZGUYASABKAUSDwoHc3VjY2VzcxgCIAEoCBIPCgdtZXNzYWdlGAMgASgJEgwKBGRhdGEYBCABKAwijwIKCFJvb21TZWF0Eg4KBm9mZnNldBgBIAEoDRITCgt0ZWFtX29mZnNldBgCIAEoDRIqCgR1c2VyGAMgASgLMhcuYmFzZS52MS5HYW1lUGxheWVySW5mb0gAiAEBEiMKBnN0YXR1cxgEIAEoDjITLmJhc2UudjEuU2VhdFN0YXR1cxIyCglzZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMwoKcmVhZGllZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUIHCgVfdXNlckIMCgpfc2VhdGVkX2F0Qg0KC19yZWFkaWVkX2F0IjwKCFJvb21UZWFtEg4KBm9mZnNldBgCIAEoDRIgCgVzZWF0cxgBIAMoCzIRLmJhc2UudjEuUm9vbVNlYXQi4wUKBFJvb20SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIgCgV0ZWFtcxgDIAMoCzIRLmJhc2UudjEuUm9vbVRlYW0SIAoFc2VhdHMYBCADKAsyES5iYXNlLnYxLlJvb21TZWF0EiMKBnN0YXR1cxgFIAEoDjITLmJhc2UudjEuUm9vbVN0YXR1cxIuCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCgl2YWNhbmNpZXMYByABKA0SFgoObWFuYWdlcl9vZmZzZXQYCiABKA0SFgoOY3VycmVudF9vZmZzZXQYCyABKA0SDwoHZ2FtZV9pZBgMIAEoCRImCgRtb2RlGA0gASgOMhMuYmFzZS52MS5CYXR0bGVNb2RlSACIAQESFAoHZmVhdHVyZRgOIAEoCUgBiAEBEhAKCGdhbWVfdGFnGA8gASgJEhcKD2dhbWVfZXhwZXJpZW5jZRgQIAEoCRI3CgtiYXR0bGVfaW5mbxgRIAEoCzIdLmJhc2UudjEuQ3JlYXRlQmF0dGxlUmVzcG9uc2VIAogBARIhChRtaW5pbXVtX3N0YXJ0X251bWJlchgSIAEoDUgDiAEBEhQKB2FpX3R5cGUYEyABKAlIBIgBARIZCgxjYW5ub3RfbWF0Y2gYFCABKAhIBYgBARI1ChFiYXR0bGVfY3JlYXRlZF9hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoIcGxhdGZvcm0YFyABKAlIBogBARIYCgtzb2NpYWxfdHlwZRgYIAEoBUgHiAEBQgcKBV9tb2RlQgoKCF9mZWF0dXJlQg4KDF9iYXR0bGVfaW5mb0IXChVfbWluaW11bV9zdGFydF9udW1iZXJCCgoIX2FpX3R5cGVCDwoNX2Nhbm5vdF9tYXRjaEILCglfcGxhdGZvcm1CDgoMX3NvY2lhbF90eXBlInkKD1Jvb21MaXN0UmVxdWVzdBI2CgdmaWx0ZXJzGAEgAygLMiUuYmFzZS52MS5Sb29tTGlzdFJlcXVlc3QuRmlsdGVyc0VudHJ5Gi4KDEZpbHRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIjAKEFJvb21MaXN0UmVzcG9uc2USHAoFcm9vbXMYASADKAsyDS5iYXNlLnYxLlJvb20iOQoVUXVlcnlBbGl2ZVJvb21SZXF1ZXN0EhQKB3Jvb21faWQYASABKAlIAIgBAUIKCghfcm9vbV9pZCJDChZRdWVyeUFsaXZlUm9vbVJlc3BvbnNlEiAKBHJvb20YASABKAsyDS5iYXNlLnYxLlJvb21IAIgBAUIHCgVfcm9vbSJXCg9Kb2luUm9vbVJlcXVlc3QSFwoHZ2FtZV9pZBgBIAEoCUIGukgDyAEBEhoKCmV4cGVyaWVuY2UYAiABKAlCBrpIA8gBARIPCgdyb29tX2lkGAMgASgJIi8KEEpvaW5Sb29tUmVzcG9uc2USGwoEcm9vbRgBIAEoCzINLmJhc2UudjEuUm9vbSJVChFDcmVhdGVSb29tUmVxdWVzdBIXCgdnYW1lX2lkGAEgASgJQga6SAPIAQESEgoKZXhwZXJpZW5jZRgCIAEoCRITCgtzb2NpYWxfdHlwZRgDIAEoBSIxChJDcmVhdGVSb29tUmVzcG9uc2USGwoEcm9vbRgBIAEoCzINLmJhc2UudjEuUm9vbSIrChBSb29tUmVhZHlSZXF1ZXN0EhcKB3Jvb21faWQYASABKAlCBrpIA8gBASITChFSb29tUmVhZHlSZXNwb25zZSIxChZSb29tQ2FuY2VsUmVhZHlSZXF1ZXN0EhcKB3Jvb21faWQYASABKAlCBrpIA8gBASIZChdSb29tQ2FuY2VsUmVhZHlSZXNwb25zZSIrChBMZWF2ZVJvb21SZXF1ZXN0EhcKB3Jvb21faWQYASABKAlCBrpIA8gBASITChFMZWF2ZVJvb21SZXNwb25zZSIVChNMZWF2ZUxvZ1Jvb21SZXF1ZXN0IhYKFExlYXZlTG9nUm9vbVJlc3BvbnNlIkMKE1Jvb21TZWF0U3dhcFJlcXVlc3QSFwoHcm9vbV9pZBgBIAEoCUIGukgDyAEBEhMKAnRvGAIgASgNQge6SAQqAigAIhYKFFJvb21TZWF0U3dhcFJlc3BvbnNlIkEKGEFncmVlUm9vbVNlYXRTd2FwUmVxdWVzdBIlCgVhcHBseRgBIAEoCzIWLmJhc2UudjEuU2VhdFN3YXBBcHBseSIbChlBZ3JlZVJvb21TZWF0U3dhcFJlc3BvbnNlIkYKElJvb21NZXNzYWdlUmVxdWVzdBIXCgdyb29tX2lkGAEgASgJQga6SAPIAQESFwoHY29udGVudBgCIAEoCUIGukgDyAEBIhUKE1Jvb21NZXNzYWdlUmVzcG9uc2UiSAoTUm9vbUdhbWVPdmVyUmVxdWVzdBIPCgdyb29tX2lkGAEgASgJEg8KB2dhbWVfaWQYAiABKAkSDwoHZmVhdHVyZRgDIAEoCSIWChRSb29tR2FtZU92ZXJSZXNwb25zZSJyCg1TZWF0U3dhcEFwcGx5EhAKCGJhdGNoX2lkGAEgASgJEg8KB3Jvb21faWQYAiABKAkSHwoEZnJvbRgDIAEoCzIRLmJhc2UudjEuUm9vbVNlYXQSHQoCdG8YBCABKAsyES5iYXNlLnYxLlJvb21TZWF0IhoKCFJvb21LaWNrEg4KBnJlYXNvbhgBIAEoCSI5ChFSb29tQmF0dGxlU3RhcnRlZBIRCgliYXR0bGVfaWQYASABKAkSEQoJc2VydmVyX2lkGAIgASgJImEKElNlbmRNZXNzYWdlUmVxdWVzdBIyCgdjaGFubmVsGAEgASgOMhkuYmFzZS52MS5JTU1lc3NhZ2VDaGFubmVsQga6SAPIAQESFwoHY29udGVudBgCIAEoCUIGukgDyAEBIoUBCglJTU1lc3NhZ2USKgoHY2hhbm5lbBgBIAEoDjIZLmJhc2UudjEuSU1NZXNzYWdlQ2hhbm5lbBIPCgdtZXNzYWdlGAIgASgJEhIKCmNyZWF0ZWRfYXQYAyABKAkSJwoGc2VuZGVyGAQgASgLMhcuYmFzZS52MS5HYW1lUGxheWVySW5mbyIVChNTZW5kTWVzc2FnZVJlc3BvbnNlIucBChZDcmVhdGVHYW1lVG9rZW5SZXF1ZXN0Ei8KBnBsYXllchgBIAEoCzIXLmJhc2UudjEuR2FtZVBsYXllckluZm9CBrpIA8gBARIvCgd0aW1lb3V0GAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uSACIAQESFwoHZ2FtZV9pZBgDIAEoCUIGukgDyAEBEhYKCWJhdHRsZV9pZBgEIAEoCUgBiAEBEhQKB2ZlYXR1cmUYBSABKAlIAogBAUIKCghfdGltZW91dEIMCgpfYmF0dGxlX2lkQgoKCF9mZWF0dXJlIq8BChdDcmVhdGVHYW1lVG9rZW5SZXNwb25zZRINCgV0b2tlbhgBIAEoCRISCgpjcmVhdGVkX2F0GAMgASgJEhgKEHdlYl93YXRjaF90YXJnZXQYBCABKAkSJwoGcGxheWVyGAUgASgLMhcuYmFzZS52MS5HYW1lUGxheWVySW5mbxIuCgpleHBpcmVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJ8ChpXZWJDcmVhdGVHYW1lVG9rZW5SZXNwb25zZRIMCgRjb2RlGAEgASgFEg8KB3N1Y2Nlc3MYAiABKAgSDwoHbWVzc2FnZRgDIAEoCRIuCgRkYXRhGAQgASgLMiAuYmFzZS52MS5DcmVhdGVHYW1lVG9rZW5SZXNwb25zZSIhCgtFeGl0UmVxdWVzdBISCgJpZBgBIAEoCUIGukgDyAEBIh8KDEV4aXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIo0BChlXZWNoYXRDcmVhdGVCYXR0bGVSZXF1ZXN0EhcKB3Jvb21faWQYASABKAlCBrpIA8gBARIaCgpleHBlcmllbmNlGAIgASgJQga6SAPIAQESKgoJcm9vbV9pbmZvGAMgASgLMhcuYmFzZS52MS5CYXR0bGVSb29tSW5mbxIPCgdnYW1lX2lkGAQgASgJIl0KGllpcWl5b29DcmVhdGVCYXR0bGVSZXF1ZXN0EhMKC3NvY2lhbF90eXBlGAEgASgFEioKCXJvb21faW5mbxgCIAEoCzIXLmJhc2UudjEuQmF0dGxlUm9vbUluZm8iugEKDkJhdHRsZVJvb21JbmZvEgoKAmlkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRISCgpjcmVhdGVkX2F0GAMgASgJEg8KB2dhbWVfaWQYBCABKAkSFwoPZ2FtZV9leHBlcmllbmNlGAUgASgJEiYKBXRlYW1zGAYgAygLMhcuYmFzZS52MS5CYXR0bGVSb29tVGVhbRImCgVzZWF0cxgHIAMoCzIXLmJhc2UudjEuQmF0dGxlUm9vbVNlYXQiSAoOQmF0dGxlUm9vbVRlYW0SJgoFc2VhdHMYASADKAsyFy5iYXNlLnYxLkJhdHRsZVJvb21TZWF0Eg4KBm9mZnNldBgCIAEoBSLJAQoOQmF0dGxlUm9vbVNlYXQSDgoGb2Zmc2V0GAEgASgFEg4KBnN0YXR1cxgCIAEoCRIqCgR1c2VyGAMgASgLMhwuYmFzZS52MS5CYXR0bGVSb29tU2VhdC5Vc2VyGmsKBFVzZXISCwoDdWlkGAEgASgJEhAKCG5pY2tuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRISCgpzZXNzaW9uX2lkGAQgASgJEg8KB2dhbWVfaWQYBSABKAkSDwoHZmVhdHVyZRgGIAEoCSJEChRCYXR0bGVDb3VudGRvd25TdGFydBIUCgxzZXJ2aWNlX3RpbWUYASABKAMSFgoOY291bnRkb3duX3RpbWUYAiABKAMiDgoMQmF0dGxlQ3JlYXRlKmEKBUV2ZW50EhUKEUVWRU5UX1VOU1BFQ0lGSUVEEAASFAoQQmF0dGxlSW5pdGlhbGl6ZRABEhcKE1BsYXllclN0YXR1c0NoYW5nZWQQAhISCg5XYXRjaEJyb2FkY2FzdBADKlgKBkdlbmRlchIWChJHRU5ERVJfVU5TUEVDSUZJRUQQABIPCgtHRU5ERVJfTUFMRRABEhEKDUdFTkRFUl9GRU1BTEUQAhISCg5HRU5ERVJfUFJJVkFURRADKroBCgpCYXR0bGVNb2RlEhsKF0JBVFRMRV9NT0RFX1VOU1BFQ0lGSUVEEAASGAoUQkFUVExFX01PREVfUFZQX1NPTE8QARIfChtCQVRUTEVfTU9ERV9QVlBfQ09PUEVSQVRJT04QAhIZChVCQVRUTEVfTU9ERV9QVlBfTUVMRUUQAxIYChRCQVRUTEVfTU9ERV9QVkVfU09MTxAEEh8KG0JBVFRMRV9NT0RFX1BWRV9DT09QRVJBVElPThAFKu0BChJXYXRjaEJyb2FkY2FzdFR5cGUSJAogV0FUQ0hfQlJPQURDQVNUX1RZUEVfVU5TUEVDSUZJRUQQABIfChtXQVRDSF9CUk9BRENBU1RfVFlQRV9QVUJMSUMQARIgChxXQVRDSF9CUk9BRENBU1RfVFlQRV9QUklWQVRFEAISHQoZV0FUQ0hfQlJPQURDQVNUX1RZUEVfVEVBTRADEicKI1dBVENIX0JST0FEQ0FTVF9UWVBFX1BMQVlFUl9SRVFVRVNUEAQSJgoiV0FUQ0hfQlJPQURDQVNUX1RZUEVfUExBWUVSX05PVElGWRAFKnEKClNlYXRTdGF0dXMSGwoXU0VBVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIWChJTRUFUX1NUQVRVU19TRUFURUQQARIVChFTRUFUX1NUQVRVU19SRUFEWRACEhcKE1NFQVRfU1RBVFVTX1BMQVlJTkcQAyqKAQoKUm9vbVN0YXR1cxIbChdST09NX1NUQVRVU19VTlNQRUNJRklFRBAAEhcKE1JPT01fU1RBVFVTX1dBSVRJTkcQARIUChBST09NX1NUQVRVU19GVUxMEAISFwoTUk9PTV9TVEFUVVNfUkVBRElFRBADEhcKE1JPT01fU1RBVFVTX1NUQVJURUQQBCrOAQoQSU1NZXNzYWdlQ2hhbm5lbBIiCh5JTV9NRVNTQUdFX0NIQU5ORUxfVU5TUEVDSUZJRUQQABIdChlJTV9NRVNTQUdFX0NIQU5ORUxfUFVCTElDEAESGwoXSU1fTUVTU0FHRV9DSEFOTkVMX1RFQU0QAhIbChdJTV9NRVNTQUdFX0NIQU5ORUxfUk9PTRADEh4KGklNX01FU1NBR0VfQ0hBTk5FTF9QUklWQVRFEAQSHQoZSU1fTUVTU0FHRV9DSEFOTkVMX1NZU1RFTRAFKooECghSb29tTW9kZRIICgROb25lEAASGwoXSW5kaXZpZHVhbENvbXBldGl0aW9uXzIQARIbChdJbmRpdmlkdWFsQ29tcGV0aXRpb25fMxACEhsKF0luZGl2aWR1YWxDb21wZXRpdGlvbl80EAMSGwoXSW5kaXZpZHVhbENvbXBldGl0aW9uXzUQBBIbChdJbmRpdmlkdWFsQ29tcGV0aXRpb25fNhAFEh0KGUluZGl2aWR1YWxDb21wZXRpdGlvbl8yXzQQBhIjCh9JbmRpdmlkdWFsQ29tcGV0aXRpb25XZWNoYXRfMl80EAcSHQoZSW5kaXZpZHVhbENvbXBldGl0aW9uXzJfNRAIEh0KGUluZGl2aWR1YWxDb21wZXRpdGlvbl8yXzYQCRIhCh1JbmRpdmlkdWFsQ29tcGV0aXRpb25GcmllbmRfMhAKEiEKHUluZGl2aWR1YWxDb21wZXRpdGlvbkZyaWVuZF8zEAsSIQodSW5kaXZpZHVhbENvbXBldGl0aW9uRnJpZW5kXzQQDBIhCh1JbmRpdmlkdWFsQ29tcGV0aXRpb25GcmllbmRfNRANEiEKHUluZGl2aWR1YWxDb21wZXRpdGlvbkZyaWVuZF82EA4SFwoTVGVhbUNvbXBldGl0aW9uXzJ2MhAUEhkKFVRlYW1Db21wZXRpdGlvbl8ydjJ2MhAVYgZwcm90bzM",[HR,zR,YR]),DR=cR(LR,1),TR=cR(LR,4),QR=cR(LR,5),OR=cR(LR,6),PR=cR(LR,7),jR=cR(LR,8),qR=cR(LR,10),$R=cR(LR,12),eW=cR(LR,13),tW=cR(LR,37),nW=cR(LR,38),iW=cR(LR,39),oW=cR(LR,40),rW=cR(LR,41),sW=cR(LR,42),cW=cR(LR,43),aW=cR(LR,44),lW=cR(LR,45),uW=cR(LR,46),dW=cR(LR,47),hW=cR(LR,48),gW=cR(LR,49),mW=cR(LR,50),bW=cR(LR,51),pW=cR(LR,53),fW=cR(LR,54),yW=cR(LR,55),IW=cR(LR,57),AW=cR(LR,68),GW=cR(LR,69);var CW,ZW,vW,VW,BW,SW,XW,EW;!function(e){e[e.EVENT_UNSPECIFIED=0]="EVENT_UNSPECIFIED",e[e.BattleInitialize=1]="BattleInitialize",e[e.PlayerStatusChanged=2]="PlayerStatusChanged",e[e.WatchBroadcast=3]="WatchBroadcast"}(CW||(CW={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.MALE=1]="MALE",e[e.FEMALE=2]="FEMALE",e[e.PRIVATE=3]="PRIVATE"}(ZW||(ZW={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PVP_SOLO=1]="PVP_SOLO",e[e.PVP_COOPERATION=2]="PVP_COOPERATION",e[e.PVP_MELEE=3]="PVP_MELEE",e[e.PVE_SOLO=4]="PVE_SOLO",e[e.PVE_COOPERATION=5]="PVE_COOPERATION"}(vW||(vW={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.PUBLIC=1]="PUBLIC",e[e.PRIVATE=2]="PRIVATE",e[e.TEAM=3]="TEAM",e[e.PLAYER_REQUEST=4]="PLAYER_REQUEST",e[e.PLAYER_NOTIFY=5]="PLAYER_NOTIFY"}(VW||(VW={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SEATED=1]="SEATED",e[e.READY=2]="READY",e[e.PLAYING=3]="PLAYING"}(BW||(BW={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.WAITING=1]="WAITING",e[e.FULL=2]="FULL",e[e.READIED=3]="READIED",e[e.STARTED=4]="STARTED"}(SW||(SW={})),function(e){e[e.IM_MESSAGE_CHANNEL_UNSPECIFIED=0]="IM_MESSAGE_CHANNEL_UNSPECIFIED",e[e.IM_MESSAGE_CHANNEL_PUBLIC=1]="IM_MESSAGE_CHANNEL_PUBLIC",e[e.IM_MESSAGE_CHANNEL_TEAM=2]="IM_MESSAGE_CHANNEL_TEAM",e[e.IM_MESSAGE_CHANNEL_ROOM=3]="IM_MESSAGE_CHANNEL_ROOM",e[e.IM_MESSAGE_CHANNEL_PRIVATE=4]="IM_MESSAGE_CHANNEL_PRIVATE",e[e.IM_MESSAGE_CHANNEL_SYSTEM=5]="IM_MESSAGE_CHANNEL_SYSTEM"}(XW||(XW={})),function(e){e[e.None=0]="None",e[e.IndividualCompetition_2=1]="IndividualCompetition_2",e[e.IndividualCompetition_3=2]="IndividualCompetition_3",e[e.IndividualCompetition_4=3]="IndividualCompetition_4",e[e.IndividualCompetition_5=4]="IndividualCompetition_5",e[e.IndividualCompetition_6=5]="IndividualCompetition_6",e[e.IndividualCompetition_2_4=6]="IndividualCompetition_2_4",e[e.IndividualCompetitionWechat_2_4=7]="IndividualCompetitionWechat_2_4",e[e.IndividualCompetition_2_5=8]="IndividualCompetition_2_5",e[e.IndividualCompetition_2_6=9]="IndividualCompetition_2_6",e[e.IndividualCompetitionFriend_2=10]="IndividualCompetitionFriend_2",e[e.IndividualCompetitionFriend_3=11]="IndividualCompetitionFriend_3",e[e.IndividualCompetitionFriend_4=12]="IndividualCompetitionFriend_4",e[e.IndividualCompetitionFriend_5=13]="IndividualCompetitionFriend_5",e[e.IndividualCompetitionFriend_6=14]="IndividualCompetitionFriend_6",e[e.TeamCompetition_2v2=20]="TeamCompetition_2v2",e[e.TeamCompetition_2v2v2=21]="TeamCompetition_2v2v2"}(EW||(EW={}));const RW=FR("ChZiYXNlL3YxL2F1ZGllbmNlLnByb3RvEgdiYXNlLnYxImEKDFdhdGNoUmVxdWVzdBIRCgliYXR0bGVfaWQYASABKAkSEAoDdWlkGAIgASgJSACIAQESFgoJc2VydmVyX2lkGAMgASgJSAGIAQFCBgoEX3VpZEIMCgpfc2VydmVyX2lkIg8KDVdhdGNoUmVzcG9uc2UyUAoWQXVkaWVuY2VIYW5kbGVyU2VydmljZRI2CgVXYXRjaBIVLmJhc2UudjEuV2F0Y2hSZXF1ZXN0GhYuYmFzZS52MS5XYXRjaFJlc3BvbnNlYgZwcm90bzM"),WW=cR(RW,0),JW=cR(RW,1);var wW;!function(e){e.RoomInfo="Room.Info",e.RoomSeatSwapApply="Room.SeatSwapApply",e.RoomKick="Room.Kick",e.RoomMessage="Room.Message",e.RoomBattleCountdownStart="Room.BattleCountdownStart"}(wW||(wW={}));class FW extends MR{sgc_options={battle_id:"",serverId:"",token:""};isAudience=!1;gameId="";eventResponsePairs={normalEvents:new Map,dynamicEvents:new Map};constructor(e,t,n,i){super(),Object.assign(this.sgc_options,e),Object.assign(this.eventResponsePairs,t),this.subscribeAllNormalEvents().subscribeAllDynamicEventsWithClean();const o="string"==typeof n?{url:n}:n;i&&(this.name=i),this.setup({...o})}reconnectImmediately(){super.reconnectImmediately()}disconnect(e=!1){super.disconnect(e)}async connectRequest(e,t){"boolean"==typeof e?this.isAudience=e:(Object.assign(this.sgc_options,e),this.fluashCredentials({sys:{},user:{credentials:{id:this.sgc_options.battle_id,token:this.sgc_options.token}}}),this.isAudience=t??!1),this.subscribeAllDynamicEventsWithClean();try{if(this.socketConnectStatus!==kR.CONNECTED&&await this.connectPromise(),!this.isAudience){const e=await this.request("Connector.Handler.Connect",JE($R,CE($R,{serverId:this.sgc_options.serverId,battleId:this.sgc_options.battle_id})),eW);this.gameId=e.serverType,this.pitayaLog("连接ws和服务端 ",e)}}catch(e){throw console.error(e),e}}request(e,t,n){return this.log(`%c ws客户端消息 %c [Request][${new Date}] %c ${e} %c`,"background:#ff00ff ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff","background:#3d7d3d ; padding: 1px; color: #fff","background:#ff00ff ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff","background:transparent",oR(t.desc,t.message)),new Promise(((i,o)=>{super.request(e,t,n).then((t=>{this.log(`%c ws服务端消息 %c [Response][${new Date}] %c ${e} %c`,"background:#ff00ff ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff","background:#3d7daa ; padding: 1px; color: #fff","background:#ff00ff ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff","background:transparent",oR(n,t)),i(t)}),(e=>{o(e)}))}))}async gameRequest(e,t,n){if(this.socketConnectStatus!==kR.CONNECTED)throw"ws未连接 请先连接ws";return this.request(`${this.gameId}.Handler.${e}`,t,n)}async JoinBattle(){return await this.gameRequest("JoinBattle",JE(DR,CE(DR,{id:this.sgc_options.battle_id})),TR)}async GameRequest(e,t,n,{forwardReq:i=!1,forwardResp:o=!1}={}){const r=CE(OR,{route:e,payload:jE(t.desc,t.message),audOptions:CE(QR,{forwardReq:i,forwardResp:o})});return ER(n,(await this.gameRequest("Request",JE(OR,r),PR)).payload)}async GameNotify(e,t,{forwardReq:n=!1,forwardResp:i=!1}={}){const o=CE(jR,{route:e,payload:jE(t.desc,t.message),audOptions:CE(QR,{forwardReq:n,forwardResp:i})});this.log(`%c ws客户端消息 %c[Notify][${new Date}] %c ${e} %c`,"background:#ff00ff ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff","background:#3d7d3d ; padding: 1px; color: #fff","background:#ff00ff ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff","background:transparent",oR(t.desc,t.message)),this.#t("Notify",JE(jR,o))}async#t(e,t){if(this.socketConnectStatus!==kR.CONNECTED)throw"ws未连接 请先连接ws";this.notify(`${this.gameId}.Handler.${e}`,t)}Sync(){return this.gameRequest("Sync",JE(NR,CE(NR)),qR)}async Watch(e){return this.request("Audience.Handler.Watch",JE(WW,CE(WW,{battleId:this.sgc_options.battle_id,...e?{uid:e}:{}})),JW)}QueryAliveRoom(e=""){return this.request("Room.Handler.QueryAlive",JE(tW,CE(tW,{roomId:e})),nW)}async CreateRoom({gameId:e="",experience:t="",socialType:n=0,ready:i=!1}){const o=await this.request("Room.Handler.Create",JE(rW,CE(rW,{gameId:e,experience:t,socialType:n})),sW);return i&&this.RoomReady(o.room.id),o}async JoinRoom({gameId:e="",experience:t="",roomId:n="",ready:i=!1}){const o=await this.request("Room.Handler.Join",JE(iW,CE(iW,{gameId:e,experience:t,roomId:n})),oW);return i&&await this.RoomReady(o.room.id),o}async QuickJoinRoom({gameId:e="",experience:t="",ready:n=!1,maxRetries:i=3,socialType:o=0}){let r=0;const s=async()=>{try{return(await this.JoinRoom({gameId:e,experience:t,ready:n})).room}catch(c){if(console.warn(`加入房间失败 (尝试次数 ${r}/${i}):`,c),r<i)return r++,await s();try{return(await this.CreateRoom({gameId:e,experience:t,socialType:o,ready:n})).room}catch(e){throw console.error("房间加入失败且创建失败"),e}}};return await s()}RoomReady(e){return this.request("Room.Handler.Ready",JE(cW,CE(cW,{roomId:e})),aW)}RoomCancelReady(e){return this.request("Room.Handler.CancelReady",JE(lW,CE(lW,{roomId:e})),uW)}LeaveRoom(e){return this.request("Room.Handler.Leave",JE(dW,CE(dW,{roomId:e})),hW)}LeaveRoomLog(){return this.request("Room.Handler.LeaveLog",JE(gW,CE(gW,{})),mW)}SendRoomMessage(e,t){return this.notify("Room.Handler.Message",JE(yW,CE(yW,{roomId:e,content:t})))}RoomSeatSwap(e,t){this.notify("Room.Handler.SeatSwap",JE(bW,CE(bW,{roomId:e,to:t})))}AgreeRoomSeatSwap(e){return this.request("Room.Handler.AgreeSeatSwap",JE(pW,CE(pW,{apply:e})),fW)}RoomGameOver(e){return this.request("Room.Handler.RoomGameOver",JE(IW,e),fW)}async Exit(){const e=await this.gameRequest("Exit",JE(AW,CE(AW,{id:this.sgc_options.battle_id})),GW);return this.exit(),e}exit(){return this.unsubscribeAllDynamicEvents()}unsubscribeAllDynamicEvents(){const e=Array.from(this.eventResponsePairs.dynamicEvents.keys());return this.unsubscribeByRotes(e),this}subscribeAllDynamicEvents(){return this.eventResponsePairs.dynamicEvents.forEach(((e,t)=>{this.subscribe(t,e.responseType,e.cb)})),this}subscribeAllDynamicEventsWithClean(){return this.unsubscribeAllDynamicEvents(),this.eventResponsePairs.dynamicEvents.forEach(((e,t)=>{this.subscribe(t,e.responseType,e.cb)})),this}subscribeAllNormalEvents(){return this.eventResponsePairs.normalEvents.forEach(((e,t)=>{this.subscribe(t,e.responseType,e.cb)})),this}onData(e){let t=bS(e);switch(t.type){case uS.TYPE_RESPONSE:{let e=this.callbacks.get(t.id);this.callbacks.delete(t.id),e&&e(t.body,t.error)}break;case uS.TYPE_PUSH:{let e=t.route;if(!this.eventResponsePairs.normalEvents.has(e)){const t=this.extractEvent(e);if(!this.eventResponsePairs.dynamicEvents.has(t))return;e=t}let n=this.routes.get(e);n&&n(t.body);break}}}extractEvent(e){const t=e.split(".");return t[t.length-1]||""}}class xW extends FW{logBlackList=[];ignore=e=>{var t;return Kg(t=this.logBlackList).call(t,e)};constructor(e,t,n,i){super(t,n,i,e)}destroy(){this.disconnect(!0),mi._cat.socialGameClient.unregister(this)}async GameRequest(e,t,n,i){return new bg(((o,r)=>{super.GameRequest(e,t,n,i).then((t=>{w&&s(`%c ws服务端消息 %c [Response][${new Date}] %c ${e} %c`,"background:#ff00ff ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff","background:#3d7daa ; padding: 1px; color: #fff","background:#ff00ff ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff","background:transparent",oR(n,t)),o(t)}),(e=>{mi._cat.gui.showToast({title:e.msg}),r(e)}))}))}subscribe(e,t,n){return super.subscribe(e,t,(i=>{w&&!this.ignore(e)&&s(`%c ws服务端消息:[subscribe][${new Date}] %c ${e} %c`,"background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff","background:#410083 ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff","background:transparent",oR(t,i)),mi._cat.event.emit(e,oR(t,i)),n?.(i)})),this}}class YW extends Pp{managedClients=(()=>new zp)();isGlobalOnline=!0;isInBackground=!1;reconnecting=!1;onEventHideDelegate=(()=>new V)();onEventShowDelegate=(()=>new V)();onEventReloadSceneDelegate=(()=>new V)();reconnectTimer=null;scheduleReconnect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.reconnectTimer=gV((()=>{this.reconnectTimer=null,this.triggerReconnectAll()}),e)}get activeClients(){var e,t;return Zf(e=AV(t=NV(this.managedClients)).call(t,(e=>{let[t,n]=e;return n}))).call(e,(e=>e.socket))}constructor(e){super(e),this.initGlobalListeners()}createWebSocket(e,t,n,i){if(this.managedClients.has(e)){this.managedClients.get(e).destroy(),s(`清理旧的 ${e} 客户端`)}const o=new xW(e,n,i,Yo({reconnectMaxAttempts:1/0},{...t,isAutoConnect:!1,isArrayBuffer:F}));return this.register(o),o}register(e){e.on("reconnected",this.handleSingleReconnect),e.on("close",this.handleSingleClose),e.on("kick",this.handleSingleKick),this.managedClients.set(e.name,e)}unregister(e){e.off("reconnected",this.handleSingleReconnect),e.off("close",this.handleSingleClose),e.off("kick",this.handleSingleKick),this.managedClients.delete(e.name)}initGlobalListeners(){this.cat.event.on(Av.ONLINE,(()=>this.handleGlobalStateChange("online")),this).on(Av.OFFLINE,(()=>this.handleGlobalStateChange("offline")),this),f.on(B.EVENT_SHOW,(()=>this.handleGlobalStateChange("show"))),f.on(B.EVENT_HIDE,(()=>this.handleGlobalStateChange("hide")))}async handleGlobalStateChange(e){switch(e){case"online":this.cat.gui.showLoading({title:Fv.ONLINE}),this.isGlobalOnline=!0,this.triggerReconnectAll();break;case"offline":this.isGlobalOnline=!1,this.disconnectAll(!0),this.cat.gui.showLoading({title:Fv.OFFLINE});break;case"show":this.isInBackground=!1,await this.triggerReconnectAll(),await this.onEventShowDelegate.dispatch();break;case"hide":await this.onEventHideDelegate.dispatch(),this.isInBackground=!0,this.disconnectAll(!0)}}async triggerReconnectAll(){if(s("触发所有客户端重连",this.reconnecting,!this.isGlobalOnline,this.isInBackground,this.managedClients.size),!this.reconnecting&&this.isGlobalOnline&&!this.isInBackground&&0!==this.managedClients.size){this.reconnecting=!0,this.cat.gui.showLoading({title:"正在重连"});try{var e,t;await bg.allSettled(AV(e=this.activeClients).call(e,(async e=>{try{await e.reconnectPromise()}catch(t){i(`${e.name}服重连失败`,t)}})));const n=Zf(t=this.activeClients).call(t,(e=>e.socketConnectStatus!==kR.CONNECTED));n.length>0?(console.error("部分WS重连失败:",AV(n).call(n,(e=>e))),s("2s后重连所有客户端"),this.reconnecting=!1,this.scheduleReconnect()):this.reconnecting=!1}catch(e){throw this.reconnecting=!1,e}}}disconnectAll(e){var t;hf(t=this.managedClients).call(t,(t=>{s("断开连接",t.name,e,t.socket),t.disconnect(e)}))}handleSingleClose=()=>{this.reconnecting||(s("3s后重连所有客户端"),this.scheduleReconnect(3e3))};handleSingleReconnect=async()=>{var e,t;LV(e=this.activeClients).call(e,(e=>e.socketConnectStatus===kR.CONNECTED))&&(s("单个WS重连成功回调===",this.managedClients),await bg.allSettled(AV(t=this.activeClients).call(t,(async e=>{try{await e.connectRequest()}catch(t){i(`${e.name}服登录错误`,t),this.cat.gui.showToast({title:`登录${e.name}服错误`})}}))),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),await this.onEventReloadSceneDelegate.dispatch(),this.cat.gui.hideLoading().reloadScene())};handleSingleKick=()=>{this.cat.gui.showReconnect(Fv.KICK)}}class HW{get=(()=>function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"resources";return S.getBundle(n).get(e,t)})();isAssetType=e=>"function"==typeof e&&e.prototype instanceof X;async load(){let e=null,t=null,n=null;for(var i=arguments.length,o=new Array(i),r=0;r<i;r++)o[r]=arguments[r];"string"==typeof o[0]&&"string"==typeof o[1]&&(e=o.shift());let s=o.shift();this.isAssetType(o[0])&&(t=o.shift()),2==o.length&&(n=o.shift());const c=o.shift();let a=E;if(e&&"resources"!=e){S.bundles.has(e)||await this.loadBundle(e);let t=S.bundles.get(e);t&&(a=t)}n&&c?a.load(s,t,n,c):c?a.load(s,t,c):a.load(s,t)}async loadDir(){let e=null,t=null,n=null,i=null;for(var o=arguments.length,r=new Array(o),s=0;s<o;s++)r[s]=arguments[s];"string"==typeof r[0]&&"string"==typeof r[1]&&(e=r.shift());let c=r.shift();this.isAssetType(r[0])&&(t=r.shift()),2==r.length&&(n=r.shift()),i=r.shift();let a=E;if(e&&"resources"!=e){S.bundles.has(e)||await this.loadBundle(e);let t=S.bundles.get(e);t&&(a=t)}n&&i?a.loadDir(c,t,n,i):i?a.loadDir(c,t,i):a.loadDir(c,t)}loadRemote(e){for(var t,n=null,i=arguments.length,o=new Array(i>1?i-1:0),r=1;r<i;r++)o[r-1]=arguments[r];2==o.length&&(n=o.shift()),t=o.shift(),S.loadRemote(e,{ext:".png",...n},t)}loadBundle=(e,t)=>new bg(((n,i)=>{const o=(e,t)=>{if(e)return i(e);n(t)};t?S.loadBundle(e,{version:t},o):S.loadBundle(e,o)}));releasePrefabtDepsRecursively=e=>{var t=S.assets.get(e);if(S.releaseAsset(t),t instanceof a){var n=S.dependUtil.getDepsRecursively(e);hf(n).call(n,(e=>{S.assets.get(e).decRef()}))}};release=(()=>{var e=this;return function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"resources";var i=S.getBundle(n);if(i){var o=i.get(t);o&&e.releasePrefabtDepsRecursively(o._uuid)}}})();releaseDir=(()=>{var e=this;return function(t){var n,i;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"resources";var r=S.getBundle(o),s=r?.getDirWithPath(t);(null==(n=s)?void 0:Uf(i=Function.call).call(i,AV(n),n))?.((t=>{e.releasePrefabtDepsRecursively(t.uuid)})),!t&&"resources"!=o&&r&&S.removeBundle(r)}})();dump=()=>{var e;hf(e=S.assets).call(e,((e,t)=>{s(S.assets.get(t))})),s(`当前资源总数:${S.assets.count}`)}}class NW{rootStore;constructor(e){this.rootStore=e}}class kW extends Pp{}const _W=("undefined"!=typeof globalThis?globalThis:void 0)?.crypto||("undefined"!=typeof global?global:void 0)?.crypto||("undefined"!=typeof window?window:void 0)?.crypto||("undefined"!=typeof self?self:void 0)?.crypto||("undefined"!=typeof frames?frames:void 0)?.[0]?.crypto;let MW;MW=_W?e=>{const t=[];for(let n=0;n<e;n+=4)t.push(_W.getRandomValues(new Uint32Array(1))[0]);return new KW(t,e)}:e=>{const t=[],n=e=>{let t=e,n=987654321;const i=4294967295;return()=>{n=36969*(65535&n)+(n>>16)&i,t=18e3*(65535&t)+(t>>16)&i;let e=(n<<16)+t&i;return e/=4294967296,e+=.5,e*(Math.random()>.5?1:-1)}};for(let i,o=0;o<e;o+=4){const e=n(4294967296*(i||Math.random()));i=987654071*e(),t.push(4294967296*e()|0)}return new KW(t,e)};class zW{static create(...e){return new this(...e)}mixIn(e){return Object.assign(this,e)}clone(){const e=new this.constructor;return Object.assign(e,this),e}}class KW extends zW{constructor(e=[],t=4*e.length){super();let n=e;if(n instanceof ArrayBuffer&&(n=new Uint8Array(n)),(n instanceof Int8Array||n instanceof Uint8ClampedArray||n instanceof Int16Array||n instanceof Uint16Array||n instanceof Int32Array||n instanceof Uint32Array||n instanceof Float32Array||n instanceof Float64Array)&&(n=new Uint8Array(n.buffer,n.byteOffset,n.byteLength)),n instanceof Uint8Array){const e=n.byteLength,t=[];for(let i=0;i<e;i+=1)t[i>>>2]|=n[i]<<24-i%4*8;this.words=t,this.sigBytes=e}else this.words=e,this.sigBytes=t}static random=MW;toString(e=UW){return e.stringify(this)}concat(e){const t=this.words,n=e.words,i=this.sigBytes,o=e.sigBytes;if(this.clamp(),i%4)for(let e=0;e<o;e+=1){const o=n[e>>>2]>>>24-e%4*8&255;t[i+e>>>2]|=o<<24-(i+e)%4*8}else for(let e=0;e<o;e+=4)t[i+e>>>2]=n[e>>>2];return this.sigBytes+=o,this}clamp(){const{words:e,sigBytes:t}=this;e[t>>>2]&=4294967295<<32-t%4*8,e.length=Math.ceil(t/4)}clone(){const e=super.clone.call(this);return e.words=this.words.slice(0),e}}const UW={stringify(e){const{words:t,sigBytes:n}=e,i=[];for(let e=0;e<n;e+=1){const n=t[e>>>2]>>>24-e%4*8&255;i.push((n>>>4).toString(16)),i.push((15&n).toString(16))}return i.join("")},parse(e){const t=e.length,n=[];for(let i=0;i<t;i+=2)n[i>>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new KW(n,t/2)}},LW={stringify(e){const{words:t,sigBytes:n}=e,i=[];for(let e=0;e<n;e+=1){const n=t[e>>>2]>>>24-e%4*8&255;i.push(String.fromCharCode(n))}return i.join("")},parse(e){const t=e.length,n=[];for(let i=0;i<t;i+=1)n[i>>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new KW(n,t)}},DW={stringify(e){try{return decodeURIComponent(escape(LW.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:e=>LW.parse(unescape(encodeURIComponent(e)))};class TW extends zW{constructor(){super(),this._minBufferSize=0}reset(){this._data=new KW,this._nDataBytes=0}_append(e){let t=e;"string"==typeof t&&(t=DW.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(e){let t;const{_data:n,blockSize:i}=this,o=n.words,r=n.sigBytes;let s=r/(4*i);s=e?Math.ceil(s):Math.max((0|s)-this._minBufferSize,0);const c=s*i,a=Math.min(4*c,r);if(c){for(let e=0;e<c;e+=i)this._doProcessBlock(o,e);t=o.splice(0,c),n.sigBytes-=a}return new KW(t,a)}clone(){const e=super.clone.call(this);return e._data=this._data.clone(),e}}class QW extends TW{constructor(e){super(),this.blockSize=16,this.cfg=Object.assign(new zW,e),this.reset()}static _createHelper(e){return(t,n)=>new e(n).finalize(t)}static _createHmacHelper(e){return(t,n)=>new OW(e,n).finalize(t)}reset(){super.reset.call(this),this._doReset()}update(e){return this._append(e),this._process(),this}finalize(e){e&&this._append(e);return this._doFinalize()}}class OW extends zW{constructor(e,t){super();const n=new e;this._hasher=n;let i=t;"string"==typeof i&&(i=DW.parse(i));const o=n.blockSize,r=4*o;i.sigBytes>r&&(i=n.finalize(t)),i.clamp();const s=i.clone();this._oKey=s;const c=i.clone();this._iKey=c;const a=s.words,l=c.words;for(let e=0;e<o;e+=1)a[e]^=1549556828,l[e]^=909522486;s.sigBytes=r,c.sigBytes=r,this.reset()}reset(){const e=this._hasher;e.reset(),e.update(this._iKey)}update(e){return this._hasher.update(e),this}finalize(e){const t=this._hasher,n=t.finalize(e);t.reset();return t.finalize(this._oKey.clone().concat(n))}}const PW=KW;class jW extends zW{constructor(e,t){super(),this.high=e,this.low=t}}class qW extends zW{constructor(e=[],t=8*e.length){super(),this.words=e,this.sigBytes=t}toX32(){const e=this.words,t=e.length,n=[];for(let i=0;i<t;i+=1){const t=e[i];n.push(t.high),n.push(t.low)}return PW.create(n,this.sigBytes)}clone(){const e=super.clone.call(this);e.words=this.words.slice(0);const{words:t}=e,n=t.length;for(let e=0;e<n;e+=1)t[e]=t[e].clone();return e}}const $W=(e,t,n)=>{const i=[];let o=0;for(let r=0;r<t;r+=1)if(r%4){const t=n[e.charCodeAt(r-1)]<<r%4*2|n[e.charCodeAt(r)]>>>6-r%4*2;i[o>>>2]|=t<<24-o%4*8,o+=1}return KW.create(i,o)},eJ={stringify(e){const{words:t,sigBytes:n}=e,i=this._map;e.clamp();const o=[];for(let e=0;e<n;e+=3){const r=(t[e>>>2]>>>24-e%4*8&255)<<16|(t[e+1>>>2]>>>24-(e+1)%4*8&255)<<8|t[e+2>>>2]>>>24-(e+2)%4*8&255;for(let t=0;t<4&&e+.75*t<n;t+=1)o.push(i.charAt(r>>>6*(3-t)&63))}const r=i.charAt(64);if(r)for(;o.length%4;)o.push(r);return o.join("")},parse(e){let t=e.length;const n=this._map;let i=this._reverseMap;if(!i){this._reverseMap=[],i=this._reverseMap;for(let e=0;e<n.length;e+=1)i[n.charCodeAt(e)]=e}const o=n.charAt(64);if(o){const n=e.indexOf(o);-1!==n&&(t=n)}return $W(e,t,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},tJ=[];for(let e=0;e<64;e+=1)tJ[e]=4294967296*Math.abs(Math.sin(e+1))|0;const nJ=(e,t,n,i,o,r,s)=>{const c=e+(t&n|~t&i)+o+s;return(c<<r|c>>>32-r)+t},iJ=(e,t,n,i,o,r,s)=>{const c=e+(t&i|n&~i)+o+s;return(c<<r|c>>>32-r)+t},oJ=(e,t,n,i,o,r,s)=>{const c=e+(t^n^i)+o+s;return(c<<r|c>>>32-r)+t},rJ=(e,t,n,i,o,r,s)=>{const c=e+(n^(t|~i))+o+s;return(c<<r|c>>>32-r)+t};class sJ extends QW{_doReset(){this._hash=new KW([1732584193,4023233417,2562383102,271733878])}_doProcessBlock(e,t){const n=e;for(let i=0;i<16;i+=1){const o=t+i,r=e[o];n[o]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}const i=this._hash.words,o=n[t+0],r=n[t+1],s=n[t+2],c=n[t+3],a=n[t+4],l=n[t+5],u=n[t+6],d=n[t+7],h=n[t+8],g=n[t+9],m=n[t+10],b=n[t+11],p=n[t+12],f=n[t+13],y=n[t+14],I=n[t+15];let A=i[0],G=i[1],C=i[2],Z=i[3];A=nJ(A,G,C,Z,o,7,tJ[0]),Z=nJ(Z,A,G,C,r,12,tJ[1]),C=nJ(C,Z,A,G,s,17,tJ[2]),G=nJ(G,C,Z,A,c,22,tJ[3]),A=nJ(A,G,C,Z,a,7,tJ[4]),Z=nJ(Z,A,G,C,l,12,tJ[5]),C=nJ(C,Z,A,G,u,17,tJ[6]),G=nJ(G,C,Z,A,d,22,tJ[7]),A=nJ(A,G,C,Z,h,7,tJ[8]),Z=nJ(Z,A,G,C,g,12,tJ[9]),C=nJ(C,Z,A,G,m,17,tJ[10]),G=nJ(G,C,Z,A,b,22,tJ[11]),A=nJ(A,G,C,Z,p,7,tJ[12]),Z=nJ(Z,A,G,C,f,12,tJ[13]),C=nJ(C,Z,A,G,y,17,tJ[14]),G=nJ(G,C,Z,A,I,22,tJ[15]),A=iJ(A,G,C,Z,r,5,tJ[16]),Z=iJ(Z,A,G,C,u,9,tJ[17]),C=iJ(C,Z,A,G,b,14,tJ[18]),G=iJ(G,C,Z,A,o,20,tJ[19]),A=iJ(A,G,C,Z,l,5,tJ[20]),Z=iJ(Z,A,G,C,m,9,tJ[21]),C=iJ(C,Z,A,G,I,14,tJ[22]),G=iJ(G,C,Z,A,a,20,tJ[23]),A=iJ(A,G,C,Z,g,5,tJ[24]),Z=iJ(Z,A,G,C,y,9,tJ[25]),C=iJ(C,Z,A,G,c,14,tJ[26]),G=iJ(G,C,Z,A,h,20,tJ[27]),A=iJ(A,G,C,Z,f,5,tJ[28]),Z=iJ(Z,A,G,C,s,9,tJ[29]),C=iJ(C,Z,A,G,d,14,tJ[30]),G=iJ(G,C,Z,A,p,20,tJ[31]),A=oJ(A,G,C,Z,l,4,tJ[32]),Z=oJ(Z,A,G,C,h,11,tJ[33]),C=oJ(C,Z,A,G,b,16,tJ[34]),G=oJ(G,C,Z,A,y,23,tJ[35]),A=oJ(A,G,C,Z,r,4,tJ[36]),Z=oJ(Z,A,G,C,a,11,tJ[37]),C=oJ(C,Z,A,G,d,16,tJ[38]),G=oJ(G,C,Z,A,m,23,tJ[39]),A=oJ(A,G,C,Z,f,4,tJ[40]),Z=oJ(Z,A,G,C,o,11,tJ[41]),C=oJ(C,Z,A,G,c,16,tJ[42]),G=oJ(G,C,Z,A,u,23,tJ[43]),A=oJ(A,G,C,Z,g,4,tJ[44]),Z=oJ(Z,A,G,C,p,11,tJ[45]),C=oJ(C,Z,A,G,I,16,tJ[46]),G=oJ(G,C,Z,A,s,23,tJ[47]),A=rJ(A,G,C,Z,o,6,tJ[48]),Z=rJ(Z,A,G,C,d,10,tJ[49]),C=rJ(C,Z,A,G,y,15,tJ[50]),G=rJ(G,C,Z,A,l,21,tJ[51]),A=rJ(A,G,C,Z,p,6,tJ[52]),Z=rJ(Z,A,G,C,c,10,tJ[53]),C=rJ(C,Z,A,G,m,15,tJ[54]),G=rJ(G,C,Z,A,r,21,tJ[55]),A=rJ(A,G,C,Z,h,6,tJ[56]),Z=rJ(Z,A,G,C,I,10,tJ[57]),C=rJ(C,Z,A,G,u,15,tJ[58]),G=rJ(G,C,Z,A,f,21,tJ[59]),A=rJ(A,G,C,Z,a,6,tJ[60]),Z=rJ(Z,A,G,C,b,10,tJ[61]),C=rJ(C,Z,A,G,s,15,tJ[62]),G=rJ(G,C,Z,A,g,21,tJ[63]),i[0]=i[0]+A|0,i[1]=i[1]+G|0,i[2]=i[2]+C|0,i[3]=i[3]+Z|0}_doFinalize(){const e=this._data,t=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32;const o=Math.floor(n/4294967296),r=n;t[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();const s=this._hash,c=s.words;for(let e=0;e<4;e+=1){const t=c[e];c[e]=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8)}return s}clone(){const e=super.clone.call(this);return e._hash=this._hash.clone(),e}}const cJ=QW._createHelper(sJ),aJ=QW._createHmacHelper(sJ);class lJ extends zW{constructor(e){super(),this.cfg=Object.assign(new zW,{keySize:4,hasher:sJ,iterations:1},e)}compute(e,t){let n;const{cfg:i}=this,o=i.hasher.create(),r=KW.create(),s=r.words,{keySize:c,iterations:a}=i;for(;s.length<c;){n&&o.update(n),n=o.update(e).finalize(t),o.reset();for(let e=1;e<a;e+=1)n=o.finalize(n),o.reset();r.concat(n)}return r.sigBytes=4*c,r}}class uJ extends TW{constructor(e,t,n){super(),this.cfg=Object.assign(new zW,n),this._xformMode=e,this._key=t,this.reset()}static createEncryptor(e,t){return this.create(this._ENC_XFORM_MODE,e,t)}static createDecryptor(e,t){return this.create(this._DEC_XFORM_MODE,e,t)}static _createHelper(e){const t=e=>"string"==typeof e?GJ:IJ;return{encrypt:(n,i,o)=>t(i).encrypt(e,n,i,o),decrypt:(n,i,o)=>t(i).decrypt(e,n,i,o)}}reset(){super.reset.call(this),this._doReset()}process(e){return this._append(e),this._process()}finalize(e){e&&this._append(e);return this._doFinalize()}}uJ._ENC_XFORM_MODE=1,uJ._DEC_XFORM_MODE=2,uJ.keySize=4,uJ.ivSize=4;class dJ extends uJ{constructor(...e){super(...e),this.blockSize=1}_doFinalize(){return this._process(!0)}}class hJ extends zW{constructor(e,t){super(),this._cipher=e,this._iv=t}static createEncryptor(e,t){return this.Encryptor.create(e,t)}static createDecryptor(e,t){return this.Decryptor.create(e,t)}}function gJ(e,t,n){const i=e;let o;const r=this._iv;r?(o=r,this._iv=void 0):o=this._prevBlock;for(let e=0;e<n;e+=1)i[t+e]^=o[e]}class mJ extends hJ{}mJ.Encryptor=class extends mJ{processBlock(e,t){const n=this._cipher,{blockSize:i}=n;gJ.call(this,e,t,i),n.encryptBlock(e,t),this._prevBlock=e.slice(t,t+i)}},mJ.Decryptor=class extends mJ{processBlock(e,t){const n=this._cipher,{blockSize:i}=n,o=e.slice(t,t+i);n.decryptBlock(e,t),gJ.call(this,e,t,i),this._prevBlock=o}};const bJ={pad(e,t){const n=4*t,i=n-e.sigBytes%n,o=i<<24|i<<16|i<<8|i,r=[];for(let e=0;e<i;e+=4)r.push(o);const s=KW.create(r,i);e.concat(s)},unpad(e){const t=e,n=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=n}};class pJ extends uJ{constructor(e,t,n){super(e,t,Object.assign({mode:mJ,padding:bJ},n)),this.blockSize=4}reset(){let e;super.reset.call(this);const{cfg:t}=this,{iv:n,mode:i}=t;this._xformMode===this.constructor._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode=e.call(i,this,n&&n.words),this._mode.__creator=e}_doProcessBlock(e,t){this._mode.processBlock(e,t)}_doFinalize(){let e;const{padding:t}=this.cfg;return this._xformMode===this.constructor._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e}}class fJ extends zW{constructor(e){super(),this.mixIn(e)}toString(e){return(e||this.formatter).stringify(this)}}const yJ={stringify(e){let t;const{ciphertext:n,salt:i}=e;return t=i?KW.create([1398893684,1701076831]).concat(i).concat(n):n,t.toString(eJ)},parse(e){let t;const n=eJ.parse(e),i=n.words;return 1398893684===i[0]&&1701076831===i[1]&&(t=KW.create(i.slice(2,4)),i.splice(0,4),n.sigBytes-=16),fJ.create({ciphertext:n,salt:t})}};class IJ extends zW{static encrypt(e,t,n,i){const o=Object.assign(new zW,this.cfg,i),r=e.createEncryptor(n,o),s=r.finalize(t),c=r.cfg;return fJ.create({ciphertext:s,key:n,iv:c.iv,algorithm:e,mode:c.mode,padding:c.padding,blockSize:r.blockSize,formatter:o.format})}static decrypt(e,t,n,i){let o=t;const r=Object.assign(new zW,this.cfg,i);o=this._parse(o,r.format);return e.createDecryptor(n,r).finalize(o.ciphertext)}static _parse(e,t){return"string"==typeof e?t.parse(e,this):e}}IJ.cfg=Object.assign(new zW,{format:yJ});const AJ={execute(e,t,n,i,o){let r,s=i;s||(s=KW.random(8)),r=o?lJ.create({keySize:t+n,hasher:o}).compute(e,s):lJ.create({keySize:t+n}).compute(e,s);const c=KW.create(r.words.slice(t),4*n);return r.sigBytes=4*t,fJ.create({key:r,iv:c,salt:s})}};class GJ extends IJ{static encrypt(e,t,n,i){const o=Object.assign(new zW,this.cfg,i),r=o.kdf.execute(n,e.keySize,e.ivSize,o.salt,o.hasher);o.iv=r.iv;const s=IJ.encrypt.call(this,e,t,r.key,o);return s.mixIn(r),s}static decrypt(e,t,n,i){let o=t;const r=Object.assign(new zW,this.cfg,i);o=this._parse(o,r.format);const s=r.kdf.execute(n,e.keySize,e.ivSize,o.salt,r.hasher);r.iv=s.iv;return IJ.decrypt.call(this,e,o,s.key,r)}}GJ.cfg=Object.assign(IJ.cfg,{kdf:AJ});const CJ=e=>e<<8&4278255360|e>>>8&16711935,ZJ={stringify(e){const{words:t,sigBytes:n}=e,i=[];for(let e=0;e<n;e+=2){const n=t[e>>>2]>>>16-e%4*8&65535;i.push(String.fromCharCode(n))}return i.join("")},parse(e){const t=e.length,n=[];for(let i=0;i<t;i+=1)n[i>>>1]|=e.charCodeAt(i)<<16-i%2*16;return KW.create(n,2*t)}},vJ=ZJ,VJ={stringify(e){const{words:t,sigBytes:n}=e,i=[];for(let e=0;e<n;e+=2){const n=CJ(t[e>>>2]>>>16-e%4*8&65535);i.push(String.fromCharCode(n))}return i.join("")},parse(e){const t=e.length,n=[];for(let i=0;i<t;i+=1)n[i>>>1]|=CJ(e.charCodeAt(i)<<16-i%2*16);return KW.create(n,2*t)}},BJ={stringify(e,t=!0){const{words:n,sigBytes:i}=e,o=t?this._safeMap:this._map;e.clamp();const r=[];for(let e=0;e<i;e+=3){const t=(n[e>>>2]>>>24-e%4*8&255)<<16|(n[e+1>>>2]>>>24-(e+1)%4*8&255)<<8|n[e+2>>>2]>>>24-(e+2)%4*8&255;for(let n=0;n<4&&e+.75*n<i;n+=1)r.push(o.charAt(t>>>6*(3-n)&63))}const s=o.charAt(64);if(s)for(;r.length%4;)r.push(s);return r.join("")},parse(e,t=!0){let n=e.length;const i=t?this._safeMap:this._map;let o=this._reverseMap;if(!o){this._reverseMap=[],o=this._reverseMap;for(let e=0;e<i.length;e+=1)o[i.charCodeAt(e)]=e}const r=i.charAt(64);if(r){const t=e.indexOf(r);-1!==t&&(n=t)}return $W(e,n,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safeMap:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},SJ=[];class XJ extends QW{_doReset(){this._hash=new KW([1732584193,4023233417,2562383102,271733878,3285377520])}_doProcessBlock(e,t){const n=this._hash.words;let i=n[0],o=n[1],r=n[2],s=n[3],c=n[4];for(let n=0;n<80;n+=1){if(n<16)SJ[n]=0|e[t+n];else{const e=SJ[n-3]^SJ[n-8]^SJ[n-14]^SJ[n-16];SJ[n]=e<<1|e>>>31}let a=(i<<5|i>>>27)+c+SJ[n];a+=n<20?1518500249+(o&r|~o&s):n<40?1859775393+(o^r^s):n<60?(o&r|o&s|r&s)-1894007588:(o^r^s)-899497514,c=s,s=r,r=o<<30|o>>>2,o=i,i=a}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+r|0,n[3]=n[3]+s|0,n[4]=n[4]+c|0}_doFinalize(){const e=this._data,t=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(i+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash}clone(){const e=super.clone.call(this);return e._hash=this._hash.clone(),e}}const EJ=QW._createHelper(XJ),RJ=QW._createHmacHelper(XJ),WJ=[],JJ=[],wJ=e=>{const t=Math.sqrt(e);for(let n=2;n<=t;n+=1)if(!(e%n))return!1;return!0},FJ=e=>4294967296*(e-(0|e))|0;let xJ=2,YJ=0;for(;YJ<64;)wJ(xJ)&&(YJ<8&&(WJ[YJ]=FJ(xJ**.5)),JJ[YJ]=FJ(xJ**(1/3)),YJ+=1),xJ+=1;const HJ=[];class NJ extends QW{_doReset(){this._hash=new KW(WJ.slice(0))}_doProcessBlock(e,t){const n=this._hash.words;let i=n[0],o=n[1],r=n[2],s=n[3],c=n[4],a=n[5],l=n[6],u=n[7];for(let n=0;n<64;n+=1){if(n<16)HJ[n]=0|e[t+n];else{const e=HJ[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,i=HJ[n-2],o=(i<<15|i>>>17)^(i<<13|i>>>19)^i>>>10;HJ[n]=t+HJ[n-7]+o+HJ[n-16]}const d=i&o^i&r^o&r,h=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),g=u+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&a^~c&l)+JJ[n]+HJ[n];u=l,l=a,a=c,c=s+g|0,s=r,r=o,o=i,i=g+(h+d)|0}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+r|0,n[3]=n[3]+s|0,n[4]=n[4]+c|0,n[5]=n[5]+a|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_doFinalize(){const e=this._data,t=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(i+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash}clone(){const e=super.clone.call(this);return e._hash=this._hash.clone(),e}}const kJ=QW._createHelper(NJ),_J=QW._createHmacHelper(NJ);class MJ extends NJ{_doReset(){this._hash=new KW([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])}_doFinalize(){const e=super._doFinalize.call(this);return e.sigBytes-=4,e}}const zJ=NJ._createHelper(MJ),KJ=NJ._createHmacHelper(MJ),UJ=[new jW(1116352408,3609767458),new jW(1899447441,602891725),new jW(3049323471,3964484399),new jW(3921009573,2173295548),new jW(961987163,4081628472),new jW(1508970993,3053834265),new jW(2453635748,2937671579),new jW(2870763221,3664609560),new jW(3624381080,2734883394),new jW(310598401,1164996542),new jW(607225278,1323610764),new jW(1426881987,3590304994),new jW(1925078388,4068182383),new jW(2162078206,991336113),new jW(2614888103,633803317),new jW(3248222580,3479774868),new jW(3835390401,2666613458),new jW(4022224774,944711139),new jW(264347078,2341262773),new jW(604807628,2007800933),new jW(770255983,1495990901),new jW(1249150122,1856431235),new jW(1555081692,3175218132),new jW(1996064986,2198950837),new jW(2554220882,3999719339),new jW(2821834349,766784016),new jW(2952996808,2566594879),new jW(3210313671,3203337956),new jW(3336571891,1034457026),new jW(3584528711,2466948901),new jW(113926993,3758326383),new jW(338241895,168717936),new jW(666307205,1188179964),new jW(773529912,1546045734),new jW(1294757372,1522805485),new jW(1396182291,2643833823),new jW(1695183700,2343527390),new jW(1986661051,1014477480),new jW(2177026350,1206759142),new jW(2456956037,344077627),new jW(2730485921,1290863460),new jW(2820302411,3158454273),new jW(3259730800,3505952657),new jW(3345764771,106217008),new jW(3516065817,3606008344),new jW(3600352804,1432725776),new jW(4094571909,1467031594),new jW(275423344,851169720),new jW(430227734,3100823752),new jW(506948616,1363258195),new jW(659060556,3750685593),new jW(883997877,3785050280),new jW(958139571,3318307427),new jW(1322822218,3812723403),new jW(1537002063,2003034995),new jW(1747873779,3602036899),new jW(1955562222,1575990012),new jW(2024104815,1125592928),new jW(2227730452,2716904306),new jW(2361852424,442776044),new jW(2428436474,593698344),new jW(2756734187,3733110249),new jW(3204031479,2999351573),new jW(3329325298,3815920427),new jW(3391569614,3928383900),new jW(3515267271,566280711),new jW(3940187606,3454069534),new jW(4118630271,4000239992),new jW(116418474,1914138554),new jW(174292421,2731055270),new jW(289380356,3203993006),new jW(460393269,320620315),new jW(685471733,587496836),new jW(852142971,1086792851),new jW(1017036298,365543100),new jW(1126000580,2618297676),new jW(1288033470,3409855158),new jW(1501505948,4234509866),new jW(1607167915,987167468),new jW(1816402316,1246189591)],LJ=[];for(let e=0;e<80;e+=1)LJ[e]=new jW;class DJ extends QW{constructor(){super(),this.blockSize=32}_doReset(){this._hash=new qW([new jW(1779033703,4089235720),new jW(3144134277,2227873595),new jW(1013904242,4271175723),new jW(2773480762,1595750129),new jW(1359893119,2917565137),new jW(2600822924,725511199),new jW(528734635,4215389547),new jW(1541459225,327033209)])}_doProcessBlock(e,t){const n=this._hash.words,i=n[0],o=n[1],r=n[2],s=n[3],c=n[4],a=n[5],l=n[6],u=n[7],d=i.high;let h=i.low;const g=o.high;let m=o.low;const b=r.high;let p=r.low;const f=s.high;let y=s.low;const I=c.high;let A=c.low;const G=a.high;let C=a.low;const Z=l.high;let v=l.low;const V=u.high;let B=u.low,S=d,X=h,E=g,R=m,W=b,J=p,w=f,F=y,x=I,Y=A,H=G,N=C,k=Z,_=v,M=V,z=B;for(let n=0;n<80;n+=1){let i,o;const r=LJ[n];if(n<16)r.high=0|e[t+2*n],o=r.high,r.low=0|e[t+2*n+1],i=r.low;else{const e=LJ[n-15],t=e.high,s=e.low,c=(t>>>1|s<<31)^(t>>>8|s<<24)^t>>>7,a=(s>>>1|t<<31)^(s>>>8|t<<24)^(s>>>7|t<<25),l=LJ[n-2],u=l.high,d=l.low,h=(u>>>19|d<<13)^(u<<3|d>>>29)^u>>>6,g=(d>>>19|u<<13)^(d<<3|u>>>29)^(d>>>6|u<<26),m=LJ[n-7],b=m.high,p=m.low,f=LJ[n-16],y=f.high,I=f.low;i=a+p,o=c+b+(i>>>0<a>>>0?1:0),i+=g,o=o+h+(i>>>0<g>>>0?1:0),i+=I,o=o+y+(i>>>0<I>>>0?1:0),r.high=o,r.low=i}const s=x&H^~x&k,c=Y&N^~Y&_,a=S&E^S&W^E&W,l=X&R^X&J^R&J,u=(S>>>28|X<<4)^(S<<30|X>>>2)^(S<<25|X>>>7),d=(X>>>28|S<<4)^(X<<30|S>>>2)^(X<<25|S>>>7),h=(x>>>14|Y<<18)^(x>>>18|Y<<14)^(x<<23|Y>>>9),g=(Y>>>14|x<<18)^(Y>>>18|x<<14)^(Y<<23|x>>>9),m=UJ[n],b=m.high,p=m.low;let f=z+g,y=M+h+(f>>>0<z>>>0?1:0);f+=c,y=y+s+(f>>>0<c>>>0?1:0),f+=p,y=y+b+(f>>>0<p>>>0?1:0),f+=i,y=y+o+(f>>>0<i>>>0?1:0);const I=d+l;M=k,z=_,k=H,_=N,H=x,N=Y,Y=F+f|0,x=w+y+(Y>>>0<F>>>0?1:0)|0,w=W,F=J,W=E,J=R,E=S,R=X,X=f+I|0,S=y+(u+a+(I>>>0<d>>>0?1:0))+(X>>>0<f>>>0?1:0)|0}i.low=h+X,h=i.low,i.high=d+S+(h>>>0<X>>>0?1:0),o.low=m+R,m=o.low,o.high=g+E+(m>>>0<R>>>0?1:0),r.low=p+J,p=r.low,r.high=b+W+(p>>>0<J>>>0?1:0),s.low=y+F,y=s.low,s.high=f+w+(y>>>0<F>>>0?1:0),c.low=A+Y,A=c.low,c.high=I+x+(A>>>0<Y>>>0?1:0),a.low=C+N,C=a.low,a.high=G+H+(C>>>0<N>>>0?1:0),l.low=v+_,v=l.low,l.high=Z+k+(v>>>0<_>>>0?1:0),u.low=B+z,B=u.low,u.high=V+M+(B>>>0<z>>>0?1:0)}_doFinalize(){const e=this._data,t=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(i+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process();return this._hash.toX32()}clone(){const e=super.clone.call(this);return e._hash=this._hash.clone(),e}}const TJ=QW._createHelper(DJ),QJ=QW._createHmacHelper(DJ);class OJ extends DJ{_doReset(){this._hash=new qW([new jW(3418070365,3238371032),new jW(1654270250,914150663),new jW(2438529370,812702999),new jW(355462360,4144912697),new jW(1731405415,4290775857),new jW(2394180231,1750603025),new jW(3675008525,1694076839),new jW(1203062813,3204075428)])}_doFinalize(){const e=super._doFinalize.call(this);return e.sigBytes-=16,e}}const PJ=DJ._createHelper(OJ),jJ=DJ._createHmacHelper(OJ),qJ=[],$J=[],ew=[];let tw=1,nw=0;for(let e=0;e<24;e+=1){qJ[tw+5*nw]=(e+1)*(e+2)/2%64;const t=(2*tw+3*nw)%5;tw=nw%5,nw=t}for(let e=0;e<5;e+=1)for(let t=0;t<5;t+=1)$J[e+5*t]=t+(2*e+3*t)%5*5;let iw=1;for(let e=0;e<24;e+=1){let t=0,n=0;for(let e=0;e<7;e+=1){if(1&iw){const i=(1<<e)-1;i<32?n^=1<<i:t^=1<<i-32}128&iw?iw=iw<<1^113:iw<<=1}ew[e]=jW.create(t,n)}const ow=[];for(let e=0;e<25;e+=1)ow[e]=jW.create();class rw extends QW{constructor(e){super(Object.assign({outputLength:512},e))}_doReset(){this._state=[];const e=this._state;for(let t=0;t<25;t+=1)e[t]=new jW;this.blockSize=(1600-2*this.cfg.outputLength)/32}_doProcessBlock(e,t){const n=this._state,i=this.blockSize/2;for(let o=0;o<i;o+=1){let i=e[t+2*o],r=e[t+2*o+1];i=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),r=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);const s=n[o];s.high^=r,s.low^=i}for(let e=0;e<24;e+=1){for(let e=0;e<5;e+=1){let t=0,i=0;for(let o=0;o<5;o+=1){const r=n[e+5*o];t^=r.high,i^=r.low}const o=ow[e];o.high=t,o.low=i}for(let e=0;e<5;e+=1){const t=ow[(e+4)%5],i=ow[(e+1)%5],o=i.high,r=i.low,s=t.high^(o<<1|r>>>31),c=t.low^(r<<1|o>>>31);for(let t=0;t<5;t+=1){const i=n[e+5*t];i.high^=s,i.low^=c}}for(let e=1;e<25;e+=1){let t,i;const o=n[e],r=o.high,s=o.low,c=qJ[e];c<32?(t=r<<c|s>>>32-c,i=s<<c|r>>>32-c):(t=s<<c-32|r>>>64-c,i=r<<c-32|s>>>64-c);const a=ow[$J[e]];a.high=t,a.low=i}const t=ow[0],i=n[0];t.high=i.high,t.low=i.low;for(let e=0;e<5;e+=1)for(let t=0;t<5;t+=1){const i=e+5*t,o=n[i],r=ow[i],s=ow[(e+1)%5+5*t],c=ow[(e+2)%5+5*t];o.high=r.high^~s.high&c.high,o.low=r.low^~s.low&c.low}const o=n[0],r=ew[e];o.high^=r.high,o.low^=r.low}}_doFinalize(){const e=this._data,t=e.words,n=8*e.sigBytes,i=32*this.blockSize;t[n>>>5]|=1<<24-n%32,t[(Math.ceil((n+1)/i)*i>>>5)-1]|=128,e.sigBytes=4*t.length,this._process();const o=this._state,r=this.cfg.outputLength/8,s=r/8,c=[];for(let e=0;e<s;e+=1){const t=o[e];let n=t.high,i=t.low;n=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),i=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),c.push(i),c.push(n)}return new KW(c,r)}clone(){const e=super.clone.call(this);e._state=this._state.slice(0);const t=e._state;for(let e=0;e<25;e+=1)t[e]=t[e].clone();return e}}const sw=QW._createHelper(rw),cw=QW._createHmacHelper(rw),aw=KW.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),lw=KW.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),uw=KW.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),dw=KW.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),hw=KW.create([0,1518500249,1859775393,2400959708,2840853838]),gw=KW.create([1352829926,1548603684,1836072691,2053994217,0]),mw=(e,t,n)=>e^t^n,bw=(e,t,n)=>e&t|~e&n,pw=(e,t,n)=>(e|~t)^n,fw=(e,t,n)=>e&n|t&~n,yw=(e,t,n)=>e^(t|~n),Iw=(e,t)=>e<<t|e>>>32-t;class Aw extends QW{_doReset(){this._hash=KW.create([1732584193,4023233417,2562383102,271733878,3285377520])}_doProcessBlock(e,t){const n=e;for(let e=0;e<16;e+=1){const i=t+e,o=n[i];n[i]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}const i=this._hash.words,o=hw.words,r=gw.words,s=aw.words,c=lw.words,a=uw.words,l=dw.words;let u,d=i[0],h=i[1],g=i[2],m=i[3],b=i[4],p=i[0],f=i[1],y=i[2],I=i[3],A=i[4];for(let e=0;e<80;e+=1)u=d+n[t+s[e]]|0,u+=e<16?mw(h,g,m)+o[0]:e<32?bw(h,g,m)+o[1]:e<48?pw(h,g,m)+o[2]:e<64?fw(h,g,m)+o[3]:yw(h,g,m)+o[4],u|=0,u=Iw(u,a[e]),u=u+b|0,d=b,b=m,m=Iw(g,10),g=h,h=u,u=p+n[t+c[e]]|0,u+=e<16?yw(f,y,I)+r[0]:e<32?fw(f,y,I)+r[1]:e<48?pw(f,y,I)+r[2]:e<64?bw(f,y,I)+r[3]:mw(f,y,I)+r[4],u|=0,u=Iw(u,l[e]),u=u+A|0,p=A,A=I,I=Iw(y,10),y=f,f=u;u=i[1]+g+I|0,i[1]=i[2]+m+A|0,i[2]=i[3]+b+p|0,i[3]=i[4]+d+f|0,i[4]=i[0]+h+y|0,i[0]=u}_doFinalize(){const e=this._data,t=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process();const o=this._hash,r=o.words;for(let e=0;e<5;e+=1){const t=r[e];r[e]=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8)}return o}clone(){const e=super.clone.call(this);return e._hash=this._hash.clone(),e}}const Gw=QW._createHelper(Aw),Cw=QW._createHmacHelper(Aw);class Zw extends zW{constructor(e){super(),this.cfg=Object.assign(new zW,{keySize:4,hasher:NJ,iterations:25e4},e)}compute(e,t){const{cfg:n}=this,i=OW.create(n.hasher,e),o=KW.create(),r=KW.create([1]),s=o.words,c=r.words,{keySize:a,iterations:l}=n;for(;s.length<a;){const e=i.update(t).finalize(r);i.reset();const n=e.words,s=n.length;let a=e;for(let e=1;e<l;e+=1){a=i.finalize(a),i.reset();const e=a.words;for(let t=0;t<s;t+=1)n[t]^=e[t]}o.concat(e),c[0]+=1}return o.sigBytes=4*a,o}}const vw=[],Vw=[],Bw=[],Sw=[],Xw=[],Ew=[],Rw=[],Ww=[],Jw=[],ww=[],Fw=[];for(let e=0;e<256;e+=1)Fw[e]=e<128?e<<1:e<<1^283;let xw=0,Yw=0;for(let e=0;e<256;e+=1){let e=Yw^Yw<<1^Yw<<2^Yw<<3^Yw<<4;e=e>>>8^255&e^99,vw[xw]=e,Vw[e]=xw;const t=Fw[xw],n=Fw[t],i=Fw[n];let o=257*Fw[e]^16843008*e;Bw[xw]=o<<24|o>>>8,Sw[xw]=o<<16|o>>>16,Xw[xw]=o<<8|o>>>24,Ew[xw]=o,o=16843009*i^65537*n^257*t^16843008*xw,Rw[e]=o<<24|o>>>8,Ww[e]=o<<16|o>>>16,Jw[e]=o<<8|o>>>24,ww[e]=o,xw?(xw=t^Fw[Fw[Fw[i^t]]],Yw^=Fw[Fw[Yw]]):(Yw=1,xw=Yw)}const Hw=[0,1,2,4,8,16,32,64,128,27,54];class Nw extends pJ{_doReset(){let e;if(this._nRounds&&this._keyPriorReset===this._key)return;this._keyPriorReset=this._key;const t=this._keyPriorReset,n=t.words,i=t.sigBytes/4;this._nRounds=i+6;const o=4*(this._nRounds+1);this._keySchedule=[];const r=this._keySchedule;for(let t=0;t<o;t+=1)t<i?r[t]=n[t]:(e=r[t-1],t%i?i>6&&t%i===4&&(e=vw[e>>>24]<<24|vw[e>>>16&255]<<16|vw[e>>>8&255]<<8|vw[255&e]):(e=e<<8|e>>>24,e=vw[e>>>24]<<24|vw[e>>>16&255]<<16|vw[e>>>8&255]<<8|vw[255&e],e^=Hw[t/i|0]<<24),r[t]=r[t-i]^e);this._invKeySchedule=[];const s=this._invKeySchedule;for(let t=0;t<o;t+=1){const n=o-t;e=t%4?r[n]:r[n-4],s[t]=t<4||n<=4?e:Rw[vw[e>>>24]]^Ww[vw[e>>>16&255]]^Jw[vw[e>>>8&255]]^ww[vw[255&e]]}}encryptBlock(e,t){this._doCryptBlock(e,t,this._keySchedule,Bw,Sw,Xw,Ew,vw)}decryptBlock(e,t){const n=e;let i=n[t+1];n[t+1]=n[t+3],n[t+3]=i,this._doCryptBlock(n,t,this._invKeySchedule,Rw,Ww,Jw,ww,Vw),i=n[t+1],n[t+1]=n[t+3],n[t+3]=i}_doCryptBlock(e,t,n,i,o,r,s,c){const a=e,l=this._nRounds;let u=a[t]^n[0],d=a[t+1]^n[1],h=a[t+2]^n[2],g=a[t+3]^n[3],m=4;for(let e=1;e<l;e+=1){const e=i[u>>>24]^o[d>>>16&255]^r[h>>>8&255]^s[255&g]^n[m];m+=1;const t=i[d>>>24]^o[h>>>16&255]^r[g>>>8&255]^s[255&u]^n[m];m+=1;const c=i[h>>>24]^o[g>>>16&255]^r[u>>>8&255]^s[255&d]^n[m];m+=1;const a=i[g>>>24]^o[u>>>16&255]^r[d>>>8&255]^s[255&h]^n[m];m+=1,u=e,d=t,h=c,g=a}const b=(c[u>>>24]<<24|c[d>>>16&255]<<16|c[h>>>8&255]<<8|c[255&g])^n[m];m+=1;const p=(c[d>>>24]<<24|c[h>>>16&255]<<16|c[g>>>8&255]<<8|c[255&u])^n[m];m+=1;const f=(c[h>>>24]<<24|c[g>>>16&255]<<16|c[u>>>8&255]<<8|c[255&d])^n[m];m+=1;const y=(c[g>>>24]<<24|c[u>>>16&255]<<16|c[d>>>8&255]<<8|c[255&h])^n[m];m+=1,a[t]=b,a[t+1]=p,a[t+2]=f,a[t+3]=y}}Nw.keySize=8;const kw=pJ._createHelper(Nw),_w=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],Mw=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],zw=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],Kw=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],Uw=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679];function Lw(e,t){const n=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=n,this._lBlock^=n<<e}function Dw(e,t){const n=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=n,this._rBlock^=n<<e}class Tw extends pJ{constructor(e,t,n){super(e,t,n),this.blockSize=2}_doReset(){const e=this._key.words,t=[];for(let n=0;n<56;n+=1){const i=_w[n]-1;t[n]=e[i>>>5]>>>31-i%32&1}this._subKeys=[];const n=this._subKeys;for(let e=0;e<16;e+=1){n[e]=[];const i=n[e],o=zw[e];for(let e=0;e<24;e+=1)i[e/6|0]|=t[(Mw[e]-1+o)%28]<<31-e%6,i[4+(e/6|0)]|=t[28+(Mw[e+24]-1+o)%28]<<31-e%6;i[0]=i[0]<<1|i[0]>>>31;for(let e=1;e<7;e+=1)i[e]>>>=4*(e-1)+3;i[7]=i[7]<<5|i[7]>>>27}this._invSubKeys=[];const i=this._invSubKeys;for(let e=0;e<16;e+=1)i[e]=n[15-e]}encryptBlock(e,t){this._doCryptBlock(e,t,this._subKeys)}decryptBlock(e,t){this._doCryptBlock(e,t,this._invSubKeys)}_doCryptBlock(e,t,n){const i=e;this._lBlock=e[t],this._rBlock=e[t+1],Lw.call(this,4,252645135),Lw.call(this,16,65535),Dw.call(this,2,858993459),Dw.call(this,8,16711935),Lw.call(this,1,1431655765);for(let e=0;e<16;e+=1){const t=n[e],i=this._lBlock,o=this._rBlock;let r=0;for(let e=0;e<8;e+=1)r|=Kw[e][((o^t[e])&Uw[e])>>>0];this._lBlock=o,this._rBlock=i^r}const o=this._lBlock;this._lBlock=this._rBlock,this._rBlock=o,Lw.call(this,1,1431655765),Dw.call(this,8,16711935),Dw.call(this,2,858993459),Lw.call(this,16,65535),Lw.call(this,4,252645135),i[t]=this._lBlock,i[t+1]=this._rBlock}}Tw.keySize=2,Tw.ivSize=2;const Qw=pJ._createHelper(Tw);class Ow extends pJ{_doReset(){const e=this._key.words;if(2!==e.length&&4!==e.length&&e.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");const t=e.slice(0,2),n=e.length<4?e.slice(0,2):e.slice(2,4),i=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=Tw.createEncryptor(KW.create(t)),this._des2=Tw.createEncryptor(KW.create(n)),this._des3=Tw.createEncryptor(KW.create(i))}encryptBlock(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)}decryptBlock(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)}}Ow.keySize=6,Ow.ivSize=2;const Pw=pJ._createHelper(Ow),jw=[],qw=[],$w=[];function eF(){const e=this._X,t=this._C;for(let e=0;e<8;e+=1)qw[e]=t[e];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<qw[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<qw[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<qw[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<qw[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<qw[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<qw[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<qw[6]>>>0?1:0)|0,this._b=t[7]>>>0<qw[7]>>>0?1:0;for(let n=0;n<8;n+=1){const i=e[n]+t[n],o=65535&i,r=i>>>16,s=((o*o>>>17)+o*r>>>15)+r*r,c=((4294901760&i)*i|0)+((65535&i)*i|0);$w[n]=s^c}e[0]=$w[0]+($w[7]<<16|$w[7]>>>16)+($w[6]<<16|$w[6]>>>16)|0,e[1]=$w[1]+($w[0]<<8|$w[0]>>>24)+$w[7]|0,e[2]=$w[2]+($w[1]<<16|$w[1]>>>16)+($w[0]<<16|$w[0]>>>16)|0,e[3]=$w[3]+($w[2]<<8|$w[2]>>>24)+$w[1]|0,e[4]=$w[4]+($w[3]<<16|$w[3]>>>16)+($w[2]<<16|$w[2]>>>16)|0,e[5]=$w[5]+($w[4]<<8|$w[4]>>>24)+$w[3]|0,e[6]=$w[6]+($w[5]<<16|$w[5]>>>16)+($w[4]<<16|$w[4]>>>16)|0,e[7]=$w[7]+($w[6]<<8|$w[6]>>>24)+$w[5]|0}class tF extends dJ{constructor(...e){super(...e),this.blockSize=4,this.ivSize=2}_doReset(){const e=this._key.words,{iv:t}=this.cfg;for(let t=0;t<4;t+=1)e[t]=16711935&(e[t]<<8|e[t]>>>24)|4278255360&(e[t]<<24|e[t]>>>8);this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16];const n=this._X;this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];const i=this._C;this._b=0;for(let e=0;e<4;e+=1)eF.call(this);for(let e=0;e<8;e+=1)i[e]^=n[e+4&7];if(t){const e=t.words,n=e[0],o=e[1],r=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),s=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),c=r>>>16|4294901760&s,a=s<<16|65535&r;i[0]^=r,i[1]^=c,i[2]^=s,i[3]^=a,i[4]^=r,i[5]^=c,i[6]^=s,i[7]^=a;for(let e=0;e<4;e+=1)eF.call(this)}}_doProcessBlock(e,t){const n=e,i=this._X;eF.call(this),jw[0]=i[0]^i[5]>>>16^i[3]<<16,jw[1]=i[2]^i[7]>>>16^i[5]<<16,jw[2]=i[4]^i[1]>>>16^i[7]<<16,jw[3]=i[6]^i[3]>>>16^i[1]<<16;for(let e=0;e<4;e+=1)jw[e]=16711935&(jw[e]<<8|jw[e]>>>24)|4278255360&(jw[e]<<24|jw[e]>>>8),n[t+e]^=jw[e]}}const nF=dJ._createHelper(tF),iF=[],oF=[],rF=[];function sF(){const e=this._X,t=this._C;for(let e=0;e<8;e+=1)oF[e]=t[e];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<oF[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<oF[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<oF[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<oF[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<oF[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<oF[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<oF[6]>>>0?1:0)|0,this._b=t[7]>>>0<oF[7]>>>0?1:0;for(let n=0;n<8;n+=1){const i=e[n]+t[n],o=65535&i,r=i>>>16,s=((o*o>>>17)+o*r>>>15)+r*r,c=((4294901760&i)*i|0)+((65535&i)*i|0);rF[n]=s^c}e[0]=rF[0]+(rF[7]<<16|rF[7]>>>16)+(rF[6]<<16|rF[6]>>>16)|0,e[1]=rF[1]+(rF[0]<<8|rF[0]>>>24)+rF[7]|0,e[2]=rF[2]+(rF[1]<<16|rF[1]>>>16)+(rF[0]<<16|rF[0]>>>16)|0,e[3]=rF[3]+(rF[2]<<8|rF[2]>>>24)+rF[1]|0,e[4]=rF[4]+(rF[3]<<16|rF[3]>>>16)+(rF[2]<<16|rF[2]>>>16)|0,e[5]=rF[5]+(rF[4]<<8|rF[4]>>>24)+rF[3]|0,e[6]=rF[6]+(rF[5]<<16|rF[5]>>>16)+(rF[4]<<16|rF[4]>>>16)|0,e[7]=rF[7]+(rF[6]<<8|rF[6]>>>24)+rF[5]|0}class cF extends dJ{constructor(...e){super(...e),this.blockSize=4,this.ivSize=2}_doReset(){const e=this._key.words,{iv:t}=this.cfg;this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16];const n=this._X;this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];const i=this._C;this._b=0;for(let e=0;e<4;e+=1)sF.call(this);for(let e=0;e<8;e+=1)i[e]^=n[e+4&7];if(t){const e=t.words,n=e[0],o=e[1],r=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),s=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),c=r>>>16|4294901760&s,a=s<<16|65535&r;i[0]^=r,i[1]^=c,i[2]^=s,i[3]^=a,i[4]^=r,i[5]^=c,i[6]^=s,i[7]^=a;for(let e=0;e<4;e+=1)sF.call(this)}}_doProcessBlock(e,t){const n=e,i=this._X;sF.call(this),iF[0]=i[0]^i[5]>>>16^i[3]<<16,iF[1]=i[2]^i[7]>>>16^i[5]<<16,iF[2]=i[4]^i[1]>>>16^i[7]<<16,iF[3]=i[6]^i[3]>>>16^i[1]<<16;for(let e=0;e<4;e+=1)iF[e]=16711935&(iF[e]<<8|iF[e]>>>24)|4278255360&(iF[e]<<24|iF[e]>>>8),n[t+e]^=iF[e]}}const aF=dJ._createHelper(cF);function lF(){const e=this._S;let t=this._i,n=this._j,i=0;for(let o=0;o<4;o+=1){t=(t+1)%256,n=(n+e[t])%256;const r=e[t];e[t]=e[n],e[n]=r,i|=e[(e[t]+e[n])%256]<<24-8*o}return this._i=t,this._j=n,i}class uF extends dJ{_doReset(){const e=this._key,t=e.words,n=e.sigBytes;this._S=[];const i=this._S;for(let e=0;e<256;e+=1)i[e]=e;for(let e=0,o=0;e<256;e+=1){const r=e%n,s=t[r>>>2]>>>24-r%4*8&255;o=(o+i[e]+s)%256;const c=i[e];i[e]=i[o],i[o]=c}this._j=0,this._i=this._j}_doProcessBlock(e,t){e[t]^=lF.call(this)}}uF.keySize=8,uF.ivSize=0;const dF=dJ._createHelper(uF);class hF extends uF{constructor(...e){super(...e),Object.assign(this.cfg,{drop:192})}_doReset(){super._doReset.call(this);for(let e=this.cfg.drop;e>0;e-=1)lF.call(this)}}const gF=dJ._createHelper(hF),mF=16,bF=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],pF=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]],fF={pbox:[],sbox:[]};function yF(e,t){const n=t>>24&255,i=t>>16&255,o=t>>8&255,r=255&t;let s=e.sbox[0][n]+e.sbox[1][i];return s^=e.sbox[2][o],s+=e.sbox[3][r],s}function IF(e,t,n){let i,o=t,r=n;for(let t=0;t<mF;++t)o^=e.pbox[t],r=yF(e,o)^r,i=o,o=r,r=i;return i=o,o=r,r=i,r^=e.pbox[mF],o^=e.pbox[17],{left:o,right:r}}class AF extends pJ{constructor(e,t,n){super(e,t,n),this.blockSize=2}_doReset(){if(this._keyPriorReset===this._key)return;const e=this._keyPriorReset=this._key,t=e.words,n=e.sigBytes/4;!function(e,t,n){for(let t=0;t<4;t++){e.sbox[t]=[];for(let n=0;n<256;n++)e.sbox[t][n]=pF[t][n]}let i=0;for(let o=0;o<18;o++)e.pbox[o]=bF[o]^t[i],i++,i>=n&&(i=0);let o=0,r=0,s=0;for(let t=0;t<18;t+=2)s=IF(e,o,r),o=s.left,r=s.right,e.pbox[t]=o,e.pbox[t+1]=r;for(let t=0;t<4;t++)for(let n=0;n<256;n+=2)s=IF(e,o,r),o=s.left,r=s.right,e.sbox[t][n]=o,e.sbox[t][n+1]=r}(fF,t,n)}encryptBlock(e,t){const n=IF(fF,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right}decryptBlock(e,t){const n=function(e,t,n){let i,o=t,r=n;for(let t=17;t>1;--t)o^=e.pbox[t],r=yF(e,o)^r,i=o,o=r,r=i;return i=o,o=r,r=i,r^=e.pbox[1],o^=e.pbox[0],{left:o,right:r}}(fF,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right}}AF.keySize=4,AF.ivSize=2;const GF=pJ._createHelper(AF);function CF(e,t,n,i){const o=e;let r;const s=this._iv;s?(r=s.slice(0),this._iv=void 0):r=this._prevBlock,i.encryptBlock(r,0);for(let e=0;e<n;e+=1)o[t+e]^=r[e]}class ZF extends hJ{}ZF.Encryptor=class extends ZF{processBlock(e,t){const n=this._cipher,{blockSize:i}=n;CF.call(this,e,t,i,n),this._prevBlock=e.slice(t,t+i)}},ZF.Decryptor=class extends ZF{processBlock(e,t){const n=this._cipher,{blockSize:i}=n,o=e.slice(t,t+i);CF.call(this,e,t,i,n),this._prevBlock=o}};class vF extends hJ{}vF.Encryptor=class extends vF{processBlock(e,t){const n=e,i=this._cipher,{blockSize:o}=i,r=this._iv;let s=this._counter;r&&(this._counter=r.slice(0),s=this._counter,this._iv=void 0);const c=s.slice(0);i.encryptBlock(c,0),s[o-1]=s[o-1]+1|0;for(let e=0;e<o;e+=1)n[t+e]^=c[e]}},vF.Decryptor=vF.Encryptor;const VF=e=>{let t=e;if(255&~(e>>24))t+=1<<24;else{let n=e>>16&255,i=e>>8&255,o=255&e;255===n?(n=0,255===i?(i=0,255===o?o=0:o+=1):i+=1):n+=1,t=0,t+=n<<16,t+=i<<8,t+=o}return t};
|
|
2
|
-
/** @preserve
|
|
3
|
-
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
|
4
|
-
* derived from CryptoJS.mode.CTR
|
|
5
|
-
* Jan Hruby jhruby.web@gmail.com
|
|
6
|
-
*/
|
|
7
|
-
class BF extends hJ{}BF.Encryptor=class extends BF{processBlock(e,t){const n=e,i=this._cipher,{blockSize:o}=i,r=this._iv;let s=this._counter;r&&(this._counter=r.slice(0),s=this._counter,this._iv=void 0),(e=>{const t=e;t[0]=VF(t[0]),0===t[0]&&(t[1]=VF(t[1]))})(s);const c=s.slice(0);i.encryptBlock(c,0);for(let e=0;e<o;e+=1)n[t+e]^=c[e]}},BF.Decryptor=BF.Encryptor;class SF extends hJ{}SF.Encryptor=class extends SF{processBlock(e,t){this._cipher.encryptBlock(e,t)}},SF.Decryptor=class extends SF{processBlock(e,t){this._cipher.decryptBlock(e,t)}};class XF extends hJ{}XF.Encryptor=class extends XF{processBlock(e,t){const n=e,i=this._cipher,{blockSize:o}=i,r=this._iv;let s=this._keystream;r&&(this._keystream=r.slice(0),s=this._keystream,this._iv=void 0),i.encryptBlock(s,0);for(let e=0;e<o;e+=1)n[t+e]^=s[e]}},XF.Decryptor=XF.Encryptor;const EF={pad(e,t){const n=e,i=n.sigBytes,o=4*t,r=o-i%o,s=i+r-1;n.clamp(),n.words[s>>>2]|=r<<24-s%4*8,n.sigBytes+=r},unpad(e){const t=e,n=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=n}},RF={pad(e,t){const n=4*t,i=n-e.sigBytes%n;e.concat(KW.random(i-1)).concat(KW.create([i<<24],1))},unpad(e){const t=e,n=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=n}},WF={pad(e,t){const n=e,i=4*t;n.clamp(),n.sigBytes+=i-(e.sigBytes%i||i)},unpad(e){const t=e,n=t.words;for(let e=t.sigBytes-1;e>=0;e-=1)if(n[e>>>2]>>>24-e%4*8&255){t.sigBytes=e+1;break}}},JF={pad(e,t){e.concat(KW.create([2147483648],1)),WF.pad(e,t)},unpad(e){const t=e;WF.unpad(t),t.sigBytes-=1}},wF={pad(){},unpad(){}},FF={stringify:e=>e.ciphertext.toString(UW),parse(e){const t=UW.parse(e);return fJ.create({ciphertext:t})}};var xF={lib:{Base:zW,WordArray:KW,BufferedBlockAlgorithm:TW,Hasher:QW,Cipher:uJ,StreamCipher:dJ,BlockCipherMode:hJ,BlockCipher:pJ,CipherParams:fJ,SerializableCipher:IJ,PasswordBasedCipher:GJ},x64:{Word:jW,WordArray:qW},enc:{Hex:UW,Latin1:LW,Utf8:DW,Utf16:vJ,Utf16BE:ZJ,Utf16LE:VJ,Base64:eJ,Base64url:BJ},algo:{HMAC:OW,MD5:sJ,SHA1:XJ,SHA224:MJ,SHA256:NJ,SHA384:OJ,SHA512:DJ,SHA3:rw,RIPEMD160:Aw,PBKDF2:Zw,EvpKDF:lJ,AES:Nw,DES:Tw,TripleDES:Ow,Rabbit:tF,RabbitLegacy:cF,RC4:uF,RC4Drop:hF,Blowfish:AF},mode:{CBC:mJ,CFB:ZF,CTR:vF,CTRGladman:BF,ECB:SF,OFB:XF},pad:{Pkcs7:bJ,AnsiX923:EF,Iso10126:RF,Iso97971:JF,NoPadding:wF,ZeroPadding:WF},format:{OpenSSL:yJ,Hex:FF},kdf:{OpenSSL:AJ},MD5:cJ,HmacMD5:aJ,SHA1:EJ,HmacSHA1:RJ,SHA224:zJ,HmacSHA224:KJ,SHA256:kJ,HmacSHA256:_J,SHA384:PJ,HmacSHA384:jJ,SHA512:TJ,HmacSHA512:QJ,SHA3:sw,HmacSHA3:cw,RIPEMD160:Gw,HmacRIPEMD160:Cw,PBKDF2:(e,t,n)=>Zw.create(n).compute(e,t),EvpKDF:(e,t,n)=>lJ.create(n).compute(e,t),AES:kw,DES:Qw,TripleDES:Pw,Rabbit:nF,RabbitLegacy:aF,RC4:dF,RC4Drop:gF,Blowfish:GF};let YF=null;const HF={stringify:e=>{const t={ct:e.ciphertext.toString(xF.enc.Base64)};return e.iv&&(t.iv=e.iv.toString()),e.salt&&(t.s=e.salt.toString()),rb(t)},parse:e=>{const t=JSON.parse(e),n=xF.lib.CipherParams.create({ciphertext:xF.enc.Base64.parse(t.ct)});return t.iv&&(n.iv=xF.enc.Hex.parse(t.iv)),t.s&&(n.salt=xF.enc.Hex.parse(t.s)),n}};var NF=Object.freeze({__proto__:null,JsonFormatter:HF,aesDecrypt:(e,t,n)=>xF.AES.decrypt(e,t,{iv:YF,format:HF}).toString(xF.enc.Utf8),aesEncrypt:(e,t,n)=>xF.AES.encrypt(e,t,{iv:YF,format:HF}).toString(),initCrypto:(e,t)=>{YF=xF.enc.Hex.parse(t)},md5:e=>xF.MD5(e).toString()});class kF extends Pp{encryptUtil=(()=>NF)()}class _F extends Pp{_key=null;_iv=null;_id="";init(e,t){this.cat.util.encryptUtil.initCrypto(e,t),this._key=this.cat.util.encryptUtil.md5(e),this._iv=this.cat.util.encryptUtil.md5(t)}setUser(e){this._id=e}set(e,t){if(null!=(e=`${e}_${this._id}`)){if(x||(e=this.cat.util.encryptUtil.md5(e)),null==t)return console.warn("存储的值为空,则直接移除该存储"),void this.remove(e);if("function"!=typeof t){if("object"==typeof t)try{t=rb(t)}catch(e){return void console.error(`解析失败,str = ${t}`)}else"number"==typeof t&&(t+="");x||null==this._key||null==this._iv||(t=this.cat.util.encryptUtil.aesEncrypt(`${t}`,this._key,this._iv)),R.localStorage.setItem(e,t)}else console.error("储存的值不能为方法")}else console.error("存储的key不能为空")}get(e,t){if(null==e)return console.error("存储的key不能为空"),null;e=`${e}_${this._id}`,x||(e=this.cat.util.encryptUtil.md5(e));let n=R.localStorage.getItem(e);return null==n||""===n||x||null==this._key||null==this._iv||(n=this.cat.util.encryptUtil.aesDecrypt(n,this._key,this._iv)),null===n?t:n}getNumber(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;var n=this.get(e);return Number(n)||t}getBoolean(e){var t=this.get(e);return Boolean(t)||!1}getJson(e,t){var n=this.get(e);return n&&JSON.parse(n)||t}remove(e){null!=e?(e=`${e}_${this._id}`,x||(e=this.cat.util.encryptUtil.md5(e)),R.localStorage.removeItem(e)):console.error("存储的key不能为空")}clear(){R.localStorage.clear()}}class MF{static#n=null;#i=!1;static get instance(){return this.#n??(this.#n=new MF)}onAppInitDelegate=(()=>new V)();onPlugInInitDelegate=(()=>new V)();#o=null;get audio(){return this.#o}#r=null;get event(){return this.#r}#s=null;get gui(){return this.#s}#c=null;get storage(){return this.#c}#a=null;get res(){return this.#a}#l=null;get util(){return this.#l}#u=null;get socialGameClient(){return this.#u}#d=null;get store(){return this.#d}#h="";get gui_bundle_name(){return this.#h}#g="";get audio_local_store_key(){return this.#g}#m="";get default_audio_effect(){return this.#m}setConfig=(()=>{var e=this;return function(){let{default_audio_effect:t="",gui_bundleName:n="resources",audio_local_store_key:i="game_audio"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e.#i)throw new Error("[CAT] 已初始化,无法修改配置");return e.#h=n,e.#g=i,e.#m=t,e}})();async boot(){if(this.#i)throw new Error("[CAT] 已初始化");try{this.#d=new kW(this),this.#a=new HW,this.#l=new kF(this),this.#c=new _F(this),this.#r=new fg,this.#o=new qp(this),this.#u=new YW(this),this.#s=(await new Pv(this).init()).gui,this.#i=!0}catch(e){throw console.error("[CAT] 初始化失败:",e),e}}merge(e,t){if(!this.#i)throw new Error("[CAT] 未初始化");if("string"!=typeof e)throw new Error("merge方法第一个参数应该为string类型");return xi(this,e)||Ui(this,e,t),Yo(xi(this,e),t),this}appendPlugInInitDelegate(e){return this.#i?bg.resolve().then(e).catch((e=>{console.error("[CAT] appendPlugInInitDelegate 回调执行失败:",e)})):this.onPlugInInitDelegate.add(e),this}}const{ccclass:zF,property:KF,menu:UF}=t;let LF=class extends cv{default_title=null;title;prompt_content_str;prompt_content_spriteFrame;btn_confirm;confirm_spriteFrame;btn_cancel;cancel_spriteFrame;btn_close;isConfirm=!1;props={title:this.default_title,content:null,confirmCB:()=>{},cancelCB:()=>{},style:null};onLoad(){this.btn_cancel.node.on(C.EventType.CLICK,this.onCancelHandler,this),this.btn_confirm.node.on(C.EventType.CLICK,this.onConfirmHandler,this),this.btn_close.node.on(C.EventType.CLICK,this.onCloseHandler,this),this.addAutorun([()=>{this.title.spriteFrame=this.props?.title||this.default_title},()=>{this.props.content&&(this.props.content instanceof W?this.prompt_content_spriteFrame.spriteFrame=this.props.content:"string"==typeof this.props.content?this.prompt_content_str.string=this.props.content:console.error("未知类型的【UIModal】内容"))},()=>{null===this.props?.style?.confirm?this.btn_confirm.node.active=!1:(this.btn_confirm.node.active=!0,this.btn_confirm.getComponent(J).spriteFrame=this.props.style?.confirm||this.confirm_spriteFrame),null===this.props?.style?.cancel?this.btn_cancel.node.active=!1:(this.btn_cancel.node.active=!0,this.btn_cancel.getComponent(J).spriteFrame=this.props.style?.cancel||this.cancel_spriteFrame)}])}close(){this.props.cancelCB?.(),this.cat.gui.closeUI(this)}onCancelHandler(){this.close()}onConfirmHandler(){this.props.confirmCB?.()}onDestroy(){this.isConfirm&&this.props.onDestroy?.()}onCloseHandler(){this.close()}};vf([KF({type:W,tooltip:"默认标题"}),Vf("design:type",W)],LF.prototype,"default_title",void 0),vf([KF({type:J,tooltip:"标题节点"}),Vf("design:type",J)],LF.prototype,"title",void 0),vf([KF({type:y,tooltip:"字符串内容按钮"}),Vf("design:type",y)],LF.prototype,"prompt_content_str",void 0),vf([KF({type:J,tooltip:"图片精灵内容按钮"}),Vf("design:type",J)],LF.prototype,"prompt_content_spriteFrame",void 0),vf([KF({type:C,tooltip:"确认按钮"}),Vf("design:type",C)],LF.prototype,"btn_confirm",void 0),vf([KF({type:W,tooltip:"确认按钮精灵图"}),Vf("design:type",W)],LF.prototype,"confirm_spriteFrame",void 0),vf([KF({type:C,tooltip:"取消按钮"}),Vf("design:type",C)],LF.prototype,"btn_cancel",void 0),vf([KF({type:W,tooltip:"取消按钮精灵图"}),Vf("design:type",W)],LF.prototype,"cancel_spriteFrame",void 0),vf([KF({type:C,tooltip:"关闭按钮"}),Vf("design:type",C)],LF.prototype,"btn_close",void 0),LF=vf([zF("CoreUIModal"),UF("CATCORE/CoreUIModal")],LF);var DF=hi,TF=Date,QF=j(TF.prototype.getTime);DF({target:"Date",stat:!0},{now:function(){return QF(new TF)}});var OF,PF=H(we.Date.now),jF=H(we.setInterval),qF=Gg("Array","values"),$F=ns,ex=Ft,tx=ke,nx=qF,ix=Array.prototype,ox={DOMTokenList:!0,NodeList:!0},rx=function(e){var t=e.values;return e===ix||tx(ix,e)&&t===ix.values||ex(ox,$F(e))?nx:t},sx=H(rx),cx=Gg("Array","entries"),ax=ns,lx=Ft,ux=ke,dx=cx,hx=Array.prototype,gx={DOMTokenList:!0,NodeList:!0},mx=function(e){var t=e.entries;return e===hx||ux(hx,e)&&t===hx.entries||lx(gx,ax(e))?dx:t},bx=H(mx);!function(e){e[e.Delay=0]="Delay",e[e.Interval=1]="Interval"}(OF||(OF={}));class px{tag;type;callback;remainingTime;executionTime=0;initialTime;constructor(e,t,n,i){this.tag=e,this.type=t,this.remainingTime=n,this.initialTime=n,this.callback=i}}class fx extends Pp{timers=(()=>new zp)();lastUpdateTime=(()=>PF())();constructor(e){var t;super(e),e.event.on(Av.EVENT_HIDE,this.onHandleAppBackground,this),e.event.on(Av.EVENT_SHOW,this.onHandleAppForeground,this),jF(Uf(t=this.update).call(t,this),1e3)}onHandleAppBackground(){this.lastUpdateTime=PF()}onHandleAppForeground(){const e=PF(),t=e-this.lastUpdateTime;s("elapsedTime",t);for(const e of sx(n=this.timers).call(n)){var n;e.remainingTime>0&&(e.remainingTime-=t,e.executionTime+=t)}this.lastUpdateTime=e}registerInterval(e,t,n){if(this.has(e))return i(`${e}定时器已存在,请勿重复注册`);const o=new px(e,OF.Interval,t,n);this.timers.set(e,o)}registerDelay(e,t,n){if(this.has(e))return i(`${e}延时器已存在,请勿重复注册`);const o=new px(e,OF.Delay,t,n);this.timers.set(e,o)}unregister(e){this.has(e)&&this.timers.delete(e)}has(e){return this.timers.has(e)}update(){const e=[];for(const[n,i]of bx(t=this.timers).call(t)){var t;i.remainingTime-=1e3,i.remainingTime<=0&&(i.type===OF.Interval&&(i.executionTime+=i.initialTime),i.callback(i.executionTime),i.type===OF.Interval?i.remainingTime=i.initialTime:e.push(n))}for(const t of e)this.timers.delete(t)}}const yx=(e,t)=>(n,i,o)=>{let r=o.value;return o.value=function(){const n=e??mi._cat.default_audio_effect;n?mi._cat.audio.playEffect(n):console.warn("请添加音效路径参数"),t&&t();for(var i=arguments.length,o=new Array(i),s=0;s<i;s++)o[s]=arguments[s];r.apply(this,o)},o},Ix=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1?arguments[1]:void 0;return function(n,i,o){let r=o.value,s=!1;return o.value=function(){if(s)t&&t();else{s=!0,gV((()=>{s=!1}),1e3*e);for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];r.apply(this,i)}},o}},Ax=mi._cat??=MF.instance;f.onPostProjectInitDelegate.add((async()=>{console.time("[Init App]");try{await Ax.boot(),await Ax.onAppInitDelegate.dispatch(),await Ax.onPlugInInitDelegate.dispatch()}catch(e){throw i(`[Init App] 初始化失败: ${e instanceof Error?e.message:String(e)}`),e}finally{console.timeEnd("[Init App]")}}));export{yx as AudioEffect,jp as AudioEventConstant,qp as AudioManager,dv as AudioSourceBaseComponent,mv as AudioSourceUILayer,uv as AudioTypeEnum,rv as BaseComponent,Pp as BaseManager,Ov as BasePrefab,NW as BaseStore,Ix as ButtonLock,vv as CoreBlackMask,zv as CoreNotice,Nv as CoreReconnection,wv as CoreShowLoading,kW as CoreStore,Iv as CoreToast,Xv as CoreUIContainer,LF as CoreUIModal,kF as CoreUtil,Av as GlobalEventConstant,Qv as Gui,Pv as GuiManager,Tv as LayerType,Fv as ReconnectPrompt,Ev as RootUILayer,Kv as SceneLayer,fx as TimerManager,yv as ToastType,cv as UILayer,xW as WrapperSocialGameClient,Ax as cat};
|
|
1
|
+
import t from"@babel/runtime-corejs3/core-js/global-this";import{AudioSource as e,_decorator as i,AudioClip as s,error as o,Node as n,director as r,log as a,Component as l,Prefab as c,instantiate as h,isValid as p,Layers as u,view as d,Widget as m,v3 as _,tween as f,Enum as g,game as y,Label as v,UIOpacity as b,Tween as E,BlockInputEvents as C,Button as w,Director as S,warn as T,AsyncDelegate as A,Game as I,assetManager as k,Asset as O,resources as N,sys as D,SpriteFrame as R,Sprite as M}from"cc";import F from"@babel/runtime-corejs3/core-js-stable/reflect/get";import x from"@babel/runtime-corejs3/core-js-stable/reflect/set";import U from"@babel/runtime-corejs3/core-js-stable/object/assign";import P from"@babel/runtime-corejs3/core-js-stable/promise";import L from"eventemitter3";import B from"@babel/runtime-corejs3/core-js-stable/instance/includes";import H from"@babel/runtime-corejs3/core-js-stable/json/stringify";import G from"@babel/runtime-corejs3/core-js-stable/map";import j from"@babel/runtime-corejs3/core-js-stable/instance/for-each";import $ from"@babel/runtime-corejs3/core-js-stable/instance/filter";import K from"@babel/runtime-corejs3/core-js-stable/array/is-array";import V from"@babel/runtime-corejs3/core-js-stable/instance/bind";import{makeObservable as W,observable as z,autorun as Q,reaction as J}from"@shimotsuki/mobx";import X from"@babel/runtime-corejs3/core-js-stable/set-timeout";import q from"@babel/runtime-corejs3/core-js-stable/instance/map";import Z from"@babel/runtime-corejs3/core-js-stable/array/from";import Y from"@babel/runtime-corejs3/core-js-stable/instance/every";import{SocketConnectStatus as tt}from"pitayaclient";import{DEBUG as et,WECHAT as it,PREVIEW as st}from"cc/env";import{clone as ot}from"@bufbuild/protobuf";import{SocialGameClient as nt}from"sgc";import rt from"crypto-es";import at from"@babel/runtime-corejs3/core-js-stable/date/now";import lt from"@babel/runtime-corejs3/core-js-stable/set-interval";import ct from"@babel/runtime-corejs3/core-js-stable/instance/values";import ht from"@babel/runtime-corejs3/core-js-stable/instance/entries";class pt extends e{cat;initAudio(t){return this.cat=t,this}}const{ccclass:ut,menu:dt}=i;let mt=class extends pt{effects=(()=>new G)();load(t){return new P(((e,i)=>{this.cat.res.load(t,s,((s,o)=>{if(s)return i(s);this.effects.set(t,o),this.playOneShot(o,this.volume),e(o)}))}))}release(){for(let t in this.effects)this.cat.res.release(t);this.effects.clear()}};const{ccclass:_t,menu:ft}=i;class gt extends pt{onComplete=null;_progress=0;_url=null;_isPlay=!1;get progress(){return this.duration>0&&(this._progress=this.currentTime/this.duration),this._progress}set progress(t){this._progress=t,this.currentTime=t*this.duration}load(t,e){this.cat.res.load(t,s,((i,s)=>{i&&o(i),this.playing&&(this._isPlay=!1,this.stop(),this.cat.res.release(this._url)),this.playOnAwake=!1,this.enabled=!0,this.clip=s,this._url=t,e&&e()}))}update(t){this.currentTime>0&&(this._isPlay=!0),this._isPlay&&0==this.playing&&(this._isPlay=!1,this.enabled=!1,this.onComplete&&this.onComplete())}release(){this._url&&(this.cat.res.release(this._url),this._url=null)}}class yt{cat;constructor(t){this.cat=t}}var vt;!function(t){t.MUSIC_ON="AudioEventConstant/MUSIC_ON",t.MUSIC_OFF="AudioEventConstant/MUSIC_OFF",t.EFFECT_ON="AudioEventConstant/EFFECT_ON",t.EFFECT_OFF="AudioEventConstant/EFFECT_OFF",t.PAUSE_AUDIO="AudioEventConstant/PAUSE_AUDIO",t.RESUME_AUDIO="AudioEventConstant/RESUME_AUDIO"}(vt||(vt={}));class bt extends yt{local_data={};music;effect;_volume_music=1;_volume_effect=1;_switch_music=!0;_switch_effect=!0;local_store_key="game_audio";extra={};constructor(t){super(t),this.local_store_key=this.cat.audio_local_store_key;var e=new n("UIAudioManager");r.addPersistRootNode(e);var i=new n("UIMusic");i.parent=e,this.music=i.addComponent(gt).initAudio(t);var s=new n("UIEffect");s.parent=e,this.effect=s.addComponent(mt).initAudio(t),this.load()}setMusicComplete(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.music.onComplete=t}playMusic(t,e){this.music.loop=!0,t&&this.music.load(t,(()=>{this._switch_music&&this.music?.play(),e&&e()}))}stopMusic(){0!=this.music.state&&this.music?.stop()}pauseMusic(){1==this.music.state&&this.music?.pause()}resumeMusic(){var t;B(t=[0,2]).call(t,this.music.state)&&this.music?.play()}get progressMusic(){return this.music.progress}set progressMusic(t){this.music.progress=t}get volumeMusic(){return this._volume_music}set volumeMusic(t){this._volume_music=t,this.music.volume=t}get switchMusic(){return this._switch_music}set switchMusic(t){if(a("设置背景音乐开关值",t,this._switch_music),t==this._switch_music)return;this._switch_music=t,t?this.resumeMusic():this.pauseMusic();const e=t?vt.MUSIC_ON:vt.MUSIC_OFF;this.cat.event.emit(e),this.save()}async playEffect(t){this._switch_effect&&t&&await this.effect.load(t).then((()=>{this.effect.play()}))}stopEffect(){this.effect?.stop()}get volumeEffect(){return this._volume_effect}set volumeEffect(t){this._volume_effect=t,this.effect.volume=t}get switchEffect(){return this._switch_effect}set switchEffect(t){if(t==this._switch_effect)return;this._switch_effect=t,t?this.effect?.play():this.effect?.stop();const e=t?vt.EFFECT_ON:vt.EFFECT_OFF;this.cat.event.emit(e),this.save()}resumeAll(){this.switchMusic&&this.music?.play(),this.switchEffect&&this.effect?.play()}pauseAll(){this.music?.pause(),this.effect?.pause()}stopAll(){this.music?.stop(),this.effect?.stop()}save(){this.local_data.volume_music=this._volume_music,this.local_data.volume_effect=this._volume_effect,this.local_data.switch_music=this._switch_music,this.local_data.switch_effect=this._switch_effect,this.local_data.extra=this.extra;let t=H(this.local_data);return this.cat.storage.set(this.local_store_key,t),this}load(){try{let t=this.cat.storage.get(this.local_store_key);this.local_data=JSON.parse(t),this._volume_music=this.local_data.volume_music,this._volume_effect=this.local_data.volume_effect,this._switch_music=this.local_data.switch_music,this._switch_effect=this.local_data.switch_effect,this.extra=this.local_data.extra}catch(t){this.local_data={},this._volume_music=.6,this._volume_effect=1,this._switch_music=!0,this._switch_effect=!0,this.extra={}}this.music&&(this.music.volume=this._volume_music),this.effect&&(this.effect.volume=this._volume_effect)}}function Et(t,e,i,s){var o,n=arguments.length,r=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,s);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(r=(n<3?o(r):n>3?o(e,i,r):o(e,i))||r);return n>3&&r&&Object.defineProperty(e,i,r),r}function Ct(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}"function"==typeof SuppressedError&&SuppressedError;class wt extends l{props={};data={};cat=(()=>t._cat)();autorunDisposers=[];reactionDisposers=[];eventEmitter=[];hook={destroyed:()=>{},started:()=>{}};initUI(){}__preload(){this.initUI(),this.onAutoObserver()}constructor(){super(),W(this,{props:z,data:z})}onAutoObserver(){}addAutorun(t){const e=K(t)?t:[t];return j(e).call(e,(t=>{const e=Q(t);this.autorunDisposers.push(e)})),this}addReaction(t,e,i){const s=J(t,e,i);return this.reactionDisposers.push(s),this}addAudoListener(t){var e;return B(e=this.eventEmitter).call(e,t)||t===this.cat.event||this.eventEmitter.push(t),t}_onPreDestroy(){var t,e;if(j(t=this.autorunDisposers).call(t,(t=>{t()})),j(e=this.reactionDisposers).call(e,(t=>{t()})),this.autorunDisposers=[],this.reactionDisposers=[],!super._onPreDestroy)throw new Error("_onPreDestroy已弃用");super._onPreDestroy()}onDisable(){var t;this.onHide(),this.deleteAllEventByEmitter(this.cat.event),j(t=this.eventEmitter).call(t,(t=>{this.deleteAllEventByEmitter(t)})),this.eventEmitter=[],this.removeListener()}deleteAllEventByEmitter(t){const e=t._events;for(const i in e){let s=e[i];K(s)||(s=[s]),j(s).call(s,(e=>{e.context===this&&t.off(i,e.fn,this)}))}}onEnable(){this.onShow(),this.addListener(),this.onEventListener()}onEventListener(){}addListener(){}removeListener(){}addToParent(t,e,i){const s=t instanceof c?h(t):t instanceof l?t.node:t;if("number"==typeof e){const t=e,o=i;this.setOptions(o),s.insertChild(this.node,t)}else{const t=e;this.setOptions(t),s.addChild(this.node)}return this}setOptions(t){if(t)for(let e in t)switch(e){case"hook":t.hook&&(this.hook=t.hook);break;case"props":null!==t.props&&"object"==typeof t.props&&(this.props=t.props);break;case"data":null!==t.data&&"object"==typeof t.data&&(this.data=t.data)}}setUpdateData(t){return t&&U(this.data,t),this}setUpdateProps(t){return this.props,t&&U(this.props,t),this}removeAndDestroy(){p(this?.node)&&(this.node.removeFromParent(),this.node.destroy())}setPosition(t){return this.node.setPosition(t),this}setScale(t){return this.node.setScale(t),this}setAngle(t){return this.node.angle=t,this}setRotation(t){return this.node.setRotation(t),this}setRotationFromEuler(t){return this.node.setRotationFromEuler(t),this}onShow(){}onHide(){}setNodeAndChildrenLayer(t){return St(this.node,t),this}}const St=(t,e)=>{var i,s,o;t.layer="string"==typeof e?2**u.nameToLayer(e):e,(null==(i=t)?void 0:V(o=Function.call).call(o,j(s=i.children),s))?.((t=>{St(t,e)}))};class Tt extends wt{lastEnterDirection="center";screen;isClosing=!1;root;constructor(){super(),this._init()}_init(){this.root=this.node,this.screen=d.getVisibleSize()}async showTween(t){let{isMotion:e=!0,direction:i="center",duration:s=.1,isBounce:o=!0,bounceDuration:n=.05}=t;if(this.lastEnterDirection=i,e){const t=this.node.getComponent(m);let e,n;t&&(t.updateAlignment(),t.enabled=!1),_(1.1,1.1,1),"center"==i?(e=_(.01,.01,.01),n=_(1,1,1)):(e="left"==i?_(-this.screen.width,0,0):"right"==i?_(this.screen.width,0,0):_(0,"top"==i?this.screen.height:-this.screen.height,0),n=_(0,0,0)),await this.handle(i,s,e,n,o),t&&(t.enabled=!0)}}async hideTween(t){let{isMotion:e=!0,direction:i,duration:s=.1}=t;if(i=i||this.lastEnterDirection,!this.isClosing){if(this.isClosing=!0,f(this.node).removeSelf(),e){const t=this.node.getComponent(m);let e,o;t&&(t.enabled=!1),"center"==i?(e=this.node.scale,o=_(0,0,0)):(o="left"==i?_(-this.screen.width,0,0):"right"==i?_(this.screen.width,0,0):_(0,"top"==i?this.screen.height:-this.screen.height,0),e=this.node.getPosition()),await this.handle(i,s,e,o,!1)}this.removeAndDestroy()}}async handle(t,e,i,s,o){"center"==t?this.node.setScale(i):this.node.setPosition(i),await this.deftween(e,{["center"==t?"scale":"position"]:s},o)}deftween(t,e,i,s){return new P(((i,s)=>{f(this.node).to(t,e).call((()=>{i()})).start()}))}}const{ccclass:At,property:It}=i;var kt;!function(t){t[t.EFFECT=0]="EFFECT",t[t.BGM=1]="BGM"}(kt||(kt={}));class Ot extends wt{type=(()=>kt.EFFECT)();clip=null;loop=!1;volume=1;playOnAwake=!1;audioSource=(()=>new e)();onEnable(){super.onEnable(),this.clip&&(this.audioSource.clip=this.clip),this.audioSource.loop=this.loop,this.audioSource.volume=this.volume,this.audioSource.playOnAwake=this.playOnAwake,this.cat.event.on(vt.EFFECT_ON,this.onPlayEffectHandler,this).on(vt.EFFECT_OFF,this.onStopEffectHandler,this).on(vt.MUSIC_ON,this.onPlayMusicHandler,this).on(vt.MUSIC_OFF,this.onStopMusicHandler,this)}__preload(){super.__preload();const{volumeEffect:t,volumeMusic:e}=this.cat.audio;this.audioSource.volume=this.type===kt.BGM?e:t}start(){}stopAudio(){this.audioSource.stop()}playAudio(){const{switchEffect:t,switchMusic:e}=this.cat.audio;this.audioSource.playing||!(this.type===kt.BGM?e:t)||y._paused||this.audioSource.play()}onPlayEffectHandler(){}onStopEffectHandler(){this.stopAudio()}onPlayMusicHandler(){}onStopMusicHandler(){this.stopAudio()}_onPreDestroy(){this.onStopMusicHandler(),super._onPreDestroy()}}Et([It({tooltip:"类型:\n EFFECT 音效\n BGM 音乐",type:g(kt)}),Ct("design:type",Number)],Ot.prototype,"type",void 0),Et([It({tooltip:"音源",type:s}),Ct("design:type",s)],Ot.prototype,"clip",void 0),Et([It({tooltip:"循环"}),Ct("design:type",Boolean)],Ot.prototype,"loop",void 0),Et([It({tooltip:"音量"}),Ct("design:type",Number)],Ot.prototype,"volume",void 0),Et([It({tooltip:"是否启用自动播放"}),Ct("design:type",Boolean)],Ot.prototype,"playOnAwake",void 0);const{ccclass:Nt,property:Dt}=i;class Rt extends Tt{type=(()=>kt.EFFECT)();clip=null;loop=!1;volume=1;playOnAwake=!1;audioSource=(()=>new e)();onEnable(){super.onEnable(),this.cat.event.on(vt.EFFECT_ON,this.onPlayEffectHandler,this).on(vt.EFFECT_OFF,this.onStopEffectHandler,this).on(vt.MUSIC_ON,this.onPlayMusicHandler,this).on(vt.MUSIC_OFF,this.onStopMusicHandler,this)}__preload(){this.clip&&(this.audioSource.clip=this.clip),this.audioSource.loop=this.loop,this.audioSource.volume=this.volume,this.audioSource.playOnAwake=this.playOnAwake,super.__preload();const{volumeEffect:t,volumeMusic:e}=this.cat.audio;this.audioSource.volume=this.type===kt.BGM?e:t}stopAudio(){this.audioSource.stop()}playAudio(){const{switchEffect:t,switchMusic:e}=this.cat.audio;this.audioSource.playing||!(this.type===kt.BGM?e:t)||y._paused||this.audioSource.play()}onPlayEffectHandler(){}onStopEffectHandler(){this.stopAudio()}onPlayMusicHandler(){}onStopMusicHandler(){this.stopAudio()}_onPreDestroy(){this.onStopMusicHandler(),super._onPreDestroy()}}Et([Dt({tooltip:"类型:\n EFFECT 音效\n BGM 音乐",type:g(kt)}),Ct("design:type",Number)],Rt.prototype,"type",void 0),Et([Dt({tooltip:"音源",type:s}),Ct("design:type",s)],Rt.prototype,"clip",void 0),Et([Dt({tooltip:"循环"}),Ct("design:type",Boolean)],Rt.prototype,"loop",void 0),Et([Dt({tooltip:"音量"}),Ct("design:type",Number)],Rt.prototype,"volume",void 0),Et([Dt({tooltip:"是否启用自动播放"}),Ct("design:type",Boolean)],Rt.prototype,"playOnAwake",void 0);const{ccclass:Mt,property:Ft,menu:xt}=i;var Ut;!function(t){t[t.FIXED=0]="FIXED",t[t.SLIDE=1]="SLIDE"}(Ut||(Ut={}));let Pt=class extends wt{fixed_node;slide_node;fixed_label;slide_label;onLoad(){this.fixed_node.active=this.slide_node.active=!1}start(){this.show()}async show(){return new P((async(t,e)=>{const{title:i,type:s,fixed_time:o}=this.props;s==Ut.FIXED?(this.fixed_node.active=!0,this.fixed_label.string=`${i}`,this.scheduleOnce((()=>{this.node.destroy(),t()}),o)):(this.slide_node.active=!0,this.slide_label.string=`${i}`,this.playAnim(this.node).then((()=>{t()})))}))}playAnim(t){return new P(((e,i)=>{const s=this.node.getComponent(b),o=f(s).delay(1.2).to(.5,{opacity:0}).call((()=>{E.stopAllByTarget(t),this.node.destroy(),e()}));f(t).by(.5,{position:_(0,400,0)}).call((()=>{o.start()})).start()}))}onDestroy(){E.stopAllByTarget(this.node),this.unscheduleAllCallbacks()}};var Lt;Et([Ft({type:n,tooltip:"固定节点"}),Ct("design:type",n)],Pt.prototype,"fixed_node",void 0),Et([Ft({type:n,tooltip:"滑动节点"}),Ct("design:type",n)],Pt.prototype,"slide_node",void 0),Et([Ft({type:v,tooltip:"固定标签节点"}),Ct("design:type",v)],Pt.prototype,"fixed_label",void 0),Et([Ft({type:v,tooltip:"滑动标签节点"}),Ct("design:type",v)],Pt.prototype,"slide_label",void 0),Pt=Et([Mt("CoreToast"),xt("CATCORE/CoreToast")],Pt),function(t){t.EVENT_SHOW="GlobalEventConstant/EVENT_SHOW",t.EVENT_HIDE="GlobalEventConstant/EVENT_HIDE",t.GAME_RESIZE="GlobalEventConstant/GAME_RESIZE",t.EVENT_CLOSE="GlobalEventConstant/EVENT_CLOSE",t.ONLINE="GlobalEventConstant/ONLINE",t.OFFLINE="GlobalEventConstant/OFFLINE",t.ROOT_MASK_UPDATE="GlobalEventConstant/ROOT_MASK_UPDATE",t.ROOT_MASK_CHANGE="GlobalEventConstant/ROOT_MASK_CHANGE"}(Lt||(Lt={}));const{ccclass:Bt,property:Ht,menu:Gt}=i;let jt=class extends wt{tween};Et([Ht({type:n,tooltip:"动画节点"}),Ct("design:type",n)],jt.prototype,"tween",void 0),jt=Et([Bt("CoreBlackMask"),Gt("CATCORE/CoreBlackMask")],jt);const{ccclass:$t,property:Kt,menu:Vt}=i;let Wt=class extends Tt{scene_mask_node;ui_container;gui=null;onLoad(){this.setSceneMaskActive(!1)}get scene_mask(){return this.scene_mask_node.getComponent(jt)}get brother(){return this.ui_container.children||[]}get tweenChildren(){return this.scene_mask.tween.children}onEventListener(){this.cat.event.on(Lt.ROOT_MASK_CHANGE,this.uiMaskChanged,this)}addMask(){const t=this.brother[this.brother.length-1];t&&this.scene_mask.node.setSiblingIndex(t.getSiblingIndex()),this.blockMaskSiblingIndexChanged()}subMask(){const t=this.brother[this.brother.length-2];t&&this.scene_mask.node.setSiblingIndex(t.getSiblingIndex()),this.blockMaskSiblingIndexChanged()}blockMaskSiblingIndexChanged(){this.tweenChildren.length>1||this.brother.length>1?this.show():this.hide()}addNodeToTween(t){return p(this)&&this.scene_mask&&this.scene_mask.tween.addChild(t),this}show(){this.setSceneMaskActive(!0)}hide(){this.setSceneMaskActive(!1)}setGui(t){return this.gui=t,this}uiMaskChanged(){this.blockMaskSiblingIndexChanged()}setSceneMaskActive(t){this.scene_mask.node.active=t}};Et([Kt({type:n}),Ct("design:type",n)],Wt.prototype,"scene_mask_node",void 0),Et([Kt({type:n}),Ct("design:type",n)],Wt.prototype,"ui_container",void 0),Wt=Et([$t("CoreUIContainer"),Vt("CATCORE/CoreUIContainer")],Wt);class zt extends Tt{onEnable(){super.onEnable(),this.updateMask()}onDisable(){super.onDisable(),this.updateMask()}updateMask(){this.cat.event.emit(Lt.ROOT_MASK_UPDATE)}}const{ccclass:Qt,property:Jt,menu:Xt}=i;let qt=class extends zt{title;loadingTween;loading_rotate=0;onAutoObserver(){this.addAutorun([()=>{this.props?.title&&(this.title.string=`${this.props?.title}`),this.title.node.active=!!this.props?.title?.length},()=>{this.getComponent(C).enabled=!!this.props?.mask}])}update(t){this.loading_rotate+=220*t,this.loadingTween.setRotationFromEuler(0,0,-this.loading_rotate%360),this.loading_rotate>360&&(this.loading_rotate-=360)}};var Zt;Et([Jt({type:v,tooltip:"标题"}),Ct("design:type",v)],qt.prototype,"title",void 0),Et([Jt({type:n,tooltip:"动画"}),Ct("design:type",n)],qt.prototype,"loadingTween",void 0),qt=Et([Qt("CoreShowLoading"),Xt("CATCORE/CoreShowLoading")],qt),function(t){t.RECONNECTED="重连成功",t.RECONNECTING="正在重连",t.MAX_RECONNECT="重连次数超出限制,请检查网络",t.RECONNECTED_ERROR="重连失败,请检查网络",t.CONNECT_PARAM_ERROR="游戏参数错误,请重新加载",t.KICK="账号已下线",t.OFFLINE="网络已断开",t.ONLINE="网络已连接",t.GAME_ERROR="连接游戏服错误"}(Zt||(Zt={}));const{ccclass:Yt,property:te,menu:ee}=i;let ie=class extends zt{common_prompt_text;btn_confirm;btn_close;is_close=!1;props={content:null};initUI(){}onLoad(){this.btn_confirm.node.on(w.EventType.CLICK,this.onConfirmHandler,this),this.btn_close.node.on(w.EventType.CLICK,this.onConfirmHandler,this),this.addAutorun([()=>{this.common_prompt_text.string=this.props.content??""}])}onDestroy(){this.unscheduleAllCallbacks()}updateProps(t){this.updatePromptText(t,t==Zt.RECONNECTING)}updatePromptText(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.unscheduleAllCallbacks(),this.props.content=t,a("更新提示文案:",t),e){let e=0;const i=()=>{e=(e+1)%4,this.common_prompt_text.string=t+["","·","··","···"][e]};this.schedule(i,.5)}}onConfirmHandler(){this.is_close=!0,this.cat.gui.hideReconnect()}};Et([te({type:v,tooltip:"通用提示文本"}),Ct("design:type",v)],ie.prototype,"common_prompt_text",void 0),Et([te({type:w,tooltip:"确定按钮"}),Ct("design:type",w)],ie.prototype,"btn_confirm",void 0),Et([te({type:w,tooltip:"关闭按钮"}),Ct("design:type",w)],ie.prototype,"btn_close",void 0),ie=Et([Yt("CoreReconnection"),ee("CATCORE/CoreReconnection")],ie);const{ccclass:se,property:oe,menu:ne}=i;let re=class extends zt{text;btn_confirm;btn_close;onLoad(){this.btn_confirm.node.on(w.EventType.CLICK,this.onConfrimHandler,this)}start(){this.props&&this.updateProps(this.props)}onConfrimHandler(){this.props?.confrim?.(),this.cat.gui.hideNotice()}updateProps(t){this.text.string=`${t.text}`}};Et([oe({type:v,tooltip:"提示文本"}),Ct("design:type",v)],re.prototype,"text",void 0),Et([oe({type:w,tooltip:"确定按钮"}),Ct("design:type",w)],re.prototype,"btn_confirm",void 0),Et([oe({type:w,tooltip:"关闭按钮"}),Ct("design:type",w)],re.prototype,"btn_close",void 0),re=Et([se("CoreNotice"),ne("CATCORE/CoreNotice")],re);class ae extends wt{isReload}const{ccclass:le,property:ce,menu:he}=i;var pe;!function(t){t[t.UI=0]="UI",t[t.LOADING=1]="LOADING",t[t.TOAST=2]="TOAST",t[t.RECONNECTTION=3]="RECONNECTTION",t[t.NOTICE=4]="NOTICE"}(pe||(pe={}));let ue=class extends wt{reconnection_ui_prefab;toast_ui_prefab;loading_ui_prefab;notice_ui_prefab;ui_prefab;root_ui;root_toast;root_mask;ui_container_component;reconnection_ui_component;notice_ui_component;loading_ui_component;toast_ui_component;currentScene;onEventListener(){this.cat.event.on(Lt.ROOT_MASK_UPDATE,this.onRootUpdate,this)}init(t){this.cat=t;const e=r.getScene();return a("init scene"),e&&this.changeScene(e),this}start(){this.onRootUpdate()}toastQueue=[];isScheduling=!1;minInterval=.2;showToast(t){this.toastQueue.push(t),this.isScheduling||this.processQueueWithInterval()}processQueueWithInterval(){if(0===this.toastQueue.length)return void(this.isScheduling=!1);this.isScheduling=!0;const t=this.toastQueue.shift(),e=()=>{h(this.toast_ui_prefab).getComponent(Pt).addToParent(this.root_toast,{props:t}),this.scheduleOnce((()=>{this.processQueueWithInterval()}),this.minInterval)};0===this.root_toast.children.length?e():this.scheduleOnce(e,this.minInterval)}hideToast(){var t;this.root_toast&&j(t=this.root_toast.children).call(t,(t=>{t.getComponent(Pt)?.removeAndDestroy()}));return this.toastQueue=[],this.unschedule(this.processQueueWithInterval),this.isScheduling=!1,this}showLoading(){let{title:t="",mask:e=!0,black:i=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(a("showLoading",t),this.loading_ui_component)this.loading_ui_component.setOptions({props:{title:t,mask:e,black:i}});else{const s=h(this.loading_ui_prefab);this.loading_ui_component=s.getComponent(qt).addToParent(this.root_ui,{props:{title:t,mask:e,black:i}})}return this}hideLoading(){return this.loading_ui_component?.removeAndDestroy(),this.loading_ui_component=null,this}showReconnect(t){if(this.reconnection_ui_component)this.reconnection_ui_component.setUpdateProps({content:t});else{const e=h(this.reconnection_ui_prefab);this.reconnection_ui_component=e.getComponent(ie).addToParent(this.root_ui,{props:{content:t}})}return this}hideReconnect(){return this.reconnection_ui_component?.removeAndDestroy(),this.reconnection_ui_component=null,this}showNotice(t){const e=h(this.notice_ui_prefab);return this.notice_ui_component=e.getComponent(re).addToParent(this.root_ui,{props:t}),this}hideNotice(){return this.notice_ui_component?.removeAndDestroy(),this}loadScene(t,e,i){a("加载场景",t,e,i);let s={},o=i??!1;return"boolean"==typeof e?o=e:s=e??{},a("当前场景",r.getScene()?.uuid,r.getScene()?.name),r.once(S.EVENT_BEFORE_SCENE_LAUNCH,(t=>{a("Director.EVENT_BEFORE_SCENE_LAUNCH",t),this.changeScene(t,s,o)})),r.loadScene(t),this}resetScene(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t=t||this.currentScene,this.loadScene(t)}cleanScene(){this.resetScene().hideLoading().hideNotice().hideReconnect().hideToast()}changeScene(t,e,i){this.currentScene=t.name,this.createUILayer(t);const s=t.getComponentInChildren(ae);s&&(s.isReload=i??!1),s?.setOptions(e)}createUILayer(t){this.ui_container_component?.removeAndDestroy(),this.ui_container_component=null;const e=h(this.ui_prefab);this.ui_container_component=e.getComponent(Wt).setGui(this).addToParent(t,this.node.getSiblingIndex())}reloadScene(){this.loadScene(this.currentScene,!0)}async closeUI(t,e){const{component:i}=this.findUIBaseLayer(t,!1);i&&(i.setOptions({...e?.hook??{},...e?.props??{}}),await i.hideTween(e||{}),this.ui_container_component?.subMask())}async openUI(t,e){const{rootNode:i,component:s}=this.findUIBaseLayer(t,!0);i.getComponent(Tt),s?.setOptions(e),i&&this.ui_container_component?.addNodeToTween(i).addMask(),s&&await s.showTween(e||{}),this.ui_container_component?.ui_container&&s?.addToParent(this.ui_container_component.ui_container)}findUIBaseLayer(t,e){let i,s=null;if(t instanceof n){var r;i=t;const e=$(r=t.components).call(r,(t=>t instanceof Tt));if(!e.length)return o(`${t.name}节点未找到继承自BaseLayer的组件`),{rootNode:i,component:s};1==e.length?s=e[0]:T(`${t.name}节点存在多个继承自BaseLayer的组件`)}else if(i=t.node,s=t,e){for(;i.parent;)i=i.parent;s.root=i}else i=t.root;return{rootNode:i,component:s}}onRootUpdate(){const t=this.root_ui.children.findLastIndex((t=>t.active&&t!=this.root_mask));if(this.root_mask.active=-1!=t,t>-1){const e=this.root_ui.children[t].getSiblingIndex()-1;this.root_mask.setSiblingIndex(e<0?0:e)}this.cat.event.emit(Lt.ROOT_MASK_CHANGE)}};var de;Et([ce({type:c,tooltip:"断线重连UI预制体"}),Ct("design:type",c)],ue.prototype,"reconnection_ui_prefab",void 0),Et([ce({type:c,tooltip:"提示UI预制体"}),Ct("design:type",c)],ue.prototype,"toast_ui_prefab",void 0),Et([ce({type:c,tooltip:"加载UI预制体"}),Ct("design:type",c)],ue.prototype,"loading_ui_prefab",void 0),Et([ce({type:c,tooltip:"公告UI预制体"}),Ct("design:type",c)],ue.prototype,"notice_ui_prefab",void 0),Et([ce({type:c,tooltip:"UI层预制体"}),Ct("design:type",c)],ue.prototype,"ui_prefab",void 0),Et([ce({type:n,tooltip:"root-UI层"}),Ct("design:type",n)],ue.prototype,"root_ui",void 0),Et([ce({type:n,tooltip:"root-组件层"}),Ct("design:type",n)],ue.prototype,"root_toast",void 0),Et([ce({type:n,tooltip:"root-mask"}),Ct("design:type",n)],ue.prototype,"root_mask",void 0),ue=Et([le("Gui"),he("CATCORE/Gui")],ue),function(t){t.Root="prefabs/root",t.Toast="prefabs/toast",t.BlackMask="prefabs/black-mask",t.Loading="prefabs/loading",t.Notice="prefabs/notice",t.Reconnection="prefabs/reconnection"}(de||(de={}));class me extends yt{gui;#t="core";getGuiPrefabByType=(t,e)=>new P(((i,s)=>{a(t,`${e}`),this.cat.res.load(t,e,((t,e)=>{t?s(t):i(e)}))}));async init(){this.cat.gui_bundle_name&&(this.#t=this.cat.gui_bundle_name);const t=await this.getGuiPrefabByType(this.#t,de.Root),e=h(t);return this.gui=e.getComponent(ue).init(this.cat),r.addPersistRootNode(e),this}}class _e extends nt{logBlackList=[];ignore=t=>{var e;return B(e=this.logBlackList).call(e,t)};constructor(t,e,i,s){super(e,i,s,t)}destroy(){this.disconnect(!0),t._cat.socialGameClient.unregister(this)}async GameRequest(e,i,s,o){return new P(((n,r)=>{super.GameRequest(e,i,s,o).then((t=>{et&&a(`%c ws服务端消息 %c [Response][${new Date}] %c ${e} %c`,"background:#ff00ff ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff","background:#3d7daa ; padding: 1px; color: #fff","background:#ff00ff ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff","background:transparent",ot(s,t)),n(t)}),(e=>{e?.msg&&t._cat.gui.showToast({title:e.msg}),r(e)}))}))}subscribe(e,i,s){return super.subscribe(e,i,(o=>{et&&!this.ignore(e)&&a(`%c ws服务端消息:[subscribe][${new Date}] %c ${e} %c`,"background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff","background:#410083 ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff","background:transparent",ot(i,o)),t._cat.event.emit(e,ot(i,o)),s?.(o)})),this}}class fe extends yt{managedClients=(()=>new G)();isGlobalOnline=!0;isInBackground=!1;reconnecting=!1;onEventHideDelegate=(()=>new A)();onEventShowDelegate=(()=>new A)();onEventReloadSceneDelegate=(()=>new A)();reconnectTimer=null;scheduleReconnect(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.reconnectTimer=X((()=>{this.reconnectTimer=null,this.triggerReconnectAll()}),t)}get activeClients(){var t,e;return $(t=q(e=Z(this.managedClients)).call(e,(t=>{let[e,i]=t;return i}))).call(t,(t=>t.socket))}constructor(t){super(t),this.initGlobalListeners()}createWebSocket(t,e,i,s){if(this.managedClients.has(t)){this.managedClients.get(t).destroy(),a(`清理旧的 ${t} 客户端`)}const o=new _e(t,i,s,U({reconnectMaxAttempts:1/0},{...e,isAutoConnect:!1,isArrayBuffer:it}));return this.register(o),o}register(t){t.on("reconnected",this.handleSingleReconnect),t.on("close",this.handleSingleClose),t.on("kick",this.handleSingleKick),this.managedClients.set(t.name,t)}unregister(t){t.off("reconnected",this.handleSingleReconnect),t.off("close",this.handleSingleClose),t.off("kick",this.handleSingleKick),this.managedClients.delete(t.name)}initGlobalListeners(){this.cat.event.on(Lt.ONLINE,(()=>this.handleGlobalStateChange("online")),this).on(Lt.OFFLINE,(()=>this.handleGlobalStateChange("offline")),this),y.on(I.EVENT_SHOW,(()=>this.handleGlobalStateChange("show"))),y.on(I.EVENT_HIDE,(()=>this.handleGlobalStateChange("hide")))}async handleGlobalStateChange(t){switch(t){case"online":this.cat.gui.showLoading({title:Zt.ONLINE}),this.isGlobalOnline=!0,this.triggerReconnectAll();break;case"offline":this.isGlobalOnline=!1,this.disconnectAll(!0),this.cat.gui.showLoading({title:Zt.OFFLINE});break;case"show":this.isInBackground=!1,await this.triggerReconnectAll(),await this.onEventShowDelegate.dispatch();break;case"hide":await this.onEventHideDelegate.dispatch(),this.isInBackground=!0,this.disconnectAll(!0)}}async triggerReconnectAll(){if(a("触发所有客户端重连",this.reconnecting,!this.isGlobalOnline,this.isInBackground,this.managedClients.size),!this.reconnecting&&this.isGlobalOnline&&!this.isInBackground&&0!==this.managedClients.size){this.reconnecting=!0,this.cat.gui.showLoading({title:"正在重连"});try{var t,e;await P.allSettled(q(t=this.activeClients).call(t,(async t=>{try{await t.reconnectPromise()}catch(e){o(`${t.name}服重连失败`,e)}})));const i=$(e=this.activeClients).call(e,(t=>t.socketConnectStatus!==tt.CONNECTED));i.length>0?(console.error("部分WS重连失败:",q(i).call(i,(t=>t))),a("2s后重连所有客户端"),this.reconnecting=!1,this.scheduleReconnect()):this.reconnecting=!1}catch(t){throw this.reconnecting=!1,t}}}disconnectAll(t){var e;j(e=this.managedClients).call(e,(e=>{a("断开连接",e.name,t,e.socket),e.disconnect(t)}))}handleSingleClose=()=>{this.reconnecting||(a("3s后重连所有客户端"),this.scheduleReconnect(3e3))};handleSingleReconnect=async()=>{var t,e;Y(t=this.activeClients).call(t,(t=>t.socketConnectStatus===tt.CONNECTED))&&(a("单个WS重连成功回调===",this.managedClients),await P.allSettled(q(e=this.activeClients).call(e,(async t=>{try{await t.connectRequest()}catch(e){o(`${t.name}服登录错误`,e),this.cat.gui.showToast({title:`登录${t.name}服错误`})}}))),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),await this.onEventReloadSceneDelegate.dispatch(),this.cat.gui.hideLoading().reloadScene())};handleSingleKick=()=>{this.cat.gui.showReconnect(Zt.KICK)}}class ge{get=(()=>function(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"resources";return k.getBundle(i).get(t,e)})();isAssetType=t=>"function"==typeof t&&t.prototype instanceof O;async load(){let t=null,e=null,i=null;for(var s=arguments.length,o=new Array(s),n=0;n<s;n++)o[n]=arguments[n];"string"==typeof o[0]&&"string"==typeof o[1]&&(t=o.shift());let r=o.shift();this.isAssetType(o[0])&&(e=o.shift()),2==o.length&&(i=o.shift());const a=o.shift();let l=N;if(t&&"resources"!=t){k.bundles.has(t)||await this.loadBundle(t);let e=k.bundles.get(t);e&&(l=e)}i&&a?l.load(r,e,i,a):a?l.load(r,e,a):l.load(r,e)}async loadDir(){let t=null,e=null,i=null,s=null;for(var o=arguments.length,n=new Array(o),r=0;r<o;r++)n[r]=arguments[r];"string"==typeof n[0]&&"string"==typeof n[1]&&(t=n.shift());let a=n.shift();this.isAssetType(n[0])&&(e=n.shift()),2==n.length&&(i=n.shift()),s=n.shift();let l=N;if(t&&"resources"!=t){k.bundles.has(t)||await this.loadBundle(t);let e=k.bundles.get(t);e&&(l=e)}i&&s?l.loadDir(a,e,i,s):s?l.loadDir(a,e,s):l.loadDir(a,e)}loadRemote(t){for(var e,i=null,s=arguments.length,o=new Array(s>1?s-1:0),n=1;n<s;n++)o[n-1]=arguments[n];2==o.length&&(i=o.shift()),e=o.shift(),k.loadRemote(t,{ext:".png",...i},e)}loadBundle=(t,e)=>new P(((i,s)=>{const o=(t,e)=>{if(t)return s(t);i(e)};e?k.loadBundle(t,{version:e},o):k.loadBundle(t,o)}));releasePrefabtDepsRecursively=t=>{var e=k.assets.get(t);if(k.releaseAsset(e),e instanceof c){var i=k.dependUtil.getDepsRecursively(t);j(i).call(i,(t=>{k.assets.get(t).decRef()}))}};release=(()=>{var t=this;return function(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"resources";var s=k.getBundle(i);if(s){var o=s.get(e);o&&t.releasePrefabtDepsRecursively(o._uuid)}}})();releaseDir=(()=>{var t=this;return function(e){var i,s;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"resources";var n=k.getBundle(o),r=n?.getDirWithPath(e);(null==(i=r)?void 0:V(s=Function.call).call(s,q(i),i))?.((e=>{t.releasePrefabtDepsRecursively(e.uuid)})),!e&&"resources"!=o&&n&&k.removeBundle(n)}})();dump=()=>{var t;j(t=k.assets).call(t,((t,e)=>{a(k.assets.get(e))})),a(`当前资源总数:${k.assets.count}`)}}class ye{rootStore;constructor(t){this.rootStore=t}}class ve extends yt{}let be=null;const Ee={stringify:t=>{const e={ct:t.ciphertext.toString(rt.enc.Base64)};return t.iv&&(e.iv=t.iv.toString()),t.salt&&(e.s=t.salt.toString()),H(e)},parse:t=>{const e=JSON.parse(t),i=rt.lib.CipherParams.create({ciphertext:rt.enc.Base64.parse(e.ct)});return e.iv&&(i.iv=rt.enc.Hex.parse(e.iv)),e.s&&(i.salt=rt.enc.Hex.parse(e.s)),i}};var Ce=Object.freeze({__proto__:null,JsonFormatter:Ee,aesDecrypt:(t,e,i)=>rt.AES.decrypt(t,e,{iv:be,format:Ee}).toString(rt.enc.Utf8),aesEncrypt:(t,e,i)=>rt.AES.encrypt(t,e,{iv:be,format:Ee}).toString(),initCrypto:(t,e)=>{be=rt.enc.Hex.parse(e)},md5:t=>rt.MD5(t).toString()});class we extends yt{encryptUtil=(()=>Ce)()}class Se extends yt{_key=null;_iv=null;_id="";init(t,e){this.cat.util.encryptUtil.initCrypto(t,e),this._key=this.cat.util.encryptUtil.md5(t),this._iv=this.cat.util.encryptUtil.md5(e)}setUser(t){this._id=t}set(t,e){if(null!=(t=`${t}_${this._id}`)){if(st||(t=this.cat.util.encryptUtil.md5(t)),null==e)return console.warn("存储的值为空,则直接移除该存储"),void this.remove(t);if("function"!=typeof e){if("object"==typeof e)try{e=H(e)}catch(t){return void console.error(`解析失败,str = ${e}`)}else"number"==typeof e&&(e+="");st||null==this._key||null==this._iv||(e=this.cat.util.encryptUtil.aesEncrypt(`${e}`,this._key,this._iv)),D.localStorage.setItem(t,e)}else console.error("储存的值不能为方法")}else console.error("存储的key不能为空")}get(t,e){if(null==t)return console.error("存储的key不能为空"),null;t=`${t}_${this._id}`,st||(t=this.cat.util.encryptUtil.md5(t));let i=D.localStorage.getItem(t);return null==i||""===i||st||null==this._key||null==this._iv||(i=this.cat.util.encryptUtil.aesDecrypt(i,this._key,this._iv)),null===i?e:i}getNumber(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;var i=this.get(t);return Number(i)||e}getBoolean(t){var e=this.get(t);return Boolean(e)||!1}getJson(t,e){var i=this.get(t);return i&&JSON.parse(i)||e}remove(t){null!=t?(t=`${t}_${this._id}`,st||(t=this.cat.util.encryptUtil.md5(t)),D.localStorage.removeItem(t)):console.error("存储的key不能为空")}clear(){D.localStorage.clear()}}class Te{static#e=null;#i=!1;static get instance(){return this.#e??(this.#e=new Te)}onAppInitDelegate=(()=>new A)();onPlugInInitDelegate=(()=>new A)();#s=null;get audio(){return this.#s}#o=null;get event(){return this.#o}#n=null;get gui(){return this.#n}#r=null;get storage(){return this.#r}#a=null;get res(){return this.#a}#l=null;get util(){return this.#l}#c=null;get socialGameClient(){return this.#c}#h=null;get store(){return this.#h}#p="";get gui_bundle_name(){return this.#p}#u="";get audio_local_store_key(){return this.#u}#d="";get default_audio_effect(){return this.#d}setConfig=(()=>{var t=this;return function(){let{default_audio_effect:e="",gui_bundleName:i="resources",audio_local_store_key:s="game_audio"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t.#i)throw new Error("[CAT] 已初始化,无法修改配置");return t.#p=i,t.#u=s,t.#d=e,t}})();async boot(){if(this.#i)throw new Error("[CAT] 已初始化");try{this.#h=new ve(this),this.#a=new ge,this.#l=new we(this),this.#r=new Se(this),this.#o=new L,this.#s=new bt(this),this.#c=new fe(this),this.#n=(await new me(this).init()).gui,this.#i=!0}catch(t){throw console.error("[CAT] 初始化失败:",t),t}}merge(t,e){if(!this.#i)throw new Error("[CAT] 未初始化");if("string"!=typeof t)throw new Error("merge方法第一个参数应该为string类型");return F(this,t)||x(this,t,e),U(F(this,t),e),this}appendPlugInInitDelegate(t){return this.#i?P.resolve().then(t).catch((t=>{console.error("[CAT] appendPlugInInitDelegate 回调执行失败:",t)})):this.onPlugInInitDelegate.add(t),this}}const{ccclass:Ae,property:Ie,menu:ke}=i;let Oe=class extends Tt{default_title=null;title;prompt_content_str;prompt_content_spriteFrame;btn_confirm;confirm_spriteFrame;btn_cancel;cancel_spriteFrame;btn_close;isConfirm=!1;props={title:this.default_title,content:null,confirmCB:()=>{},cancelCB:()=>{},style:null};onLoad(){this.btn_cancel.node.on(w.EventType.CLICK,this.onCancelHandler,this),this.btn_confirm.node.on(w.EventType.CLICK,this.onConfirmHandler,this),this.btn_close.node.on(w.EventType.CLICK,this.onCloseHandler,this),this.addAutorun([()=>{this.title.spriteFrame=this.props?.title||this.default_title},()=>{this.props.content&&(this.props.content instanceof R?this.prompt_content_spriteFrame.spriteFrame=this.props.content:"string"==typeof this.props.content?this.prompt_content_str.string=this.props.content:console.error("未知类型的【UIModal】内容"))},()=>{null===this.props?.style?.confirm?this.btn_confirm.node.active=!1:(this.btn_confirm.node.active=!0,this.btn_confirm.getComponent(M).spriteFrame=this.props.style?.confirm||this.confirm_spriteFrame),null===this.props?.style?.cancel?this.btn_cancel.node.active=!1:(this.btn_cancel.node.active=!0,this.btn_cancel.getComponent(M).spriteFrame=this.props.style?.cancel||this.cancel_spriteFrame)}])}close(){this.props.cancelCB?.(),this.cat.gui.closeUI(this)}onCancelHandler(){this.close()}onConfirmHandler(){this.props.confirmCB?.()}onDestroy(){this.isConfirm&&this.props.onDestroy?.()}onCloseHandler(){this.close()}};var Ne;Et([Ie({type:R,tooltip:"默认标题"}),Ct("design:type",R)],Oe.prototype,"default_title",void 0),Et([Ie({type:M,tooltip:"标题节点"}),Ct("design:type",M)],Oe.prototype,"title",void 0),Et([Ie({type:v,tooltip:"字符串内容按钮"}),Ct("design:type",v)],Oe.prototype,"prompt_content_str",void 0),Et([Ie({type:M,tooltip:"图片精灵内容按钮"}),Ct("design:type",M)],Oe.prototype,"prompt_content_spriteFrame",void 0),Et([Ie({type:w,tooltip:"确认按钮"}),Ct("design:type",w)],Oe.prototype,"btn_confirm",void 0),Et([Ie({type:R,tooltip:"确认按钮精灵图"}),Ct("design:type",R)],Oe.prototype,"confirm_spriteFrame",void 0),Et([Ie({type:w,tooltip:"取消按钮"}),Ct("design:type",w)],Oe.prototype,"btn_cancel",void 0),Et([Ie({type:R,tooltip:"取消按钮精灵图"}),Ct("design:type",R)],Oe.prototype,"cancel_spriteFrame",void 0),Et([Ie({type:w,tooltip:"关闭按钮"}),Ct("design:type",w)],Oe.prototype,"btn_close",void 0),Oe=Et([Ae("CoreUIModal"),ke("CATCORE/CoreUIModal")],Oe),function(t){t[t.Delay=0]="Delay",t[t.Interval=1]="Interval"}(Ne||(Ne={}));class De{tag;type;callback;remainingTime;executionTime=0;initialTime;constructor(t,e,i,s){this.tag=t,this.type=e,this.remainingTime=i,this.initialTime=i,this.callback=s}}class Re extends yt{timers=(()=>new G)();lastUpdateTime=(()=>at())();constructor(t){var e;super(t),t.event.on(Lt.EVENT_HIDE,this.onHandleAppBackground,this),t.event.on(Lt.EVENT_SHOW,this.onHandleAppForeground,this),lt(V(e=this.update).call(e,this),1e3)}onHandleAppBackground(){this.lastUpdateTime=at()}onHandleAppForeground(){const t=at(),e=t-this.lastUpdateTime;a("elapsedTime",e);for(const t of ct(i=this.timers).call(i)){var i;t.remainingTime>0&&(t.remainingTime-=e,t.executionTime+=e)}this.lastUpdateTime=t}registerInterval(t,e,i){if(this.has(t))return o(`${t}定时器已存在,请勿重复注册`);const s=new De(t,Ne.Interval,e,i);this.timers.set(t,s)}registerDelay(t,e,i){if(this.has(t))return o(`${t}延时器已存在,请勿重复注册`);const s=new De(t,Ne.Delay,e,i);this.timers.set(t,s)}unregister(t){this.has(t)&&this.timers.delete(t)}has(t){return this.timers.has(t)}update(){const t=[];for(const[i,s]of ht(e=this.timers).call(e)){var e;s.remainingTime-=1e3,s.remainingTime<=0&&(s.type===Ne.Interval&&(s.executionTime+=s.initialTime),s.callback(s.executionTime),s.type===Ne.Interval?s.remainingTime=s.initialTime:t.push(i))}for(const e of t)this.timers.delete(e)}}const Me=(e,i)=>(s,o,n)=>{let r=n.value;return n.value=function(){const s=e??t._cat.default_audio_effect;s?t._cat.audio.playEffect(s):console.warn("请添加音效路径参数"),i&&i();for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];r.apply(this,n)},n},Fe=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1?arguments[1]:void 0;return function(i,s,o){let n=o.value,r=!1;return o.value=function(){if(r)e&&e();else{r=!0,X((()=>{r=!1}),1e3*t);for(var i=arguments.length,s=new Array(i),o=0;o<i;o++)s[o]=arguments[o];n.apply(this,s)}},o}},xe=t._cat??=Te.instance;y.onPostProjectInitDelegate.add((async()=>{console.time("[Init App]");try{await xe.boot(),await xe.onAppInitDelegate.dispatch(),await xe.onPlugInInitDelegate.dispatch()}catch(t){throw o(`[Init App] 初始化失败: ${t instanceof Error?t.message:String(t)}`),t}finally{console.timeEnd("[Init App]")}}));export{Me as AudioEffect,vt as AudioEventConstant,bt as AudioManager,Ot as AudioSourceBaseComponent,Rt as AudioSourceUILayer,kt as AudioTypeEnum,wt as BaseComponent,yt as BaseManager,de as BasePrefab,ye as BaseStore,Fe as ButtonLock,jt as CoreBlackMask,re as CoreNotice,ie as CoreReconnection,qt as CoreShowLoading,ve as CoreStore,Pt as CoreToast,Wt as CoreUIContainer,Oe as CoreUIModal,we as CoreUtil,Lt as GlobalEventConstant,ue as Gui,me as GuiManager,pe as LayerType,Te as Manager,Zt as ReconnectPrompt,zt as RootUILayer,ae as SceneLayer,Re as TimerManager,Ut as ToastType,Tt as UILayer,_e as WrapperSocialGameClient,xe as cat};
|