@celilo/console-server 0.5.1 → 0.6.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celilo/console-server",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "HTTP surface for the celilo web console. Serves the SPA and hosts the tsrpc API. Holds no database: it reaches celilo-mgr over the SSH remote API as a read-only principal.",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -23,4 +23,4 @@ Error generating stack: `+e.message+`
23
23
  `&&k!==`\r`&&k!==`\u2028`&&k!==`\u2029`)&&(E=`(?: (?:`+E+`))`,O=` `+O,D++),u=RegExp(`^(?:`+E+`)`,T)}x&&(u=RegExp(`^`+E+`$(?!\\s)`,T)),y&&(d=t.lastIndex);var A=n(p,w?u:t,O);return w?A?(A.input=o,A[0]=v(A[0],D),A.index=t.lastIndex,t.lastIndex+=A[0].length):t.lastIndex=0:y&&A&&(t.lastIndex=t.global?A.index+A[0].length:d),x&&A&&A.length>1&&n(f,A[0],u,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===void 0&&(A[e]=void 0)}),A&&S&&C(A,S),A}),t.exports=m})),va=o((()=>{var e=K(),t=_a();e({target:`RegExp`,proto:!0,forced:/./.exec!==t},{exec:t})})),ya=o((()=>{va();var e=K(),t=si(),n=ei(),r=oi(),i=ji(),a=function(){var e=!1,t=/[ac]/;return t.exec=function(){return e=!0,/./.exec.apply(this,arguments)},t.test(`abc`)===!0&&e}(),o=/./.test;e({target:`RegExp`,proto:!0,forced:!a},{test:function(e){var a=r(this),s=i(e),c=a.exec;if(!n(c))return t(o,a,s);var l=t(c,a,s);return l!==null&&(r(l),!0)}})})),ba=o(((e,t)=>{var n=Qr(),r=ma(),i=_i().f,a=n(`unscopables`),o=Array.prototype;o[a]===void 0&&i(o,a,{configurable:!0,value:r(null)}),t.exports=function(e){o[a][e]=!0}})),xa=o(((e,t)=>{t.exports=Object.create?Object.create(null):{}})),Sa=o(((e,t)=>{t.exports=!U()(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})})),Ca=o(((e,t)=>{var n=Kr(),r=ei(),i=Gr(),a=Ci(),o=Sa(),s=a(`IE_PROTO`),c=Object,l=c.prototype;t.exports=o?c.getPrototypeOf:function(e){var t=i(e);if(n(t,s))return t[s];var a=t.constructor;return r(a)&&t instanceof a?a.prototype:t instanceof c?l:null}})),wa=o(((e,t)=>{var n=U(),r=ei(),i=ni(),a=ma(),o=Ca(),s=Di(),c=Qr(),l=Rr(),u=c(`iterator`),d=!1,f,p,m;[].keys&&(m=[].keys(),`next`in m?(p=o(o(m)),p!==Object.prototype&&(f=p)):d=!0),!i(f)||n(function(){var e={};return f[u].call(e)!==e})?f={}:l&&(f=a(f)),r(f[u])||s(f,u,function(){return this}),t.exports={IteratorPrototype:f,BUGGY_SAFARI_ITERATORS:d}})),Ta=o(((e,t)=>{var n=_i().f,r=Kr(),i=Qr()(`toStringTag`);t.exports=function(e,t,a){e&&!a&&(e=e.prototype),e&&!r(e,i)&&n(e,i,{configurable:!0,value:t})}})),Ea=o(((e,t)=>{var n=wa().IteratorPrototype,r=ma(),i=xi(),a=Ta(),o=xa(),s=function(){return this};t.exports=function(e,t,c,l){var u=t+` Iterator`;return e.prototype=r(n,{next:i(+!l,c)}),a(e,u,!1,!0),o[u]=s,e}})),Da=o(((e,t)=>{var n=K(),r=si(),i=Rr(),a=vi(),o=ei(),s=Ea(),c=Ca(),l=ia(),u=Ta(),d=Si(),f=Di(),p=Qr(),m=xa(),h=wa(),g=a.PROPER,_=a.CONFIGURABLE,v=h.IteratorPrototype,y=h.BUGGY_SAFARI_ITERATORS,b=p(`iterator`),x=`keys`,S=`values`,C=`entries`,w=function(){return this};t.exports=function(e,t,a,p,h,T,E){s(a,t,p);var D=function(e){if(e===h&&M)return M;if(!y&&e&&e in A)return A[e];switch(e){case x:return function(){return new a(this,e)};case S:return function(){return new a(this,e)};case C:return function(){return new a(this,e)}}return function(){return new a(this)}},O=t+` Iterator`,k=!1,A=e.prototype,j=A[b]||A[`@@iterator`]||h&&A[h],M=!y&&j||D(h),ee=t===`Array`&&A.entries||j,N,P,F;if(ee&&(N=c(ee.call(new e)),N!==Object.prototype&&N.next&&(!i&&c(N)!==v&&(l?l(N,v):o(N[b])||f(N,b,w)),u(N,O,!0,!0),i&&(m[O]=w))),g&&h===S&&j&&j.name!==S&&(!i&&_?d(A,`name`,S):(k=!0,M=function(){return r(j,this)})),h){if(P={values:D(S),keys:T?M:D(x),entries:D(C)},E)for(F in P)(y||k||!(F in A))&&f(A,F,P[F]);else n({target:t,proto:!0,forced:y||k},P)}return(!i||E)&&A[b]!==M&&f(A,b,M,{name:h}),m[t]=M,P}})),Oa=o(((e,t)=>{t.exports=function(e,t){return{value:e,done:t}}})),ka=o(((e,t)=>{var n=Ri(),r=ba(),i=xa(),a=Ti(),o=_i().f,s=Da(),c=Oa(),l=Rr(),u=ti(),d=`Array Iterator`,f=a.set,p=a.getterFor(d);t.exports=s(Array,`Array`,function(e,t){f(this,{type:d,target:n(e),index:0,kind:t})},function(){var e=p(this),t=e.target,n=e.index++;if(!t||n>=t.length)return e.target=null,c(void 0,!0);switch(e.kind){case`keys`:return c(n,!1);case`values`:return c(t[n],!1)}return c([n,t[n]],!1)},`values`);var m=i.Arguments=i.Array;if(r(`keys`),r(`values`),r(`entries`),!l&&u&&m.name!==`values`)try{o(m,`name`,{value:`values`})}catch{}})),Aa=o(((e,t)=>{var n=Oi(),r=W();t.exports=function(e){if(n(e)===`Function`)return r(e)}})),ja=o(((e,t)=>{t.exports=typeof ArrayBuffer<`u`&&typeof DataView<`u`})),Ma=o(((e,t)=>{var n=Ei(),r=_i();t.exports=function(e,t,i){return i.get&&n(i.get,t,{getter:!0}),i.set&&n(i.set,t,{setter:!0}),r.f(e,t,i)}})),Na=o(((e,t)=>{var n=Di();t.exports=function(e,t,r){for(var i in t)n(e,i,t[i],r);return e}})),Pa=o(((e,t)=>{var n=li(),r=TypeError;t.exports=function(e,t){if(n(t,e))return e;throw new r(`Incorrect invocation`)}})),Fa=o(((e,t)=>{var n=Vi(),r=Ui(),i=RangeError;t.exports=function(e){if(e===void 0)return 0;var t=n(e),a=r(t);if(t!==a)throw new i(`Wrong length or index`);return a}})),Ia=o(((e,t)=>{t.exports=Math.sign||function(e){var t=+e;return t===0||t!==t?t:t<0?-1:1}})),La=o(((e,t)=>{var n=4503599627370496;t.exports=function(e){return e+n-n}})),Ra=o(((e,t)=>{var n=Ia(),r=La(),i=Math.abs,a=2220446049250313e-31;t.exports=function(e,t,o,s){var c=+e,l=i(c),u=n(c);if(l<s)return u*r(l/s/t)*s*t;var d=(1+t/a)*l,f=d-(d-l);return f>o||f!==f?u*(1/0):u*f}})),za=o(((e,t)=>{var n=Ra(),r=1.1920928955078125e-7,i=34028234663852886e22,a=11754943508222875e-54;t.exports=Math.fround||function(e){return n(e,r,i,a)}})),Ba=o(((e,t)=>{var n=Array,r=Math.abs,i=Math.pow,a=Math.floor,o=Math.log,s=Math.LN2;t.exports={pack:function(e,t,c){var l=n(c),u=c*8-t-1,d=(1<<u)-1,f=d>>1,p=t===23?i(2,-24)-i(2,-77):0,m=+(e<0||e===0&&1/e<0),h=0,g,_,v;for(e=r(e),e!==e||e===1/0?(_=e===e?0:1,g=d):(g=a(o(e)/s),v=i(2,-g),e*v<1&&(g--,v*=2),g+f>=1?e+=p/v:e+=p*i(2,1-f),e*v>=2&&(g++,v/=2),g+f>=d?(_=0,g=d):g+f>=1?(_=(e*v-1)*i(2,t),g+=f):(_=e*i(2,f-1)*i(2,t),g=0));t>=8;)l[h++]=_&255,_/=256,t-=8;for(g=g<<t|_,u+=t;u>0;)l[h++]=g&255,g/=256,u-=8;return l[h-1]|=m*128,l},unpack:function(e,t){var n=e.length,r=n*8-t-1,a=(1<<r)-1,o=a>>1,s=r-7,c=n-1,l=e[c--],u=l&127,d;for(l>>=7;s>0;)u=u*256+e[c--],s-=8;for(d=u&(1<<-s)-1,u>>=-s,s+=t;s>0;)d=d*256+e[c--],s-=8;if(u===0)u=1-o;else if(u===a)return d?NaN:l?-1/0:1/0;else d+=i(2,t),u-=o;return(l?-1:1)*d*i(2,u-t)}}})),Va=o(((e,t)=>{var n=Gr(),r=Hi(),i=Wi();t.exports=[].fill||function(e){for(var t=n(this),a=i(t),o=arguments.length,s=r(o>1?arguments[1]:void 0,a),c=o>2?arguments[2]:void 0,l=c===void 0?a:r(c,a);l>s;)t[s++]=e;return t}})),Ha=o(((e,t)=>{t.exports=W()([].slice)})),Ua=o(((e,t)=>{var n=H(),r=W(),i=ti(),a=ja(),o=vi(),s=Si(),c=Ma(),l=Na(),u=U(),d=Pa(),f=Vi(),p=Fa(),m=za(),h=Ba(),g=Ca(),_=ia(),v=Va(),y=Ha(),b=aa(),x=Zi(),S=Ta(),C=Ti(),w=o.PROPER,T=o.CONFIGURABLE,E=`ArrayBuffer`,D=`DataView`,O=`prototype`,k=`Wrong length`,A=`Wrong index`,j=C.getterFor(E),M=C.getterFor(D),ee=C.set,N=n[E],P=N,F=P&&P[O],I=n[D],te=I&&I[O],ne=Object.prototype,re=n.Array,ie=n.RangeError,ae=r(v),L=r([].reverse),oe=h.pack,se=h.unpack,ce=function(e){return[e&255]},le=function(e){return[e&255,e>>8&255]},ue=function(e){return[e&255,e>>8&255,e>>16&255,e>>24&255]},de=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},fe=function(e){return oe(m(e),23,4)},pe=function(e){return oe(e,52,8)},me=function(e,t,n){c(e[O],t,{configurable:!0,get:function(){return n(this)[t]}})},he=function(e,t,n,r){var i=M(e),a=p(n),o=!!r;if(a+t>i.byteLength)throw new ie(A);var s=i.bytes,c=a+i.byteOffset,l=y(s,c,c+t);return o?l:L(l)},ge=function(e,t,n,r,i,a){var o=M(e),s=p(n),c=r(+i),l=!!a;if(s+t>o.byteLength)throw new ie(A);for(var u=o.bytes,d=s+o.byteOffset,f=0;f<t;f++)u[d+f]=c[l?f:t-f-1]};if(!a)P=function(e){d(this,F);var t=p(e);ee(this,{type:E,bytes:ae(re(t),0),byteLength:t}),i||(this.byteLength=t,this.detached=!1)},F=P[O],I=function(e,t,n){d(this,te),d(e,F);var r=j(e),a=r.byteLength,o=f(t);if(o<0||o>a)throw new ie(`Wrong offset`);if(n=n===void 0?a-o:p(n),o+n>a)throw new ie(k);ee(this,{type:D,buffer:e,byteLength:n,byteOffset:o,bytes:r.bytes}),i||(this.buffer=e,this.byteLength=n,this.byteOffset=o)},te=I[O],i&&(me(P,`byteLength`,j),me(I,`buffer`,M),me(I,`byteLength`,M),me(I,`byteOffset`,M)),l(te,{getInt8:function(e){return he(this,1,e)[0]<<24>>24},getUint8:function(e){return he(this,1,e)[0]},getInt16:function(e){var t=he(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=he(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return de(he(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return de(he(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return se(he(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return se(he(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){ge(this,1,e,ce,t)},setUint8:function(e,t){ge(this,1,e,ce,t)},setInt16:function(e,t){ge(this,2,e,le,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){ge(this,2,e,le,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){ge(this,4,e,ue,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){ge(this,4,e,ue,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){ge(this,4,e,fe,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){ge(this,8,e,pe,t,arguments.length>2&&arguments[2])}});else{var _e=w&&N.name!==E;!u(function(){N(1)})||!u(function(){new N(-1)})||u(function(){return new N,new N(1.5),new N(NaN),N.length!==1||_e&&!T})?(P=function(e){return d(this,F),b(new N(p(e)),this,P)},P[O]=F,F.constructor=P,x(P,N)):_e&&T&&s(N,`name`,E),_&&g(te)!==ne&&_(te,ne);var ve=new I(new P(2)),ye=r(te.setInt8);ve.setInt8(0,2147483648),ve.setInt8(1,2147483649),(ve.getInt8(0)||!ve.getInt8(1))&&l(te,{setInt8:function(e,t){ye(this,e,t<<24>>24)},setUint8:function(e,t){ye(this,e,t<<24>>24)}},{unsafe:!0})}S(P,E),S(I,D),t.exports={ArrayBuffer:P,DataView:I}})),Wa=o((()=>{var e=K(),t=Aa(),n=U(),r=Ua(),i=oi(),a=Hi(),o=Ui(),s=r.ArrayBuffer,c=r.DataView,l=c.prototype,u=t(s.prototype.slice),d=t(l.getUint8),f=t(l.setUint8);e({target:`ArrayBuffer`,proto:!0,unsafe:!0,forced:n(function(){return!new s(2).slice(1,void 0).byteLength})},{slice:function(e,t){if(u&&t===void 0)return u(i(this),e);for(var n=i(this).byteLength,r=a(e,n),l=a(t===void 0?n:t,n),p=new s(o(l-r)),m=new c(this),h=new c(p),g=0;r<l;)f(h,g++,d(m,r++));return p}})})),Ga=o(((e,t)=>{var n=Qr()(`iterator`),r=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){r=!0}};a[n]=function(){return this},Array.from(a,function(){throw 2})}catch{}t.exports=function(e,t){try{if(!t&&!r)return!1}catch{return!1}var i=!1;try{var a={};a[n]=function(){return{next:function(){return{done:i=!0}}}},e(a)}catch{}return i}})),Ka=o(((e,t)=>{var n=ja(),r=ti(),i=H(),a=ei(),o=ni(),s=Kr(),c=G(),l=di(),u=Si(),d=Di(),f=Ma(),p=li(),m=Ca(),h=ia(),g=Qr(),_=qr(),v=Ti(),y=v.enforce,b=v.get,x=i.Int8Array,S=x&&x.prototype,C=i.Uint8ClampedArray,w=C&&C.prototype,T=x&&m(x),E=S&&m(S),D=Object.prototype,O=i.TypeError,k=g(`toStringTag`),A=_(`TYPED_ARRAY_TAG`),j=`TypedArrayConstructor`,M=n&&!!h&&c(i.opera)!==`Opera`,ee=!1,N,P,F,I={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},te={BigInt64Array:8,BigUint64Array:8},ne=function(e){if(!o(e))return!1;var t=c(e);return t===`DataView`||s(I,t)||s(te,t)},re=function(e){var t=m(e);if(o(t)){var n=b(t);return n&&s(n,j)?n[j]:re(t)}},ie=function(e){if(!o(e))return!1;var t=c(e);return s(I,t)||s(te,t)},ae=function(e){if(ie(e))return e;throw new O(`Target is not a typed array`)},L=function(e){if(a(e)&&(!h||p(T,e)))return e;throw new O(l(e)+` is not a typed array constructor`)},oe=function(e,t,n,a){if(r){if(n)for(var o in I){var c=i[o];if(c&&s(c.prototype,e))try{delete c.prototype[e]}catch{try{c.prototype[e]=t}catch{}}}(!E[e]||n)&&d(E,e,n?t:M&&S[e]||t,a)}},se=function(e,t,n){var a,o;if(r){if(h){if(n){for(a in I)if(o=i[a],o&&s(o,e))try{delete o[e]}catch{}}if(!T[e]||n)try{return d(T,e,n?t:M&&T[e]||t)}catch{}else return}for(a in I)o=i[a],o&&(!o[e]||n)&&d(o,e,t)}};for(N in I)P=i[N],F=P&&P.prototype,F?y(F)[j]=P:M=!1;for(N in te)P=i[N],F=P&&P.prototype,F&&(y(F)[j]=P);if((!M||!a(T)||T===Function.prototype)&&(T=function(){throw new O(`Incorrect invocation`)},M))for(N in I)i[N]&&h(i[N],T);if((!M||!E||E===D)&&(E=T.prototype,M))for(N in I)i[N]&&h(i[N].prototype,E);if(M&&m(w)!==E&&h(w,E),r&&!s(E,k))for(N in ee=!0,f(E,k,{configurable:!0,get:function(){return o(this)?this[A]:void 0}}),I)i[N]&&u(i[N].prototype,A,N);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:M,TYPED_ARRAY_TAG:ee&&A,aTypedArray:ae,aTypedArrayConstructor:L,exportTypedArrayMethod:oe,exportTypedArrayStaticMethod:se,getTypedArrayConstructor:re,isView:ne,isTypedArray:ie,TypedArray:T,TypedArrayPrototype:E}})),qa=o(((e,t)=>{var n=H(),r=U(),i=Ga(),a=Ka().NATIVE_ARRAY_BUFFER_VIEWS,o=n.ArrayBuffer,s=n.Int8Array;t.exports=!a||!r(function(){s(1)})||!r(function(){new s(-1)})||!i(function(e){new s,new s(null),new s(1.5),new s(e)},!0)||r(function(){return new s(new o(2),1,void 0).length!==1})})),Ja=o(((e,t)=>{var n=ni(),r=Math.floor;t.exports=Number.isInteger||function(e){return!n(e)&&isFinite(e)&&r(e)===e}})),Ya=o(((e,t)=>{var n=Vi(),r=RangeError;t.exports=function(e){var t=n(e);if(t<0)throw new r(`The argument can't be less than 0`);return t}})),Xa=o(((e,t)=>{var n=Ya(),r=RangeError;t.exports=function(e,t){var i=n(e);if(i%t)throw new r(`Wrong offset`);return i}})),Za=o(((e,t)=>{var n=Math.floor;t.exports=function(e){var t=+e;if(t!==t||t<=0)return 0;if(t>=255)return 255;var r=n(t);return r+.5<t?r+1:t<r+.5||r%2==0?r:r+1}})),Qa=o(((e,t)=>{var n=Aa(),r=fi(),i=Hr(),a=n(n.bind);t.exports=function(e,t){return r(e),t===void 0?e:i?a(e,t):function(){return e.apply(t,arguments)}}})),$a=o(((e,t)=>{var n=W(),r=U(),i=ei(),a=G(),o=ci(),s=yi(),c=function(){},l=o(`Reflect`,`construct`),u=/^\s*(?:class|function)\b/,d=n(u.exec),f=!u.test(c),p=function(e){if(!i(e))return!1;try{return l(c,[],e),!0}catch{return!1}},m=function(e){if(!i(e))return!1;switch(a(e)){case`AsyncFunction`:case`GeneratorFunction`:case`AsyncGeneratorFunction`:return!1}try{return f||!!d(u,s(e))}catch{return!0}};m.sham=!0,t.exports=!l||r(function(){var e;return p(p.call)||!p(Object)||!p(function(){e=!0})||e})?m:p})),eo=o(((e,t)=>{var n=$a(),r=di(),i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(r(e)+` is not a constructor`)}})),to=o(((e,t)=>{var n=Oi(),r=Ur(),i=pi(),a=Qr()(`iterator`),o=Array.prototype;t.exports=function(e){if(!r(e))return i(e,a)||i(e,`@@iterator`)||(n(e)===`Arguments`?o[a]:void 0)}})),no=o(((e,t)=>{var n=si(),r=ei(),i=oi(),a=di(),o=to(),s=TypeError;t.exports=function(e,t){var c=arguments.length<2?o(e):t;if(r(c))return i(n(c,e));throw new s(a(e)+` is not iterable`)}})),ro=o(((e,t)=>{var n=Qr(),r=xa(),i=n(`iterator`),a=Array.prototype;t.exports=function(e){return e!==void 0&&(r.Array===e||a[i]===e)}})),io=o(((e,t)=>{var n=G();t.exports=function(e){var t=n(e);return t===`BigInt64Array`||t===`BigUint64Array`}})),ao=o(((e,t)=>{var n=hi(),r=TypeError;t.exports=function(e){var t=n(e,`number`);if(typeof t==`number`)throw new r(`Can't convert number to bigint`);return BigInt(t)}})),q=o(((e,t)=>{var n=Qa(),r=si(),i=fi(),a=eo(),o=Gr(),s=Wi(),c=no(),l=to(),u=ro(),d=io(),f=Ka().aTypedArrayConstructor,p=ao();t.exports=function(e){var t=a(this),m=arguments.length,h=m>1?arguments[1]:void 0,g=h!==void 0;g&&i(h);var _=o(e),v=l(_),y,b,x,S,C,w,T,E;if(v&&!u(v))for(T=c(_,v),E=T.next,_=[];!(w=r(E,T)).done;)_.push(w.value);for(g&&m>2&&(h=n(h,arguments[2])),b=s(_),x=new(f(t))(b),S=d(x),y=0;b>y;y++)C=g?h(_[y],y):_[y],x[y]=S?p(C):+C;return x}})),oo=o(((e,t)=>{var n=Oi();t.exports=Array.isArray||function(e){return n(e)===`Array`}})),so=o(((e,t)=>{var n=oo(),r=$a(),i=ni(),a=Qr()(`species`),o=Array;t.exports=function(e){var t;return n(e)&&(t=e.constructor,r(t)&&(t===o||n(t.prototype))?t=void 0:i(t)&&(t=t[a],t===null&&(t=void 0))),t===void 0?o:t}})),co=o(((e,t)=>{var n=so();t.exports=function(e,t){return new(n(e))(t===0?0:t)}})),lo=o(((e,t)=>{var n=ti(),r=_i(),i=xi();t.exports=function(e,t,a){n?r.f(e,t,i(0,a)):e[t]=a}})),uo=o(((e,t)=>{var n=Qa(),r=Li(),i=Gr(),a=Wi(),o=co(),s=lo(),c=function(e){var t=e===1,c=e===2,l=e===3,u=e===4,d=e===6,f=e===7,p=e===5||d;return function(m,h,g){for(var _=i(m),v=r(_),y=a(v),b=n(h,g),x=0,S=0,C=t?o(m,y):c||f?o(m,0):void 0,w,T;y>x;x++)if((p||x in v)&&(w=v[x],T=b(w,x,_),e)){if(t)s(C,x,T);else if(T)switch(e){case 3:return!0;case 5:return w;case 6:return x;case 2:s(C,S++,w)}else switch(e){case 4:return!1;case 7:s(C,S++,w)}}return d?-1:l||u?u:C}};t.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}})),fo=o(((e,t)=>{var n=ci(),r=Ma(),i=Qr(),a=ti(),o=i(`species`);t.exports=function(e){var t=n(e);a&&t&&!t[o]&&r(t,o,{configurable:!0,get:function(){return this}})}})),po=o(((e,t)=>{var n=Wi();t.exports=function(e,t,r){for(var i=0,a=arguments.length>2?r:n(t),o=new e(a);a>i;)o[i]=t[i++];return o}})),mo=o(((e,t)=>{var n=K(),r=H(),i=si(),a=ti(),o=qa(),s=Ka(),c=Ua(),l=Pa(),u=xi(),d=Si(),f=Ja(),p=Fa(),m=Xa(),h=Za(),g=gi(),_=Kr(),v=G(),y=ni(),b=ui(),x=ma(),S=li(),C=ia(),w=Ji().f,T=q(),E=uo().forEach,D=fo(),O=Ma(),k=_i(),A=zi(),j=po(),M=Ti(),ee=aa(),N=M.get,P=M.set,F=M.enforce,I=k.f,te=A.f,ne=r.RangeError,re=c.ArrayBuffer,ie=re.prototype,ae=c.DataView,L=s.NATIVE_ARRAY_BUFFER_VIEWS,oe=s.TYPED_ARRAY_TAG,se=s.TypedArray,ce=s.TypedArrayPrototype,le=s.isTypedArray,ue=`BYTES_PER_ELEMENT`,de=`Wrong length`,fe=function(e,t){O(e,t,{configurable:!0,get:function(){return N(this)[t]}})},pe=function(e){var t;return S(ie,e)||(t=v(e))===`ArrayBuffer`||t===`SharedArrayBuffer`},me=function(e,t){return le(e)&&!b(t)&&t in e&&f(+t)&&t>=0},he=function(e,t){return t=g(t),me(e,t)?u(2,e[t]):te(e,t)},ge=function(e,t,n){return t=g(t),me(e,t)&&y(n)&&_(n,`value`)&&!_(n,`get`)&&!_(n,`set`)&&!n.configurable&&(!_(n,`writable`)||n.writable)&&(!_(n,`enumerable`)||n.enumerable)?(e[t]=n.value,e):I(e,t,n)};a?(L||(A.f=he,k.f=ge,fe(ce,`buffer`),fe(ce,`byteOffset`),fe(ce,`byteLength`),fe(ce,`length`)),n({target:`Object`,stat:!0,forced:!L},{getOwnPropertyDescriptor:he,defineProperty:ge}),t.exports=function(e,t,a){var s=e.match(/\d+/)[0]/8,c=e+(a?`Clamped`:``)+`Array`,u=`get`+e,f=`set`+e,g=r[c],_=g,v=_&&_.prototype,b={},S=function(e,t){var n=N(e);return n.view[u](t*s+n.byteOffset,!0)},O=function(e,t,n){var r=N(e);r.view[f](t*s+r.byteOffset,a?h(n):n,!0)},k=function(e,t){I(e,t,{get:function(){return S(this,t)},set:function(e){return O(this,t,e)},enumerable:!0})};L?o&&(_=t(function(e,t,n,r){return l(e,v),ee(function(){return y(t)?pe(t)?r===void 0?n===void 0?new g(t):new g(t,m(n,s)):new g(t,m(n,s),r):le(t)?j(_,t):i(T,_,t):new g(p(t))}(),e,_)}),C&&C(_,se),E(w(g),function(e){e in _||d(_,e,g[e])}),_.prototype=v):(_=t(function(e,t,n,r){l(e,v);var a=0,o=0,c,u,d;if(!y(t))d=p(t),u=d*s,c=new re(u);else if(pe(t)){c=t,o=m(n,s);var f=t.byteLength;if(r===void 0){if(f%s||(u=f-o,u<0))throw new ne(de)}else if(u=p(r)*s,u+o>f)throw new ne(de);d=u/s}else if(le(t))return j(_,t);else return i(T,_,t);for(P(e,{buffer:c,byteOffset:o,byteLength:u,length:d,view:new ae(c)});a<d;)k(e,a++)}),C&&C(_,se),v=_.prototype=x(ce)),v.constructor!==_&&d(v,`constructor`,_),F(v).TypedArrayConstructor=_,oe&&d(v,oe,c);var A=_!==g;b[c]=_,n({global:!0,constructor:!0,forced:A,sham:!L},b),ue in _||d(_,ue,s),ue in v||d(v,ue,s),D(c)}):t.exports=function(){}})),ho=o((()=>{mo()(`Uint8`,function(e){return function(t,n,r){return e(this,t,n,r)}})})),go=o((()=>{var e=Ka(),t=Wi(),n=Vi(),r=e.aTypedArray,i=e.exportTypedArrayMethod;i(`at`,function(e){var i=r(this),a=t(i),o=n(e),s=o>=0?o:a+o;return s<0||s>=a?void 0:i[s]})})),_o=o((()=>{go()})),vo=o(((e,t)=>{var n=di(),r=TypeError;t.exports=function(e,t){if(!delete e[t])throw new r(`Cannot delete property `+n(t)+` of `+n(e))}})),yo=o(((e,t)=>{var n=Gr(),r=Hi(),i=Wi(),a=vo(),o=Math.min;t.exports=[].copyWithin||function(e,t){var s=n(this),c=i(s),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:void 0,f=o((d===void 0?c:r(d,c))-u,c-l),p=1;for(u<l&&l<u+f&&(p=-1,u+=f-1,l+=f-1);f-->0;)u in s?s[l]=s[u]:a(s,l),l+=p,u+=p;return s}})),bo=o((()=>{var e=W(),t=Ka(),n=e(yo()),r=t.aTypedArray,i=t.exportTypedArrayMethod;i(`copyWithin`,function(e,t){return n(r(this),e,t,arguments.length>2?arguments[2]:void 0)})})),xo=o((()=>{var e=Ka(),t=uo().every,n=e.aTypedArray,r=e.exportTypedArrayMethod;r(`every`,function(e){return t(n(this),e,arguments.length>1?arguments[1]:void 0)})})),So=o((()=>{var e=Ka(),t=Va(),n=ao(),r=G(),i=si(),a=W(),o=U(),s=e.aTypedArray,c=e.exportTypedArrayMethod,l=a(``.slice);c(`fill`,function(e){var a=arguments.length;s(this);var o=l(r(this),0,3)===`Big`?n(e):+e;return i(t,this,o,a>1?arguments[1]:void 0,a>2?arguments[2]:void 0)},o(function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),e!==1}))})),Co=o(((e,t)=>{var n=po(),r=Ka().getTypedArrayConstructor;t.exports=function(e,t){return n(r(e),t)}})),wo=o((()=>{var e=Ka(),t=uo().filter,n=Co(),r=e.aTypedArray,i=e.exportTypedArrayMethod;i(`filter`,function(e){var i=t(r(this),e,arguments.length>1?arguments[1]:void 0);return n(this,i)})})),To=o((()=>{var e=Ka(),t=uo().find,n=e.aTypedArray,r=e.exportTypedArrayMethod;r(`find`,function(e){return t(n(this),e,arguments.length>1?arguments[1]:void 0)})})),Eo=o((()=>{var e=Ka(),t=uo().findIndex,n=e.aTypedArray,r=e.exportTypedArrayMethod;r(`findIndex`,function(e){return t(n(this),e,arguments.length>1?arguments[1]:void 0)})})),Do=o((()=>{var e=Ka(),t=uo().forEach,n=e.aTypedArray,r=e.exportTypedArrayMethod;r(`forEach`,function(e){t(n(this),e,arguments.length>1?arguments[1]:void 0)})})),Oo=o((()=>{var e=Ka(),t=Gi().includes,n=e.aTypedArray,r=e.exportTypedArrayMethod;r(`includes`,function(e){return t(n(this),e,arguments.length>1?arguments[1]:void 0)})})),ko=o((()=>{var e=Ka(),t=Gi().indexOf,n=e.aTypedArray,r=e.exportTypedArrayMethod;r(`indexOf`,function(e){return t(n(this),e,arguments.length>1?arguments[1]:void 0)})})),Ao=o((()=>{var e=H(),t=U(),n=W(),r=Ka(),i=ka(),a=Qr()(`iterator`),o=e.Uint8Array,s=n(i.values),c=n(i.keys),l=n(i.entries),u=r.aTypedArray,d=r.exportTypedArrayMethod,f=o&&o.prototype,p=!t(function(){f[a].call([1])}),m=!!f&&f.values&&f[a]===f.values&&f.values.name===`values`,h=function(){return s(u(this))};d(`entries`,function(){return l(u(this))},p),d(`keys`,function(){return c(u(this))},p),d(`values`,h,p||!m,{name:`values`}),d(a,h,p||!m,{name:`values`})})),jo=o((()=>{var e=Ka(),t=W(),n=e.aTypedArray,r=e.exportTypedArrayMethod,i=t([].join);r(`join`,function(e){return i(n(this),e)})})),Mo=o(((e,t)=>{var n=Hr(),r=Function.prototype,i=r.apply,a=r.call;t.exports=typeof Reflect==`object`&&Reflect.apply||(n?a.bind(i):function(){return a.apply(i,arguments)})})),No=o(((e,t)=>{var n=U();t.exports=function(e,t){var r=[][e];return!!r&&n(function(){r.call(null,t||function(){return 1},1)})}})),Po=o(((e,t)=>{var n=Mo(),r=Ri(),i=Vi(),a=Wi(),o=No(),s=Math.min,c=[].lastIndexOf,l=!!c&&1/[1].lastIndexOf(1,-0)<0,u=o(`lastIndexOf`);t.exports=l||!u?function(e){if(l)return n(c,this,arguments)||0;var t=r(this),o=a(t);if(o===0)return-1;var u=o-1;for(arguments.length>1&&(u=s(u,i(arguments[1]))),u<0&&(u=o+u);u>=0;u--)if(u in t&&t[u]===e)return u||0;return-1}:c})),Fo=o((()=>{var e=Ka(),t=Mo(),n=Po(),r=e.aTypedArray,i=e.exportTypedArrayMethod;i(`lastIndexOf`,function(e){var i=arguments.length;return t(n,r(this),i>1?[e,arguments[1]]:[e])})})),Io=o((()=>{var e=Ka(),t=uo().map,n=Co(),r=e.aTypedArray,i=e.exportTypedArrayMethod;i(`map`,function(e){var i=t(r(this),e,arguments.length>1?arguments[1]:void 0);return n(this,i)})})),Lo=o(((e,t)=>{var n=fi(),r=Gr(),i=Li(),a=Wi(),o=TypeError,s=`Reduce of empty array with no initial value`,c=function(e){return function(t,c,l,u){var d=r(t),f=i(d),p=a(d);if(n(c),p===0&&l<2)throw new o(s);var m=e?p-1:0,h=e?-1:1;if(l<2)for(;;){if(m in f){u=f[m],m+=h;break}if(m+=h,e?m<0:p<=m)throw new o(s)}for(;e?m>=0:p>m;m+=h)m in f&&(u=c(u,f[m],m,d));return u}};t.exports={left:c(!1),right:c(!0)}})),Ro=o((()=>{var e=Ka(),t=Lo().left,n=e.aTypedArray,r=e.exportTypedArrayMethod;r(`reduce`,function(e){var r=arguments.length;return t(n(this),e,r,r>1?arguments[1]:void 0)})})),zo=o((()=>{var e=Ka(),t=Lo().right,n=e.aTypedArray,r=e.exportTypedArrayMethod;r(`reduceRight`,function(e){var r=arguments.length;return t(n(this),e,r,r>1?arguments[1]:void 0)})})),Bo=o((()=>{var e=Ka(),t=e.aTypedArray,n=e.exportTypedArrayMethod,r=Math.floor;n(`reverse`,function(){for(var e=this,n=t(e).length,i=r(n/2),a=0,o;a<i;)o=e[a],e[a++]=e[--n],e[n]=o;return e})})),Vo=o((()=>{var e=H(),t=si(),n=Ka(),r=Wi(),i=Xa(),a=Gr(),o=U(),s=e.RangeError,c=e.Int8Array,l=c&&c.prototype,u=l&&l.set,d=n.aTypedArray,f=n.exportTypedArrayMethod,p=!o(function(){var e=new Uint8ClampedArray(2);return t(u,e,{length:1,0:3},1),e[1]!==3}),m=p&&n.NATIVE_ARRAY_BUFFER_VIEWS&&o(function(){var e=new c(2);return e.set(1),e.set(`2`,1),e[0]!==0||e[1]!==2});f(`set`,function(e){d(this);var n=i(arguments.length>1?arguments[1]:void 0,1),o=a(e);if(p)return t(u,this,o,n);var c=this.length,l=r(o),f=0;if(l+n>c)throw new s(`Wrong length`);for(;f<l;)this[n+f]=o[f++]},!p||m)})),Ho=o((()=>{var e=Ka(),t=U(),n=Ha(),r=e.aTypedArray,i=e.getTypedArrayConstructor,a=e.exportTypedArrayMethod;a(`slice`,function(e,t){for(var a=n(r(this),e,t),o=i(this),s=0,c=a.length,l=new o(c);c>s;)l[s]=a[s++];return l},t(function(){new Int8Array(1).slice()}))})),Uo=o((()=>{var e=Ka(),t=uo().some,n=e.aTypedArray,r=e.exportTypedArrayMethod;r(`some`,function(e){return t(n(this),e,arguments.length>1?arguments[1]:void 0)})})),Wo=o(((e,t)=>{var n=Ha(),r=Math.floor,i=function(e,t){var a=e.length;if(a<8)for(var o=1,s,c;o<a;){for(c=o,s=e[o];c&&t(e[c-1],s)>0;)e[c]=e[--c];c!==o++&&(e[c]=s)}else for(var l=r(a/2),u=i(n(e,0,l),t),d=i(n(e,l),t),f=u.length,p=d.length,m=0,h=0;m<f||h<p;)e[m+h]=m<f&&h<p?t(u[m],d[h])<=0?u[m++]:d[h++]:m<f?u[m++]:d[h++];return e};t.exports=i})),Go=o(((e,t)=>{var n=Jr().match(/firefox\/(\d+)/i);t.exports=!!n&&+n[1]})),Ko=o(((e,t)=>{var n=Jr();t.exports=/MSIE|Trident/.test(n)})),qo=o(((e,t)=>{var n=Jr().match(/AppleWebKit\/(\d+)\./);t.exports=!!n&&+n[1]})),Jo=o((()=>{var e=H(),t=Aa(),n=U(),r=fi(),i=Wo(),a=Ka(),o=Go(),s=Ko(),c=Yr(),l=qo(),u=a.aTypedArray,d=a.exportTypedArrayMethod,f=e.Uint16Array,p=f&&t(f.prototype.sort),m=!!p&&!(n(function(){p(new f(2),null)})&&n(function(){p(new f(2),{})})),h=!!p&&!n(function(){if(c)return c<74;if(o)return o<67;if(s)return!0;if(l)return l<602;var e=new f(516),t=Array(516),n,r;for(n=0;n<516;n++)r=n%4,e[n]=515-n,t[n]=n-2*r+3;for(p(e,function(e,t){return(e/4|0)-(t/4|0)}),n=0;n<516;n++)if(e[n]!==t[n])return!0}),g=function(e){return function(t,n){return e===void 0?n===n?t===t?t===0&&n===0?1/t>0?1/n>0?0:1:1/n>0?-1:0:t>n?1:t<n?-1:0:1:t===t?-1:0:+e(t,n)||0}};d(`sort`,function(e){return e!==void 0&&r(e),h?p(this,e):i(u(this),g(e))},!h||m)})),Yo=o((()=>{var e=Ka(),t=Ui(),n=Hi(),r=e.aTypedArray,i=e.getTypedArrayConstructor,a=e.exportTypedArrayMethod;a(`subarray`,function(e,a){var o=r(this),s=o.length,c=n(e,s);return new(i(o))(o.buffer,o.byteOffset+c*o.BYTES_PER_ELEMENT,t((a===void 0?s:n(a,s))-c))})})),Xo=o((()=>{var e=H(),t=Mo(),n=Ka(),r=U(),i=Ha(),a=e.Int8Array,o=n.aTypedArray,s=n.exportTypedArrayMethod,c=[].toLocaleString,l=!!a&&r(function(){c.call(new a(1))});s(`toLocaleString`,function(){return t(c,l?i(o(this)):o(this),i(arguments))},r(function(){return[1,2].toLocaleString()!==new a([1,2]).toLocaleString()})||!r(function(){a.prototype.toLocaleString.call([1,2])}))})),Zo=o((()=>{var e=Ka().exportTypedArrayMethod,t=U(),n=H(),r=W(),i=n.Uint8Array,a=i&&i.prototype||{},o=[].toString,s=r([].join);t(function(){o.call({})})&&(o=function(){return s(this)});var c=a.toString!==o;e(`toString`,o,c)})),Qo=o(((e,t)=>{var n=si(),r=oi(),i=pi();t.exports=function(e,t,a){var o,s;r(e);try{if(o=i(e,`return`),!o){if(t===`throw`)throw a;return a}o=n(o,e)}catch(e){s=!0,o=e}if(t===`throw`)throw a;if(s)throw o;return r(o),a}})),$o=o(((e,t)=>{var n=oi(),r=Qo();t.exports=function(e,t,i,a){try{return a?t(n(i)[0],i[1]):t(i)}catch(t){r(e,`throw`,t)}}})),es=o(((e,t)=>{var n=ti(),r=oo(),i=TypeError,a=Object.getOwnPropertyDescriptor;t.exports=n&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}()?function(e,t){if(r(e)&&!a(e,`length`).writable)throw new i(`Cannot set read only .length`);return e.length=t}:function(e,t){return e.length=t}})),ts=o(((e,t)=>{var n=TypeError,r=9007199254740991;t.exports=function(e){if(e>r)throw new n(`Maximum allowed index exceeded`);return e}})),ns=o(((e,t)=>{var n=Qa(),r=si(),i=Gr(),a=$o(),o=ro(),s=$a(),c=Wi(),l=lo(),u=es(),d=no(),f=to(),p=Qo(),m=ts(),h=Array;t.exports=function(e){var t=s(this),g=arguments.length,_=g>1?arguments[1]:void 0,v=_!==void 0;v&&(_=n(_,g>2?arguments[2]:void 0));var y=i(e),b=f(y),x=0,S,C,w,T,E,D;if(b&&!(this===h&&o(b)))for(C=t?new this:[],T=d(y,b),E=T.next;!(w=r(E,T)).done;x++){try{m(x)}catch(e){p(T,`throw`,e)}D=v?a(T,_,[w.value,x],!0):w.value;try{l(C,x,D)}catch(e){p(T,`throw`,e)}}else for(S=c(y),C=t?new this(S):h(S);S>x;x++)D=v?_(y[x],x):y[x],l(C,x,D);return u(C,x),C}})),rs=o((()=>{var e=K(),t=ns();e({target:`Array`,stat:!0,forced:!Ga()(function(e){Array.from(e)})},{from:t})})),is=o(((e,t)=>{var n=W(),r=Vi(),i=ji(),a=Wr(),o=n(``.charAt),s=n(``.charCodeAt),c=n(``.slice),l=function(e){return function(t,n){var l=i(a(t)),u=r(n),d=l.length,f,p;return u<0||u>=d?e?``:void 0:(f=s(l,u),f<55296||f>56319||u+1===d||(p=s(l,u+1))<56320||p>57343?e?o(l,u):f:e?c(l,u,u+2):(f-55296<<10)+(p-56320)+65536)}};t.exports={codeAt:l(!1),charAt:l(!0)}})),as=o((()=>{var e=is().charAt,t=ji(),n=Ti(),r=Da(),i=Oa(),a=`String Iterator`,o=n.set,s=n.getterFor(a);r(String,`String`,function(e){o(this,{type:a,string:t(e),index:0})},function(){var t=s(this),n=t.string,r=t.index,a;return r>=n.length?i(void 0,!0):(a=e(n,r),t.index+=a.length,i(a,!1))})})),os=o(((e,t)=>{var n=H(),r=U(),i=W(),a=ji(),o=ca().trim,s=sa(),c=n.parseInt,l=n.Symbol,u=l&&l.iterator,d=/^[+-]?0x/i,f=i(d.exec);t.exports=c(s+`08`)!==8||c(s+`0x16`)!==22||u&&!r(function(){c(Object(u))})?function(e,t){var n=o(a(e));return c(n,t>>>0||(f(d,n)?16:10))}:c})),ss=o((()=>{var e=K(),t=os();e({target:`Number`,stat:!0,forced:Number.parseInt!==t},{parseInt:t})})),cs=o((()=>{var e=K(),t=W(),n=Li(),r=Ri(),i=No(),a=t([].join);e({target:`Array`,proto:!0,forced:n!==Object||!i(`join`,`,`)},{join:function(e){return a(r(this),e===void 0?`,`:e)}})})),ls=o(((e,t)=>{va();var n=si(),r=Di(),i=_a(),a=U(),o=Qr(),s=Si(),c=o(`species`),l=RegExp.prototype;t.exports=function(e,t,u,d){var f=o(e),p=!a(function(){var t={};return t[f]=function(){return 7},``[e](t)!==7}),m=p&&!a(function(){var t=!1,n=/a/;if(e===`split`){var r={};r[c]=function(){return n},n={constructor:r,flags:``},n[f]=/./[f]}return n.exec=function(){return t=!0,null},n[f](``),!t});if(!p||!m||u){var h=/./[f],g=t(f,``[e],function(e,t,r,a,o){var s=t.exec;return s===i||s===l.exec?p&&!o?{done:!0,value:n(h,t,r,a)}:{done:!0,value:n(e,r,t,a)}:{done:!1}});r(String.prototype,e,g[0]),r(l,f,g[1])}d&&s(l[f],`sham`,!0)}})),us=o(((e,t)=>{var n=is().charAt;t.exports=function(e,t,r){return t+(r&&n(e,t).length||1)}})),ds=o(((e,t)=>{var n=si(),r=oi(),i=ei(),a=Oi(),o=_a(),s=TypeError;t.exports=function(e,t){var c=e.exec;if(i(c)){var l=n(c,e,t);return l!==null&&r(l),l}if(a(e)===`RegExp`)return n(o,e,t);throw new s(`RegExp#exec called on incompatible receiver`)}})),fs=o((()=>{var e=si(),t=W(),n=ls(),r=oi(),i=ni(),a=Ui(),o=ji(),s=Wr(),c=pi(),l=us(),u=Pi(),d=ds(),f=t(``.indexOf);n(`match`,function(t,n,p){return[function(n){var r=s(this),a=i(n)?c(n,t):void 0;if(a)return e(a,n,r);var l=o(r);return new RegExp(n)[t](l)},function(e){var t=r(this),i=o(e),s=p(n,t,i);if(s.done)return s.value;var c=o(u(t));if(!~f(c,`g`))return d(t,i);var m=!!~f(c,`u`)||!!~f(c,`v`);t.lastIndex=0;for(var h=[],g=0,_;(_=d(t,i))!==null;){var v=o(_[0]);h[g]=v,v===``&&(t.lastIndex=l(i,a(t.lastIndex),m)),g++}return g===0?null:h}]})})),ps=o((()=>{var e=ti(),t=vi().EXISTS,n=W(),r=Ma(),i=Function.prototype,a=n(i.toString),o=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,s=n(o.exec);e&&!t&&r(i,`name`,{configurable:!0,get:function(){try{return s(o,a(this))[1]}catch{return``}}})})),ms=o(((e,t)=>{var n=ni(),r=Ti().get;t.exports=function(e){if(!n(e))return!1;var t=r(e);return!!t&&t.type===`RawJSON`}})),hs=o(((e,t)=>{var n=W(),r=Kr(),i=SyntaxError,a=parseInt,o=String.fromCharCode,s=n(``.charAt),c=n(``.slice),l=n(/./.exec),u={'\\"':`"`,"\\\\":`\\`,"\\/":`/`,"\\b":`\b`,"\\f":`\f`,"\\n":`
24
24
  `,"\\r":`\r`,"\\t":` `},d=/^[\da-f]{4}$/i,f=/^[\u0000-\u001F]$/;t.exports=function(e,t){for(var n=!0,p=``;t<e.length;){var m=s(e,t);if(m===`\\`){var h=c(e,t,t+2);if(r(u,h))p+=u[h],t+=2;else if(h===`\\u`){t+=2;var g=c(e,t,t+4);if(!l(d,g))throw new i(`Bad Unicode escape at: `+t);p+=o(a(g,16)),t+=4}else throw new i(`Unknown escape sequence: "`+h+`"`)}else if(m===`"`){n=!1,t++;break}else{if(l(f,m))throw new i(`Bad control character in string literal at: `+t);p+=m,t++}}if(n)throw new i(`Unterminated string at: `+t);return{value:p,end:t}}})),gs=o(((e,t)=>{t.exports=!U()(function(){var e=`9007199254740993`,t=JSON.rawJSON(e);return!JSON.isRawJSON(t)||JSON.stringify(t)!==e})})),_s=o((()=>{var e=K(),t=ci(),n=si(),r=W(),i=U(),a=oo(),o=ei(),s=ni(),c=ma(),l=ms(),u=ui(),d=Oi(),f=oa(),p=Gi().includes,m=Kr(),h=ji(),g=hs(),_=qr(),v=Xr(),y=gs(),b=String,x=TypeError,S=t(`JSON`,`stringify`),C=t(`BigInt`),w=r(``.valueOf),T=r((!0).valueOf),E=C&&r(C.prototype.valueOf),D=r(/./.exec),O=r(``.charAt),k=r(``.charCodeAt),A=r(``.replace),j=r(``.slice),M=r([].push),ee=r([].pop),N=r(1.1.toString),P=/[\uD800-\uDFFF]/g,F=/^[\uD800-\uDBFF]$/,I=/^[\uDC00-\uDFFF]$/,te=/^\d+$/,ne=_(),re=_(),ie=_(),ae=ne.length,L=re.length,oe=!v||i(function(){var e=t(`Symbol`)(`stringify detection`);return S([e])!==`[null]`||S({a:e})!==`{}`||S(Object(e))!==`{}`}),se=i(function(){return S(`\udf06\ud834`)!==`"\\udf06\\ud834"`||S(`\udead`)!==`"\\udead"`}),ce=y?t(`JSON`,`isRawJSON`):l,le=oe?function(e,t,r){return S(e,function(e,r){var i=n(t,this,e,r);if(!u(i))return i},r)}:S,ue=function(e,t,n){var r=O(n,t-1),i=O(n,t+1);return D(F,e)&&!D(I,i)||D(I,e)&&!D(F,r)?`\\u`+N(k(e,0),16):e},de=function(e){if(a(e)){for(var t=e.length,n=[],r=c(null),i=0;i<t;i++){var o=e[i],s;if(typeof o==`string`)s=o;else if(typeof o==`number`||d(o)===`Number`||d(o)===`String`)s=h(o);else continue;m(r,s)||(r[s]=!0,M(n,s))}return n}},fe=function(e,t){try{return e(t),!0}catch{return!1}},pe=function(e){var t=d(e);return t===`Number`&&fe(f,e)||t===`String`&&fe(w,e)||t===`Boolean`&&fe(T,e)||!!E&&t===`BigInt`&&fe(E,e)},me=function(e){if(!s(e)||o(e)||a(e))return!1;try{return!pe(e)}catch{return!0}},he=function(e,t){return{toJSON:function(){var r=e[t];if(s(r)||typeof r==`bigint`){var i=r.toJSON;o(i)&&(r=n(i,r,t))}return r}}},ge=function(e){for(var t=0,n=e.length;t<n;t++)if(D(te,e[t]))return re;return``},_e=function(e,t,n){for(var r=c(null),i=0,a=t.length;i<a;i++){var o=t[i];r[n+o]=he(e,o)}return r[ie]=null,r};S&&e({target:`JSON`,stat:!0,arity:3,forced:oe||se||!y},{stringify:function(e,t,r){var i=o(t)?t:void 0,s=i?void 0:de(t),c=s&&ge(s),l=[],u=[],d=[],f,m=!1,h=!0,_=le(e,function(e,t){if(e=b(e),s){if(e===ie){ee(u),f=ee(d);return}if(h)h=!1;else if(this!==f&&!a(this)&&!p(s,e))return}else i&&(t=n(i,this,e,t));if(ce(t))return y?t:(m=!0,ne+(M(l,t.rawJSON)-1));if(s&&me(t)){if(p(u,t))throw new x(`Converting circular structure to JSON`);var r=_e(t,s,c);return M(u,t),M(d,f),f=r,c&&(m=!0),r}return t},r);if(typeof _!=`string`||(se&&(_=A(_,P,ue)),!m))return _;for(var v=``,S=_.length,C=0;C<S;C++){var w=O(_,C);if(w===`"`){var T=g(_,++C).end-1,E=j(_,C,T);j(E,0,ae)===ne?v+=l[j(E,ae)]:j(E,0,L)===re?v+=`"`+j(E,L)+`"`:v+=`"`+E+`"`,C=T}else v+=w}return v}})})),vs=o(((e,t)=>{var n=H(),r=Jr(),i=Oi(),a=function(e){return r.slice(0,e.length)===e};t.exports=(function(){return a(`Bun/`)?`BUN`:a(`Cloudflare-Workers`)?`CLOUDFLARE`:a(`Deno/`)?`DENO`:a(`Node.js/`)?`NODE`:n.Bun&&typeof Bun.version==`string`?`BUN`:n.Deno&&typeof Deno.version==`object`?`DENO`:i(n.process)===`process`?`NODE`:n.window&&n.document?`BROWSER`:`REST`})()})),ys=o(((e,t)=>{t.exports=vs()===`NODE`})),bs=o(((e,t)=>{var n=oi(),r=eo(),i=Ur(),a=Qr()(`species`);t.exports=function(e,t){var o=n(e).constructor,s;return o===void 0||i(s=n(o)[a])?t:r(s)}})),xs=o(((e,t)=>{var n=TypeError;t.exports=function(e,t){if(e<t)throw new n(`Not enough arguments`);return e}})),Ss=o(((e,t)=>{var n=Jr();t.exports=/ipad|iphone|ipod/i.test(n)&&/applewebkit/i.test(n)})),Cs=o(((e,t)=>{var n=H(),r=Mo(),i=Qa(),a=ei(),o=Kr(),s=U(),c=pa(),l=Ha(),u=ri(),d=xs(),f=Ss(),p=ys(),m=n.setImmediate,h=n.clearImmediate,g=n.process,_=n.Dispatch,v=n.Function,y=n.MessageChannel,b=n.String,x=0,S={},C=`onreadystatechange`,w,T,E,D;s(function(){w=n.location});var O=function(e){if(o(S,e)){var t=S[e];delete S[e],t()}},k=function(e){return function(){O(e)}},A=function(e){O(e.data)},j=function(e){n.postMessage(b(e),w.protocol+`//`+w.host)};(!m||!h)&&(m=function(e){d(arguments.length,1);var t=a(e)?e:v(e),n=l(arguments,1);return S[++x]=function(){r(t,void 0,n)},T(x),x},h=function(e){delete S[e]},p?T=function(e){g.nextTick(k(e))}:_&&_.now?T=function(e){_.now(k(e))}:y&&!f?(E=new y,D=E.port2,E.port1.onmessage=A,T=i(D.postMessage,D)):n.addEventListener&&a(n.postMessage)&&!n.importScripts&&w&&w.protocol!==`file:`&&!s(j)?(T=j,n.addEventListener(`message`,A,!1)):T=C in u(`script`)?function(e){c.appendChild(u(`script`))[C]=function(){c.removeChild(this),O(e)}}:function(e){setTimeout(k(e),0)}),t.exports={set:m,clear:h}})),ws=o(((e,t)=>{var n=H(),r=ti(),i=Object.getOwnPropertyDescriptor;t.exports=function(e){if(!r)return n[e];var t=i(n,e);return t&&t.value}})),Ts=o(((e,t)=>{var n=function(){this.head=null,this.tail=null};n.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(this.head=e.next)===null&&(this.tail=null),e.item}},t.exports=n})),Es=o(((e,t)=>{var n=Jr();t.exports=/ipad|iphone|ipod/i.test(n)&&typeof Pebble<`u`})),Ds=o(((e,t)=>{var n=Jr();t.exports=/web0s(?!.*chrome)/i.test(n)})),Os=o(((e,t)=>{var n=H(),r=ws(),i=Qa(),a=Cs().set,o=Ts(),s=Ss(),c=Es(),l=Ds(),u=ys(),d=n.MutationObserver||n.WebKitMutationObserver,f=n.document,p=n.process,m=n.Promise,h=r(`queueMicrotask`),g,_,v,y,b;if(!h){var x=new o,S=function(){var e,t;for(u&&(e=p.domain)&&e.exit();t=x.get();)try{t()}catch(e){throw x.head&&g(),e}e&&e.enter()};!s&&!u&&!l&&d&&f?(_=!0,v=f.createTextNode(``),new d(S).observe(v,{characterData:!0}),g=function(){v.data=_=!_}):!c&&m&&m.resolve?(y=m.resolve(void 0),y.constructor=m,b=i(y.then,y),g=function(){b(S)}):u?g=function(){p.nextTick(S)}:(a=i(a,n),g=function(){a(S)}),h=function(e){x.head||g(),x.add(e)}}t.exports=h})),ks=o(((e,t)=>{t.exports=function(e,t){try{arguments.length===1?console.error(e):console.error(e,t)}catch{}}})),As=o(((e,t)=>{t.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}})),js=o(((e,t)=>{t.exports=H().Promise})),Ms=o(((e,t)=>{var n=H(),r=js(),i=ei(),a=Qi(),o=yi(),s=Qr(),c=vs(),l=Rr(),u=Yr(),d=r&&r.prototype,f=s(`species`),p=!1,m=i(n.PromiseRejectionEvent);t.exports={CONSTRUCTOR:a(`Promise`,function(){var e=o(r),t=e!==String(r);if(!t&&u===66||l&&!(d.catch&&d.finally))return!0;if(!u||u<51||!/native code/.test(e)){var n=new r(function(e){e(1)}),i=function(e){e(function(){},function(){})},a=n.constructor={};if(a[f]=i,p=n.then(function(){})instanceof i,!p)return!0}return!t&&(c===`BROWSER`||c===`DENO`)&&!m}),REJECTION_EVENT:m,SUBCLASSING:p}})),Ns=o(((e,t)=>{var n=fi(),r=TypeError,i=function(e){var t,i;this.promise=new e(function(e,n){if(t!==void 0||i!==void 0)throw new r(`Bad Promise constructor`);t=e,i=n}),this.resolve=n(t),this.reject=n(i)};t.exports.f=function(e){return new i(e)}})),Ps=o((()=>{var e=K(),t=Rr(),n=ys(),r=H(),i=ea(),a=si(),o=Di(),s=ia(),c=Ta(),l=fo(),u=fi(),d=ei(),f=ni(),p=Pa(),m=bs(),h=Cs().set,g=Os(),_=ks(),v=As(),y=Ts(),b=Ti(),x=js(),S=Ms(),C=Ns(),w=`Promise`,T=S.CONSTRUCTOR,E=S.REJECTION_EVENT,D=S.SUBCLASSING,O=b.getterFor(w),k=b.set,A=x&&x.prototype,j=x,M=A,ee=r.TypeError,N=r.document,P=r.process,F=C.f,I=F,te=!!(N&&N.createEvent&&r.dispatchEvent),ne=`unhandledrejection`,re=`rejectionhandled`,ie=0,ae=1,L=2,oe=1,se=2,ce,le,ue,de,fe=function(e){var t;return f(e)&&d(t=e.then)?t:!1},pe=function(e,t){var n=t.value,r=t.state===ae,i=r?e.ok:e.fail,o=e.resolve,s=e.reject,c=e.domain,l,u,d;try{i?(r||(t.rejection===se&&ve(t),t.rejection=oe),i===!0?l=n:(c&&c.enter(),l=i(n),c&&(c.exit(),d=!0)),l===e.promise?s(new ee(`Promise-chain cycle`)):(u=fe(l))?a(u,l,o,s):o(l)):s(n)}catch(e){c&&!d&&c.exit(),s(e)}},me=function(e,t){e.notified||(e.notified=!0,g(function(){for(var n=e.reactions,r;r=n.get();)pe(r,e);e.notified=!1,t&&!e.rejection&&ge(e)}))},he=function(e,t,n){var i,a;te?(i=N.createEvent(`Event`),i.promise=t,i.reason=n,i.initEvent(e,!1,!0),r.dispatchEvent(i)):i={promise:t,reason:n},!E&&(a=r[`on`+e])?a(i):e===ne&&_(`Unhandled promise rejection`,n)},ge=function(e){a(h,r,function(){var t=e.facade,r=e.value,i=_e(e),a;if(i&&(a=v(function(){n?P.emit(`unhandledRejection`,r,t):he(ne,t,r)}),e.rejection=n||_e(e)?se:oe,a.error))throw a.value})},_e=function(e){return e.rejection!==oe&&!e.parent},ve=function(e){a(h,r,function(){var t=e.facade;n?P.emit(`rejectionHandled`,t):he(re,t,e.value)})},ye=function(e,t,n){return function(r){e(t,r,n)}},be=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=L,me(e,!0))},xe=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw new ee(`Promise can't be resolved itself`);var r=fe(t);r?g(function(){var n={done:!1};try{a(r,t,ye(xe,n,e),ye(be,n,e))}catch(t){be(n,t,e)}}):(e.value=t,e.state=ae,me(e,!1))}catch(t){be({done:!1},t,e)}}};if(T&&(j=function(e){p(this,M),u(e),a(ce,this);var t=O(this);try{e(ye(xe,t),ye(be,t))}catch(e){be(t,e)}},M=j.prototype,ce=function(e){k(this,{type:w,done:!1,notified:!1,parent:!1,reactions:new y,rejection:!1,state:ie,value:null})},ce.prototype=o(M,`then`,function(e,t){var r=O(this),i=F(m(this,j));return r.parent=!0,i.ok=!d(e)||e,i.fail=d(t)&&t,i.domain=n?P.domain:void 0,r.state===ie?r.reactions.add(i):g(function(){pe(i,r)}),i.promise}),le=function(){var e=new ce,t=O(e);this.promise=e,this.resolve=ye(xe,t),this.reject=ye(be,t)},C.f=F=function(e){return e===j||e===ue?new le(e):I(e)},!t&&d(x)&&A!==Object.prototype)){de=A.then,D||o(A,`then`,function(e,t){var n=this;return new j(function(e,t){a(de,n,e,t)}).then(e,t)},{unsafe:!0});try{delete A.constructor}catch{}s&&s(A,M)}e({global:!0,constructor:!0,wrap:!0,forced:T},{Promise:j}),ue=i.Promise,c(j,w,!1,!0),l(w)})),Fs=o(((e,t)=>{var n=Qa(),r=si(),i=oi(),a=di(),o=ro(),s=Wi(),c=li(),l=no(),u=to(),d=Qo(),f=TypeError,p=function(e,t){this.stopped=e,this.result=t},m=p.prototype;t.exports=function(e,t,h){var g=h&&h.that,_=!!(h&&h.AS_ENTRIES),v=!!(h&&h.IS_RECORD),y=!!(h&&h.IS_ITERATOR),b=!!(h&&h.INTERRUPTED),x=n(t,g),S,C,w,T,E,D,O,k=function(e){var t=S;return S=void 0,t&&d(t,`normal`),new p(!0,e)},A=function(e){return _?(i(e),b?x(e[0],e[1],k):x(e[0],e[1])):b?x(e,k):x(e)};if(v)S=e.iterator;else if(y)S=e;else{if(C=u(e),!C)throw new f(a(e)+` is not iterable`);if(o(C)){for(w=0,T=s(e);T>w;w++)if(E=A(e[w]),E&&c(m,E))return E;return new p(!1)}S=l(e,C)}for(D=v?e.next:S.next;!(O=r(D,S)).done;){var j=O.value;try{E=A(j)}catch(e){if(S)d(S,`throw`,e);else throw e}if(typeof E==`object`&&E&&c(m,E))return E}return new p(!1)}})),Is=o(((e,t)=>{var n=js(),r=Ga();t.exports=Ms().CONSTRUCTOR||!r(function(e){n.all(e).then(void 0,function(){})})})),Ls=o((()=>{var e=K(),t=si(),n=fi(),r=Ns(),i=As(),a=Fs();e({target:`Promise`,stat:!0,forced:Is()},{all:function(e){var o=this,s=r.f(o),c=s.resolve,l=s.reject,u=i(function(){var r=n(o.resolve),i=[],s=0,u=1;a(e,function(e){var n=s++,a=!1;u++,t(r,o,e).then(function(e){a||(a=!0,i[n]=e,--u||c(i))},l)}),--u||c(i)});return u.error&&l(u.value),s.promise}})})),Rs=o((()=>{var e=K(),t=Rr(),n=Ms().CONSTRUCTOR,r=js(),i=ci(),a=ei(),o=Di(),s=r&&r.prototype;if(e({target:`Promise`,proto:!0,forced:n,real:!0},{catch:function(e){return this.then(void 0,e)}}),!t&&a(r)){var c=i(`Promise`).prototype.catch;s.catch!==c&&o(s,`catch`,c,{unsafe:!0})}})),zs=o((()=>{var e=K(),t=si(),n=fi(),r=Ns(),i=As(),a=Fs();e({target:`Promise`,stat:!0,forced:Is()},{race:function(e){var o=this,s=r.f(o),c=s.reject,l=i(function(){var r=n(o.resolve);a(e,function(e){t(r,o,e).then(s.resolve,c)})});return l.error&&c(l.value),s.promise}})})),Bs=o((()=>{var e=K(),t=Ns(),n=Ms().CONSTRUCTOR;e({target:`Promise`,stat:!0,forced:n},{reject:function(e){var n=t.f(this),r=n.reject;return r(e),n.promise}})})),Vs=o(((e,t)=>{var n=oi(),r=ni(),i=Ns();t.exports=function(e,t){if(n(e),r(t)&&t.constructor===e)return t;var a=i.f(e),o=a.resolve;return o(t),a.promise}})),Hs=o((()=>{var e=K(),t=ci(),n=Rr(),r=js(),i=Ms().CONSTRUCTOR,a=Vs(),o=t(`Promise`),s=n&&!i;e({target:`Promise`,stat:!0,forced:n||i},{resolve:function(e){return a(s&&this===o?r:this,e)}})})),Us=o((()=>{Ps(),Ls(),Rs(),zs(),Bs(),Hs()})),Ws=o(((e,t)=>{var n=ni(),r=Oi(),i=Qr()(`match`);t.exports=function(e){var t;return n(e)&&((t=e[i])===void 0?r(e)===`RegExp`:!!t)}})),Gs=o(((e,t)=>{var n=_i().f;t.exports=function(e,t,r){r in e||n(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})}})),Ks=o((()=>{var e=ti(),t=H(),n=W(),r=Qi(),i=aa(),a=Si(),o=ma(),s=Ji().f,c=li(),l=Ws(),u=ji(),d=Pi(),f=ua(),p=Gs(),m=Di(),h=U(),g=Kr(),_=Ti().enforce,v=fo(),y=Qr(),b=ha(),x=ga(),S=y(`match`),C=t.RegExp,w=C.prototype,T=t.SyntaxError,E=n(w.exec),D=n(``.charAt),O=n(``.replace),k=n(``.indexOf),A=n(``.slice),j=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,M=/a/g,ee=/a/g,N=new C(M)!==M,P=f.MISSED_STICKY,F=f.UNSUPPORTED_Y,I=e&&(!N||P||b||x||h(function(){return ee[S]=!1,C(M)!==M||C(ee)===ee||String(C(M,`i`))!==`/a/i`})),te=function(e){for(var t=e.length,n=0,r=``,i=!1,a;n<t;n++){if(a=D(e,n),a===`\\`){r+=a+D(e,++n);continue}!i&&a===`.`?r+=`[\\s\\S]`:(a===`[`?i=!0:a===`]`&&(i=!1),r+=a)}return r},ne=function(e){for(var t=e.length,n=0,r=``,i=[],a=o(null),s=!1,c=!1,l=0,u=``,d;n<t;n++){if(d=D(e,n),d===`\\`){if(d+=D(e,++n),!c&&D(d,1)===`\\`){r+=`\\x5c`;continue}}else if(d===`]`)s=!1;else if(!s)switch(!0){case d===`[`:s=!0;break;case d===`(`:r+=d,E(j,A(e,n+1))?(n+=2,c=!0,l++):D(e,n+1)!==`?`&&l++;continue;case d===`>`&&c:if(u===``||g(a,u))throw new T(`Invalid capture group name`);a[u]=!0,i[i.length]=[u,l],c=!1,u=``;continue}c?u+=d:r+=d}for(var f=0;f<i.length;f++)for(var p=`\\k<`+i[f][0]+`>`,m=`\\`+i[f][1];k(r,p)>-1;)r=O(r,p,m);return[r,i]};if(r(`RegExp`,I)){for(var re=function(e,t){var n=c(w,this),r=l(e),o=t===void 0,s=[],f=e,p,m,h,g,v,y;if(!n&&r&&o&&e.constructor===re)return e;if((r||c(w,e))&&(e=e.source,o&&(t=d(f))),e=e===void 0?``:u(e),t=t===void 0?``:u(t),f=e,b&&`dotAll`in M&&(m=!!t&&k(t,`s`)>-1,m&&(t=O(t,/s/g,``))),p=t,P&&`sticky`in M&&(h=!!t&&k(t,`y`)>-1,h&&F&&(t=O(t,/y/g,``))),x&&(g=ne(e),e=g[0],s=g[1]),v=i(C(e,t),n?this:w,re),(m||h||s.length)&&(y=_(v),m&&(y.dotAll=!0,y.raw=re(te(e),p)),h&&(y.sticky=!0),s.length&&(y.groups=s)),e!==f)try{a(v,`source`,f===``?`(?:)`:f)}catch{}return v},ie=s(C),ae=0;ie.length>ae;)p(re,C,ie[ae++]);w.constructor=re,re.prototype=w,m(t,`RegExp`,re,{constructor:!0})}v(`RegExp`)})),qs=o((()=>{var e=ti(),t=ua().MISSED_STICKY,n=Oi(),r=Ma(),i=Ti().get,a=RegExp.prototype,o=TypeError;e&&t&&r(a,`sticky`,{configurable:!0,get:function(){if(this!==a){if(n(this)===`RegExp`)return!!i(this).sticky;throw new o(`Incompatible receiver, RegExp required`)}}})})),Js=o(((e,t)=>{t.exports={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}})),Ys=o(((e,t)=>{var n=ri()(`span`).classList,r=n&&n.constructor&&n.constructor.prototype;t.exports=r===Object.prototype?void 0:r})),Xs=o(((e,t)=>{var n=uo().forEach;t.exports=No()(`forEach`)?[].forEach:function(e){return n(this,e,arguments.length>1?arguments[1]:void 0)}})),Zs=o((()=>{var e=H(),t=Js(),n=Ys(),r=Xs(),i=Si(),a=function(e){if(e&&e.forEach!==r)try{i(e,`forEach`,r)}catch{e.forEach=r}};for(var o in t)t[o]&&a(e[o]&&e[o].prototype);a(n)})),Qs=o(((e,t)=>{var n=U(),r=Qr(),i=Yr(),a=r(`species`);t.exports=function(e){return i>=51||!n(function(){var t=[],n=t.constructor={};return n[a]=function(){return{foo:1}},t[e](Boolean).foo!==1})}})),$s=o((()=>{var e=K(),t=uo().filter;e({target:`Array`,proto:!0,forced:!Qs()(`filter`)},{filter:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}})})),ec=o((()=>{var e=K(),t=Gr(),n=da();e({target:`Object`,stat:!0,forced:U()(function(){n(1)})},{keys:function(e){return n(t(e))}})})),tc=o((()=>{var e=K(),t=uo().findIndex,n=ba(),r=`findIndex`,i=!0;r in[]&&[,][r](function(){i=!1}),e({target:`Array`,proto:!0,forced:i},{findIndex:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}}),n(r)})),nc=o((()=>{var e=K(),t=Gr(),n=Hi(),r=Vi(),i=Wi(),a=es(),o=ts(),s=co(),c=lo(),l=vo(),u=Qs()(`splice`),d=Math.max,f=Math.min;e({target:`Array`,proto:!0,forced:!u},{splice:function(e,u){var p=t(this),m=i(p),h=n(e,m),g=arguments.length,_,v,y,b,x,S;for(g===0?_=v=0:g===1?(_=0,v=m-h):(_=g-2,v=f(d(r(u),0),m-h)),o(m+_-v),y=s(p,v),b=0;b<v;b++)x=h+b,x in p&&c(y,b,p[x]);if(a(y,v),_<v){for(b=h;b<m-v;b++)x=b+v,S=b+_,x in p?p[S]=p[x]:l(p,S);for(b=m;b>m-v+_;b--)l(p,b-1)}else if(_>v)for(b=m-v;b>h;b--)x=b+v-1,S=b+_-1,x in p?p[S]=p[x]:l(p,S);for(b=0;b<_;b++)p[b+h]=arguments[b+2];return a(p,m-v+_),y}})})),rc=o((()=>{var e=K(),t=oo(),n=$a(),r=ni(),i=Hi(),a=Wi(),o=Ri(),s=lo(),c=es(),l=Qr(),u=Qs(),d=Ha(),f=u(`slice`),p=l(`species`),m=Array,h=Math.max;e({target:`Array`,proto:!0,forced:!f},{slice:function(e,l){var u=o(this),f=a(u),g=i(e,f),_=i(l===void 0?f:l,f),v,y,b;if(t(u)&&(v=u.constructor,n(v)&&(v===m||t(v.prototype))?v=void 0:r(v)&&(v=v[p],v===null&&(v=void 0)),v===m||v===void 0))return d(u,g,_);for(y=new(v===void 0?m:v)(h(_-g,0)),b=0;g<_;g++,b++)g in u&&s(y,b,u[g]);return c(y,b),y}})})),ic=o((()=>{var e=K(),t=uo().find,n=ba(),r=`find`,i=!0;r in[]&&[,][r](function(){i=!1}),e({target:`Array`,proto:!0,forced:i},{find:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}}),n(r)})),ac=o(((e,t)=>{var n=Ws(),r=TypeError;t.exports=function(e){if(n(e))throw new r(`The method doesn't accept regular expressions`);return e}})),oc=o(((e,t)=>{var n=Qr()(`match`);t.exports=function(e){var t=/./;try{`/./`[e](t)}catch{try{return t[n]=!1,`/./`[e](t)}catch{}}return!1}})),sc=o((()=>{var e=K(),t=Aa(),n=zi().f,r=Ui(),i=ji(),a=ac(),o=Wr(),s=oc(),c=Rr(),l=t(``.slice),u=Math.min,d=s(`endsWith`);e({target:`String`,proto:!0,forced:!(!c&&!d&&function(){var e=n(String.prototype,`endsWith`);return e&&!e.writable}())&&!d},{endsWith:function(e){var t=i(o(this));a(e);var n=i(e),s=arguments.length>1?arguments[1]:void 0,c=t.length,d=s===void 0?c:u(r(s),c);return l(t,d-n.length,d)===n}})})),cc=o((()=>{var e=K(),t=Gi().includes,n=U(),r=ba(),i=n(function(){return![,].includes()}),a=n(function(){return[,1].includes(void 0,1)});e({target:`Array`,proto:!0,forced:i||a},{includes:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}}),r(`includes`)})),lc=o((()=>{var e=K(),t=W(),n=ac(),r=Wr(),i=ji(),a=oc(),o=t(``.indexOf);e({target:`String`,proto:!0,forced:!a(`includes`)},{includes:function(e){return!!~o(i(r(this)),i(n(e)),arguments.length>1?arguments[1]:void 0)}})})),uc=o((()=>{var e=K(),t=Aa(),n=zi().f,r=Ui(),i=ji(),a=ac(),o=Wr(),s=oc(),c=Rr(),l=t(``.slice),u=Math.min,d=s(`startsWith`);e({target:`String`,proto:!0,forced:!(!c&&!d&&function(){var e=n(String.prototype,`startsWith`);return e&&!e.writable}())&&!d},{startsWith:function(e){var t=i(o(this));a(e);var n=i(e),s=r(u(arguments.length>1?arguments[1]:void 0,t.length));return l(t,s,s+n.length)===n}})})),dc=o((()=>{mo()(`Int8`,function(e){return function(t,n,r){return e(this,t,n,r)}})})),fc=o((()=>{mo()(`Int16`,function(e){return function(t,n,r){return e(this,t,n,r)}})})),pc=o((()=>{mo()(`Int32`,function(e){return function(t,n,r){return e(this,t,n,r)}})})),mc=o((()=>{mo()(`Uint16`,function(e){return function(t,n,r){return e(this,t,n,r)}})})),hc=o((()=>{mo()(`Uint32`,function(e){return function(t,n,r){return e(this,t,n,r)}})})),gc=o((()=>{mo()(`Float32`,function(e){return function(t,n,r){return e(this,t,n,r)}})})),_c=o((()=>{mo()(`Float64`,function(e){return function(t,n,r){return e(this,t,n,r)}})})),vc=o((()=>{var e=K(),t=uo().map;e({target:`Array`,proto:!0,forced:!Qs()(`map`)},{map:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}})})),yc=o(((e,t)=>{var n=ti(),r=W(),i=si(),a=U(),o=da(),s=Yi(),c=Ii(),l=Gr(),u=Li(),d=Object.assign,f=Object.defineProperty,p=r([].concat);t.exports=!d||a(function(){if(n&&d({b:1},d(f({},`a`,{enumerable:!0,get:function(){f(this,`b`,{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var e={},t={},r=Symbol(`assign detection`),i=`abcdefghijklmnopqrst`;return e[r]=7,i.split(``).forEach(function(e){t[e]=e}),d({},e)[r]!==7||o(d({},t)).join(``)!==i})?function(e,t){for(var r=l(e),a=arguments.length,d=1,f=s.f,m=c.f;a>d;)for(var h=u(arguments[d++]),g=f?p(o(h),f(h)):o(h),_=g.length,v=0,y;_>v;)y=g[v++],(!n||i(m,h,y))&&(r[y]=h[y]);return r}:d})),bc=o((()=>{var e=K(),t=yc();e({target:`Object`,stat:!0,arity:2,forced:Object.assign!==t},{assign:t})})),xc=o((()=>{var e=K(),t=Aa(),n=Gi().indexOf,r=No(),i=t([].indexOf),a=!!i&&1/i([1],1,-0)<0;e({target:`Array`,proto:!0,forced:a||!r(`indexOf`)},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return a?i(this,e,t)||0:n(this,e,t)}})})),Sc=o((()=>{var e=H(),t=Js(),n=Ys(),r=ka(),i=Si(),a=Ta(),o=Qr()(`iterator`),s=r.values,c=function(e,n){if(e){if(e[o]!==s)try{i(e,o,s)}catch{e[o]=s}if(a(e,n,!0),t[n]){for(var c in r)if(e[c]!==r[c])try{i(e,c,r[c])}catch{e[c]=r[c]}}}};for(var l in t)c(e[l]&&e[l].prototype,l);c(n,`DOMTokenList`)})),Cc=o((()=>{var e=K(),t=H(),n=Ua(),r=fo(),i=`ArrayBuffer`,a=n[i],o=t[i];e({global:!0,constructor:!0,forced:o!==a},{ArrayBuffer:a}),r(i)})),wc=o((()=>{var e=K(),t=Ka(),n=t.NATIVE_ARRAY_BUFFER_VIEWS;e({target:`ArrayBuffer`,stat:!0,forced:!n},{isView:t.isView})})),Tc=o(((e,t)=>{var n=H();t.exports=function(e,t){var r=n[e],i=r&&r.prototype;return i&&i[t]}})),Ec=o((()=>{var e=K(),t=si(),n=Tc()(`URL`,`toString`);e({target:`URL`,proto:!0,enumerable:!0},{toJSON:function(){return t(n,this)}})})),Dc=o(((e,t)=>{var n=ti(),r=U(),i=W(),a=Ca(),o=da(),s=Ri(),c=Ii().f,l=i(c),u=i([].push),d=n&&r(function(){var e=Object.create(null);return e[2]=2,!l(e,2)}),f=function(e){return function(t){for(var r=s(t),i=o(r),c=d&&a(r)===null,f=i.length,p=0,m=[],h;f>p;)h=i[p++],(!n||(c?h in r:l(r,h)))&&u(m,e?[h,r[h]]:r[h]);return m}};t.exports={entries:f(!0),values:f(!1)}})),Oc=o((()=>{var e=K(),t=Dc().entries;e({target:`Object`,stat:!0},{entries:function(e){return t(e)}})})),kc=o((()=>{K()({target:`Number`,stat:!0},{isInteger:Ja()})})),Ac=o((()=>{var e=K(),t=U(),n=Gr(),r=Ca(),i=Sa();e({target:`Object`,stat:!0,forced:t(function(){r(1)}),sham:!i},{getPrototypeOf:function(e){return r(n(e))}})})),jc=o((()=>{var e=K(),t=os();e({global:!0,forced:parseInt!==t},{parseInt:t})}));Ai(),Fi(),$i(),la(),va(),ya(),ka(),Wa(),ho(),_o(),bo(),xo(),So(),wo(),To(),Eo(),Do(),Oo(),ko(),Ao(),jo(),Fo(),Io(),Ro(),zo(),Bo(),Vo(),Ho(),Uo(),Jo(),Yo(),Xo(),Zo(),rs(),as(),ss(),cs(),fs(),ps(),_s(),Us(),Ks(),qs(),Zs(),$s(),ec(),tc(),nc(),rc(),ic(),sc(),cc(),lc(),uc(),dc(),fc(),pc(),mc(),hc(),gc(),_c(),vc(),bc(),xc(),Sc(),Cc(),wc(),Ec(),Oc(),kc(),Ac(),jc();var J=function(){function e(){}return e.Boolean=`Boolean`,e.Number=`Number`,e.String=`String`,e.Array=`Array`,e.Tuple=`Tuple`,e.Enum=`Enum`,e.Any=`Any`,e.Literal=`Literal`,e.Object=`Object`,e.Interface=`Interface`,e.Buffer=`Buffer`,e.IndexedAccess=`IndexedAccess`,e.Reference=`Reference`,e.Keyof=`Keyof`,e.Union=`Union`,e.Intersection=`Intersection`,e.NonNullable=`NonNullable`,e.Date=`Date`,e.Pick=`Pick`,e.Partial=`Partial`,e.Omit=`Omit`,e.Overwrite=`Overwrite`,e.Custom=`Custom`,e}(),Mc=function(e,t){return Mc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Mc(e,t)};function Nc(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);Mc(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Y=function(){return Y=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Y.apply(this,arguments)};function Pc(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Fc(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function Ic(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if(a=n.trys,!(a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function Lc(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Rc=function(){};function zc(e,t){switch(t){case`none`:return{debug:Rc,log:Rc,warn:Rc,error:Rc};case`error`:return{debug:Rc,log:Rc,warn:Rc,error:e.error.bind(e)};case`warn`:return{debug:Rc,log:Rc,warn:e.warn.bind(e),error:e.error.bind(e)};case`info`:return{debug:Rc,log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e)};case`debug`:return e;default:throw Error(`Invalid logLevel: '${t}'`)}}var Bc;(function(e){e.NetworkError=`NetworkError`,e.ServerError=`ServerError`,e.ClientError=`ClientError`,e.ApiError=`ApiError`})(Bc||={});var Vc={ServerInputData:{type:J.Interface,properties:[{id:0,name:`serviceId`,type:{type:J.Number,scalarType:`uint`}},{id:1,name:`buffer`,type:{type:J.Buffer,arrayType:`Uint8Array`}},{id:2,name:`sn`,type:{type:J.Number,scalarType:`uint`},optional:!0}]},ServerOutputData:{type:J.Interface,properties:[{id:0,name:`buffer`,type:{type:J.Buffer,arrayType:`Uint8Array`},optional:!0},{id:1,name:`error`,type:{type:J.Reference,target:`TsrpcErrorData`},optional:!0},{id:2,name:`serviceId`,type:{type:J.Number,scalarType:`uint`},optional:!0},{id:3,name:`sn`,type:{type:J.Number,scalarType:`uint`},optional:!0}]},TsrpcErrorData:{type:J.Interface,properties:[{id:0,name:`message`,type:{type:J.String}},{id:1,name:`type`,type:{type:J.Reference,target:`TsrpcErrorType`}},{id:2,name:`code`,type:{type:J.Union,members:[{id:0,type:{type:J.String}},{id:1,type:{type:J.Number,scalarType:`int`}}]},optional:!0}],indexSignature:{keyType:`String`,type:{type:J.Any}}},TsrpcErrorType:{type:J.Enum,members:[{id:0,value:`NetworkError`},{id:1,value:`ServerError`},{id:2,value:`ClientError`},{id:3,value:`ApiError`}]}},Hc=function(){function e(e,t){typeof e==`string`?(this.message=e,this.type=t?.type??Bc.ApiError,Y(this,t)):Y(this,e)}return e.prototype.toString=function(){return`[TSRPC ${this.type}]: ${this.message}`},e.Type=Bc,e}(),Uc=function(){function e(e){this._schemaWithUuids=[],this._unionPropertiesCache={},this._flatInterfaceSchemaCache={},this._parseMappedTypeCache=new WeakMap,this.proto=e}return e.prototype.parseReference=function(e){if(e.type===J.Reference){var t=this.proto[e.target];if(!t)throw Error(`Cannot find reference target: ${e.target}`);return this.isTypeReference(t)?this.parseReference(t):t}if(e.type===J.IndexedAccess){if(!this.isInterface(e.objectType))throw Error(`Error objectType: ${e.objectType.type}`);var n=this.getFlatInterfaceSchema(e.objectType),r=n.properties.find(function(t){return t.name===e.index}),i=void 0;if(r)i=r.type;else if(n.indexSignature)i=n.indexSignature.type;else throw Error(`Error index: ${e.index}`);return r&&r.optional&&(r.type.type!==J.Union||r.type.members.findIndex(function(e){return e.type.type===J.Literal&&e.type.literal===void 0})===-1)&&(i={type:J.Union,members:[{id:0,type:i},{id:1,type:{type:J.Literal,literal:void 0}}]}),this.isTypeReference(i)?this.parseReference(i):i}if(e.type===J.Keyof){var a=this.getFlatInterfaceSchema(e.target);return{type:J.Union,members:a.properties.map(function(e,t){return{id:t,type:{type:J.Literal,literal:e.name}}})}}return e},e.prototype.isInterface=function(e,t){if(t===void 0&&(t=!1),!t&&this.isTypeReference(e)){var n=this.parseReference(e);return this.isInterface(n,t)}return e.type===J.Interface||this.isMappedType(e)&&this.parseMappedType(e).type===J.Interface},e.prototype.isMappedType=function(e){return e.type===J.Pick||e.type===J.Partial||e.type===J.Omit||e.type===J.Overwrite},e.prototype.isTypeReference=function(e){return e.type===J.Reference||e.type===J.IndexedAccess||e.type===J.Keyof},e.prototype._getSchemaUuid=function(e){var t=e;return t.uuid||=this._schemaWithUuids.push(t),t.uuid},e.prototype.getUnionProperties=function(e){var t=this._getSchemaUuid(e);return this._unionPropertiesCache[t]||(this._unionPropertiesCache[t]=this._addUnionProperties([],e.members.map(function(e){return e.type}))),this._unionPropertiesCache[t]},e.prototype._addUnionProperties=function(e,t){for(var n=0,r=t.length;n<r;++n){var i=this.parseReference(t[n]);if(this.isInterface(i)){var a=this.getFlatInterfaceSchema(i);if(a.properties.forEach(function(t){e.binaryInsert(t.name,!0)}),a.indexSignature){var o=`[[${a.indexSignature.keyType}]]`;e.binaryInsert(o,!0)}}else i.type===J.Intersection||i.type===J.Union?this._addUnionProperties(e,i.members.map(function(e){return e.type})):this.isMappedType(i)&&this._addUnionProperties(e,[this.parseMappedType(i)])}return e},e.prototype.applyUnionProperties=function(e,t){for(var n=Y(Y({},e),{properties:e.properties.slice()}),r=function(t){t===`[[String]]`?n.indexSignature=n.indexSignature||{keyType:J.String,type:{type:J.Any}}:t===`[[Number]]`?n.indexSignature=n.indexSignature||{keyType:J.Number,type:{type:J.Any}}:e.properties.find(function(e){return e.name===t})||n.properties.push({id:-1,name:t,optional:!0,type:{type:J.Any}})},i=0,a=t;i<a.length;i++){var o=a[i];r(o)}return n},e.prototype.getFlatInterfaceSchema=function(e){var t=this._getSchemaUuid(e);if(this._flatInterfaceSchemaCache[t])return this._flatInterfaceSchemaCache[t];if(this.isTypeReference(e)){var n=this.parseReference(e);if(n.type!==J.Interface)throw Error(`Cannot flatten non interface type: ${n.type}`);this._flatInterfaceSchemaCache[t]=this.getFlatInterfaceSchema(n)}else if(e.type===J.Interface)this._flatInterfaceSchemaCache[t]=this._flattenInterface(e);else if(this.isMappedType(e))this._flatInterfaceSchemaCache[t]=this._flattenMappedType(e);else throw Error(`Invalid interface type: `+e.type);return this._flatInterfaceSchemaCache[t]},e.prototype._flattenInterface=function(e){var t={},n;if(e.properties)for(var r=0,i=e.properties;r<i.length;r++){var a=i[r];t[a.name]={optional:a.optional,type:a.type}}if(e.indexSignature&&(n=e.indexSignature),e.extends)for(var o=0,s=e.extends;o<s.length;o++){var c=s[o],l=this.parseReference(c.type);if(this.isMappedType(l)&&(l=this._flattenMappedType(l)),!this.isInterface(l))throw Error(`SchemaError: extends must from interface but from `+l.type);var u=this.getFlatInterfaceSchema(l);if(u.properties)for(var d=0,f=u.properties;d<f.length;d++){var a=f[d];t[a.name]||(t[a.name]={optional:a.optional,type:a.type})}u.indexSignature&&!n&&(n=u.indexSignature)}return{type:J.Interface,properties:Object.entries(t).map(function(e,t){return{id:t,name:e[0],optional:e[1].optional,type:e[1].type}}),indexSignature:n}},e.prototype._flattenMappedType=function(e){var t=this.isTypeReference(e.target)?this.parseReference(e.target):e.target,n;if(t.type===J.Pick||t.type===J.Partial||t.type===J.Omit||t.type===J.Overwrite)n=this._flattenMappedType(t);else if(t.type===J.Interface)n=this._flattenInterface(t);else throw Error(`Invalid target.type: ${t.type}`);if(e.type===J.Pick){for(var r=[],i=function(e){var t=n.properties.find(function(t){return t.name===e});t?r.push({id:r.length,name:e,optional:t.optional,type:t.type}):n.indexSignature&&r.push({id:r.length,name:e,type:n.indexSignature.type})},a=0,o=e.keys;a<o.length;a++){var s=o[a];i(s)}return{type:J.Interface,properties:r}}if(e.type===J.Partial){for(var c=0,l=n.properties;c<l.length;c++){var u=l[c];u.optional=!0}return n}if(e.type===J.Omit){for(var d=function(e){n.properties.removeOne(function(t){return t.name===e})},f=0,p=e.keys;f<p.length;f++){var s=p[f];d(s)}return n}if(e.type===J.Overwrite){var m=this.getFlatInterfaceSchema(e.overwrite);m.indexSignature&&(n.indexSignature=m.indexSignature);for(var h=function(e){n.properties.removeOne(function(t){return t.name===e.name}),n.properties.push(e)},g=0,_=m.properties;g<_.length;g++){var v=_[g];h(v)}return n}throw Error(`Unknown type: ${e.type}`)},e.prototype.parseMappedType=function(e){var t=this._parseMappedTypeCache.get(e);if(t)return t;var n=[],r=e;do n.push(r),r=this.parseReference(r.target);while(this.isMappedType(r));if(r.type===J.Interface)return this._parseMappedTypeCache.set(e,r),r;if(r.type===J.Union||r.type===J.Intersection){var i={type:r.type,members:r.members.map(function(e){for(var t=e.type,r=n.length-1;r>-1;--r){var i=n[r];i.isJsonEncodable,i.isJsonDecodable;var a=Pc(i,[`isJsonEncodable`,`isJsonDecodable`]);t=Y(Y({},a),{target:t})}return{id:e.id,type:t}})};return this._parseMappedTypeCache.set(e,i),i}throw Error(`Unsupported pattern ${e.type}<${r.type}>`)},e}(),Wc,X;(function(e){e.TypeError=`TypeError`,e.InvalidScalarType=`InvalidScalarType`,e.TupleOverLength=`TupleOverLength`,e.InvalidEnumValue=`InvalidEnumValue`,e.InvalidLiteralValue=`InvalidLiteralValue`,e.MissingRequiredProperty=`MissingRequiredProperty`,e.ExcessProperty=`ExcessProperty`,e.InvalidNumberKey=`InvalidNumberKey`,e.UnionTypesNotMatch=`UnionTypesNotMatch`,e.UnionMembersNotMatch=`UnionMembersNotMatch`,e.CustomError=`CustomError`})(X||={});var Gc=(Wc={},Wc[X.TypeError]=function(e,t){return`Expected type to be \`${e}\`, actually \`${t}\`.`},Wc[X.InvalidScalarType]=function(e,t){return`\`${e}\` is not a valid \`${t}\`.`},Wc[X.TupleOverLength]=function(e,t){return`Value has ${e} elements but schema allows only ${t}.`},Wc[X.InvalidEnumValue]=function(e){return`\`${e}\` is not a valid enum member.`},Wc[X.InvalidLiteralValue]=function(e,t){return`Expected to equals \`${Kc(e)}\`, actually \`${Kc(t)}\``},Wc[X.MissingRequiredProperty]=function(e){return`Missing required property \`${e}\`.`},Wc[X.ExcessProperty]=function(e){return`Excess property \`${e}\` should not exists.`},Wc[X.InvalidNumberKey]=function(e){return`\`${e}\` is not a valid key, the key here should be a \`number\`.`},Wc[X.UnionTypesNotMatch]=function(e,t){return`\`${Kc(e)}\` is not matched to \`${t.join(` | `)}\``},Wc[X.UnionMembersNotMatch]=function(e){return`No union member matched, detail:
25
25
  ${e.map(function(e,t){return` <${t}> ${e.errMsg}`}).join(`
26
- `)}`},Wc[X.CustomError]=function(e){return e},Wc);function Kc(e){if(typeof e==`string`){var t=JSON.stringify(e);return`'`+t.substr(1,t.length-2)+`'`}return JSON.stringify(e)}for(var qc=function(){function e(e){this.isSucc=!1,this.error=e}return Object.defineProperty(e.prototype,"errMsg",{get:function(){return e.getErrMsg(this.error)},enumerable:!1,configurable:!0}),e.getErrMsg=function(e){var t=Gc[e.type].apply(Gc,e.params);return e.inner?.property.length?`Property \`${e.inner.property.join(`.`)}\`: ${t}`:t},e}(),Z=function(){function e(){}return e.error=function(e){return new qc({type:e,params:[...arguments].slice(1)})},e.innerError=function(e,t,n,r){var i;return r.error.inner?typeof e==`string`?r.error.inner.property.unshift(e):(i=r.error.inner.property).unshift.apply(i,e):r.error.inner={property:typeof e==`string`?[e]:e,value:t,schema:n},r},e.succ={isSucc:!0},e}(),Jc={Int8Array,Int16Array,Int32Array,BigInt64Array:typeof BigInt64Array<`u`?BigInt64Array:void 0,Uint8Array,Uint16Array,Uint32Array,BigUint64Array:typeof BigUint64Array<`u`?BigUint64Array:void 0,Float32Array,Float64Array},Yc=function(){function e(e,t){this.options={excessPropertyChecks:!0,strictNullChecks:!1,cloneProto:!0},t&&(this.options=Y(Y({},this.options),t)),this.proto=this.options.cloneProto?Object.merge({},e):e,this.protoHelper=new Uc(this.proto)}return e.prototype.validate=function(e,t,n){var r,i;if(typeof t==`string`){if(i=t,r=this.proto[i],!r)throw Error(`Cannot find schema: ${i}`)}else r=t;return this._validate(e,r,Y(Y({},n),{excessPropertyChecks:n?.excessPropertyChecks??this.options.excessPropertyChecks,strictNullChecks:n?.strictNullChecks??this.options.strictNullChecks}))},e.prototype._validate=function(e,t,n){var r;switch(t.type){case J.Boolean:r=this._validateBooleanType(e,t);break;case J.Number:r=this._validateNumberType(e,t);break;case J.String:r=this._validateStringType(e,t);break;case J.Array:r=this._validateArrayType(e,t,n);break;case J.Tuple:r=this._validateTupleType(e,t,n);break;case J.Enum:r=this._validateEnumType(e,t);break;case J.Any:r=this._validateAnyType(e);break;case J.Literal:r=this._validateLiteralType(e,t,n?.strictNullChecks??this.options.strictNullChecks);break;case J.Object:r=this._validateObjectType(e,t);break;case J.Interface:r=this._validateInterfaceType(e,t,n);break;case J.Buffer:r=this._validateBufferType(e,t);break;case J.IndexedAccess:case J.Reference:case J.Keyof:r=this._validateReferenceType(e,t,n);break;case J.Union:r=this._validateUnionType(e,t,n);break;case J.Intersection:r=this._validateIntersectionType(e,t,n);break;case J.Pick:case J.Omit:case J.Partial:case J.Overwrite:r=this._validateMappedType(e,t,n);break;case J.Date:r=this._validateDateType(e);break;case J.NonNullable:r=this._validateNonNullableType(e,t,n);break;case J.Custom:var i=t.validate(e);r=i.isSucc?Z.succ:Z.error(X.CustomError,i.errMsg);break;default:throw Error(`Unsupported schema type: ${t.type}`)}return n?.prune&&(n.prune.output===void 0&&(n.prune.output=e),n.prune.parent&&(n.prune.parent.value[n.prune.parent.key]=n.prune.output)),r},e.prototype.prune=function(e,t,n){var r=typeof t==`string`?this.proto[t]:t;if(!r)throw Error(`Cannot find schema: `+t);var i={},a=this._validate(e,r,Y(Y({},n),{prune:i,excessPropertyChecks:!1,strictNullChecks:n?.strictNullChecks??this.options.strictNullChecks}));return a.isSucc&&(a.pruneOutput=i.output),a},e.prototype._validateBooleanType=function(e,t){var n=this._getTypeof(e);return n===`boolean`?Z.succ:Z.error(X.TypeError,`boolean`,n)},e.prototype._validateNumberType=function(e,t){var n=t.scalarType||`double`,r=this._getTypeof(e),i=n.indexOf(`big`)>-1?`bigint`:`number`;return r===i?n!==`double`&&r===`number`&&!Number.isInteger(e)||n.indexOf(`uint`)>-1&&e<0?Z.error(X.InvalidScalarType,e,n):Z.succ:Z.error(X.TypeError,i,r)},e.prototype._validateStringType=function(e,t){var n=this._getTypeof(e);return n===`string`?Z.succ:Z.error(X.TypeError,`string`,n)},e.prototype._validateArrayType=function(e,t,n){var r=this._getTypeof(e);if(r!==J.Array)return Z.error(X.TypeError,J.Array,r);var i=n.prune;i&&(i.output=Array.from({length:e.length}));for(var a=0;a<e.length;++a){var o=this._validate(e[a],t.elementType,Y(Y({},n),{prune:i?.output?{parent:{value:i.output,key:a}}:void 0}));if(!o.isSucc)return Z.innerError(``+a,e[a],t.elementType,o)}return Z.succ},e.prototype._validateTupleType=function(e,t,n){var r=this._getTypeof(e);if(r!==J.Array)return Z.error(X.TypeError,J.Array,r);var i=n.prune;if(!i&&n.excessPropertyChecks&&e.length>t.elementTypes.length)return Z.error(X.TupleOverLength,e.length,t.elementTypes.length);i&&(i.output=Array.from({length:Math.min(e.length,t.elementTypes.length)}));for(var a=0;a<t.elementTypes.length;++a){if(e[a]===void 0||e[a]===null&&!n.strictNullChecks){var o=this._canBeNull(t.elementTypes[a]),s=t.optionalStartIndex!==void 0&&a>=t.optionalStartIndex||this._canBeUndefined(t.elementTypes[a]);if(s||!n.strictNullChecks&&o){i?.output&&(e[a]===null&&o||e[a]===void 0&&!s&&o)&&(i.output[a]=null);continue}return Z.error(X.MissingRequiredProperty,a)}var c=this._validate(e[a],t.elementTypes[a],{prune:i?.output?{parent:{value:i.output,key:a}}:void 0,strictNullChecks:n.strictNullChecks,excessPropertyChecks:n.excessPropertyChecks});if(!c.isSucc)return Z.innerError(``+a,e[a],t.elementTypes[a],c)}return Z.succ},e.prototype._canBeUndefined=function(e){var t=this;return e.type===J.Union?e.members.some(function(e){return t._canBeUndefined(e.type)}):e.type===J.Literal&&e.literal===void 0},e.prototype._canBeNull=function(e){var t=this;return e.type===J.Union?e.members.some(function(e){return t._canBeNull(e.type)}):e.type===J.Literal&&e.literal===null},e.prototype._validateEnumType=function(e,t){var n=this._getTypeof(e);return n!==`string`&&n!==`number`?Z.error(X.TypeError,`string | number`,n):t.members.some(function(t){return t.value===e})?Z.succ:Z.error(X.InvalidEnumValue,e)},e.prototype._validateAnyType=function(e){return Z.succ},e.prototype._validateLiteralType=function(e,t,n){return!n&&(t.literal===null||t.literal===void 0)?e==null?Z.succ:Z.error(X.InvalidLiteralValue,t.literal,e):e===t.literal?Z.succ:Z.error(X.InvalidLiteralValue,t.literal,e)},e.prototype._validateObjectType=function(e,t){var n=this._getTypeof(e);return n===`Object`||n===`Array`?Z.succ:Z.error(X.TypeError,`Object`,n)},e.prototype._validateInterfaceType=function(e,t,n){var r=this._getTypeof(e);if(r!==`Object`)return Z.error(X.TypeError,`Object`,r);var i=this.protoHelper.getFlatInterfaceSchema(t);return n.unionProperties&&(i=this.protoHelper.applyUnionProperties(i,n.unionProperties)),this._validateFlatInterface(e,i,n)},e.prototype._validateMappedType=function(e,t,n){var r=this.protoHelper.parseMappedType(t);if(r.type===J.Interface)return this._validateInterfaceType(e,t,n);if(r.type===J.Union)return this._validateUnionType(e,r,n);if(r.type===J.Intersection)return this._validateIntersectionType(e,r,n);throw Error(`Invalid ${t.type} target type: ${r.type}`)},e.prototype._validateFlatInterface=function(e,t,n){if(t.indexSignature&&t.indexSignature.keyType===J.Number){for(var r in e)if(!this._isNumberKey(r))return Z.error(X.InvalidNumberKey,r)}var i=n.prune;if(i&&(i.output={}),!i&&n.excessPropertyChecks&&!t.indexSignature){var a=t.properties.map(function(e){return e.name}),o=Object.keys(e).find(function(e){return a.indexOf(e)===-1});if(o)return Z.error(X.ExcessProperty,o)}if(t.properties)for(var s=0,c=t.properties;s<c.length;s++){var l=c[s];if(e[l.name]===void 0||e[l.name]===null&&!n.strictNullChecks){var u=this._canBeNull(l.type),d=l.optional||this._canBeUndefined(l.type);if(d||!n.strictNullChecks&&u){i?.output&&(e[l.name]===null&&u||e[l.name]===void 0&&!d&&u)&&(i.output[l.name]=null);continue}return Z.error(X.MissingRequiredProperty,l.name)}var f=this._validate(e[l.name],l.type,{prune:i?.output&&l.id>-1?{parent:{value:i.output,key:l.name}}:void 0,strictNullChecks:n.strictNullChecks,excessPropertyChecks:n.excessPropertyChecks});if(!f.isSucc)return Z.innerError(l.name,e[l.name],l.type,f)}if(t.indexSignature)for(var r in e){var f=this._validate(e[r],t.indexSignature.type,{prune:i?.output?{parent:{value:i.output,key:r}}:void 0,strictNullChecks:n.strictNullChecks,excessPropertyChecks:n.excessPropertyChecks});if(!f.isSucc)return Z.innerError(r,e[r],t.indexSignature.type,f)}return Z.succ},e.prototype._validateBufferType=function(e,t){var n=this._getTypeof(e);if(n!==`Object`)return Z.error(X.TypeError,t.arrayType||`ArrayBuffer`,n);if(t.arrayType){var r=Jc[t.arrayType];if(!r)throw Error(`Error TypedArray type: ${t.arrayType}`);return e instanceof r?Z.succ:Z.error(X.TypeError,t.arrayType,e?.constructor?.name)}return e instanceof ArrayBuffer?Z.succ:Z.error(X.TypeError,`ArrayBuffer`,e?.constructor?.name)},e.prototype._validateReferenceType=function(e,t,n){return this._validate(e,this.protoHelper.parseReference(t),n)},e.prototype._validateUnionType=function(e,t,n){var r=this;n.unionProperties=n.unionProperties||this.protoHelper.getUnionProperties(t);var i=!1,a=n.prune;a&&e&&Object.getPrototypeOf(e)===Object.prototype&&(i=!0,a.output={});for(var o=!1,s=[],c=0;c<t.members.length;++c){var l=t.members[c],u=this.protoHelper.isTypeReference(l.type)?this.protoHelper.parseReference(l.type):l.type,d=a?{}:void 0,f=this._validate(e,u,Y(Y({},n),{prune:d}));if(f.isSucc){if(o=!0,i)a.output=Y(Y({},a.output),d.output);else break}else s.push(f)}if(o)return Z.succ;var p=s[0].errMsg;if(s.every(function(e){return e.errMsg===p}))return s[0];var m=s.filter(function(e){return e.error.type!==X.InvalidLiteralValue});if(m.length===1)return m[0];if(s.every(function(e){return!e.error.inner&&(e.error.type===X.TypeError||e.error.type===X.InvalidLiteralValue)})){var h=this._getTypeof(e),g=s.map(function(e){return e.error.type===X.TypeError?e.error.params[0]:r._getTypeof(e.error.params[0])}).distinct();if(g.indexOf(h)===-1)return Z.error(X.TypeError,g.join(` | `),this._getTypeof(e));if(h!==`Object`&&h!==J.Array){var _=s.map(function(e){return e.error.type===X.TypeError?e.error.params[0]:Kc(e.error.params[0])}).distinct();return Z.error(X.UnionTypesNotMatch,e,_)}}return Z.error(X.UnionMembersNotMatch,s)},e.prototype._validateIntersectionType=function(e,t,n){n.unionProperties=n.unionProperties||this.protoHelper.getUnionProperties(t);var r=!1,i=n.prune;i&&e&&Object.getPrototypeOf(e)===Object.prototype&&(i.output={},r=!0);for(var a=0,o=t.members.length;a<o;++a){var s=t.members[a].type;s=this.protoHelper.isTypeReference(s)?this.protoHelper.parseReference(s):s;var c=i?{}:void 0,l=this._validate(e,s,Y(Y({},n),{prune:c}));if(!l.isSucc)return l;r&&(i.output=Y(Y({},i.output),c.output))}return Z.succ},e.prototype._validateDateType=function(e){return e instanceof Date?Z.succ:Z.error(X.TypeError,`Date`,this._getTypeof(e))},e.prototype._validateNonNullableType=function(e,t,n){var r=this._getTypeof(e);return(r===`null`||r===`undefined`)&&t.target.type!==`Any`?Z.error(X.TypeError,`NonNullable`,r):this._validate(e,t.target,n)},e.prototype._isNumberKey=function(e){var t=parseInt(e);return!(isNaN(t)||``+t!==e)},e.prototype._getTypeof=function(e){var t=typeof e;return t===`object`?e===null?`null`:Array.isArray(e)?J.Array:`Object`:t},e}(),Xc=function(){function e(){}return e.bufferToBase64=function(e){if(typeof Buffer<`u`)return Buffer.from(e).toString(`base64`);for(var t=``,n=e.length,r=0;r<n;r+=3)t+=Zc[e[r]>>2],t+=Zc[(e[r]&3)<<4|e[r+1]>>4],t+=Zc[(e[r+1]&15)<<2|e[r+2]>>6],t+=Zc[e[r+2]&63];return n%3==2?t=t.substring(0,t.length-1)+`=`:n%3==1&&(t=t.substring(0,t.length-2)+`==`),t},e.base64ToBuffer=function(e){if(typeof Buffer<`u`)return new Uint8Array(Buffer.from(e,`base64`));var t=e.length*.75,n=e.length,r=0,i,a,o,s;e[e.length-1]===`=`&&(t--,e[e.length-2]===`=`&&t--);for(var c=new Uint8Array(t),l=0;l<n;l+=4)i=Qc[e.charCodeAt(l)],a=Qc[e.charCodeAt(l+1)],o=Qc[e.charCodeAt(l+2)],s=Qc[e.charCodeAt(l+3)],c[r++]=i<<2|a>>4,c[r++]=(a&15)<<4|o>>2,c[r++]=(o&3)<<6|s&63;return c},e}(),Zc=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Qc=typeof Uint8Array>`u`?[]:new Uint8Array(256),$c=0;$c<Zc.length;$c++)Qc[Zc.charCodeAt($c)]=$c;var el=function(){function e(){}return e.isJsonCompatible=function(e,t,n){var r=t===`encode`?`isJsonEncodable`:`isJsonDecodable`,i=e[r];if(i!==void 0)return i;var a=new Set,o=function(e){for(var t=0,n=e;t<n.length;t++){var r=n[t];if(s(r)===!1)return!1}return!0},s=function(e){if(a.has(e))return!0;a.add(e);var t;switch(e.type){case J.Array:t=s(e.elementType);break;case J.Tuple:t=o(e.elementTypes);break;case J.Interface:var r=n.getFlatInterfaceSchema(e);t=o(Lc(Lc([],r.properties.map(function(e){return e.type}),!0),r.indexSignature?[r.indexSignature.type]:[],!0));break;case J.IndexedAccess:case J.Reference:var i=n.parseReference(e);t=s(i);break;case J.Union:case J.Intersection:t=o(e.members.map(function(e){return e.type}));break;case J.NonNullable:t=s(e.target);break;case J.Pick:case J.Partial:case J.Omit:case J.Overwrite:var i=n.parseMappedType(e);if(i.type===J.Interface){var r=n.getFlatInterfaceSchema(e);t=o(Lc(Lc([],r.properties.map(function(e){return e.type}),!0),r.indexSignature?[r.indexSignature.type]:[],!0))}else if(i.type===J.Union||i.type===J.Intersection)t=o(i.members.map(function(e){return e.type}));else throw Error(`不应该走到这里`+i.type);break;case J.Custom:case J.Date:case J.Buffer:t=!1;break;default:t=!0}return a.delete(e),t},c=s(e);return e[r]=c,c},e}(),tl=function(){function e(){}return e.getPayloadLengthInfo=function(e,t){switch(e.type){case J.Boolean:case J.Enum:return{lengthType:nl.Varint};case J.Number:return!e.scalarType||e.scalarType.includes(`64`)||e.scalarType===`double`?{lengthType:nl.Bit64}:e.scalarType&&e.scalarType.startsWith(`big`)?{lengthType:nl.LengthDelimited}:{lengthType:nl.Varint};case J.Buffer:case J.String:case J.Any:case J.Object:return{lengthType:nl.LengthDelimited};case J.Interface:case J.Pick:case J.Partial:case J.Omit:case J.Union:case J.Intersection:return{lengthType:nl.IdBlock};case J.Array:case J.Overwrite:case J.Tuple:return{lengthType:nl.LengthDelimited,needLengthPrefix:!0};case J.Literal:return{lengthType:nl.LengthDelimited,needLengthPrefix:!1};case J.Date:return{lengthType:nl.Varint};case J.NonNullable:return this.getPayloadLengthInfo(t.parseReference(e.target),t);case J.Custom:return{lengthType:nl.LengthDelimited};default:throw Error(`Unrecognized schema type: ${e.type}`)}},e}(),nl;(function(e){e[e.LengthDelimited=0]=`LengthDelimited`,e[e.Varint=1]=`Varint`,e[e.Bit64=2]=`Bit64`,e[e.IdBlock=3]=`IdBlock`})(nl||={});var rl=function(){function e(){}return e.canBeLiteral=function(e,t){var n=this;return e.type===J.Union?e.members.some(function(e){return n.canBeLiteral(e.type,t)}):e.type===J.Any||e.type===J.Literal&&e.literal===t},e}(),il={Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array},al=typeof Buffer<`u`&&Buffer.from&&Buffer.prototype.write?{measureLength:function(e){return Buffer.byteLength(e,`utf-8`)},write:function(e,t,n){return Buffer.from(t.buffer,t.byteOffset,t.byteLength).write(e,n,`utf-8`)},read:function(e,t,n){return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString(`utf-8`,t,t+n)}}:{measureLength:function(e){for(var t=0,n=0,r=0;r<e.length;++r)n=e.charCodeAt(r),n<128?t+=1:n<2048?t+=2:(n&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320?(++r,t+=4):t+=3;return t},write:function(e,t,n){for(var r=n,i,a,o=0;o<e.length;++o)i=e.charCodeAt(o),i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=i&63|128):(i&64512)==55296&&((a=e.charCodeAt(o+1))&64512)==56320?(i=65536+((i&1023)<<10)+(a&1023),++o,t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=i&63|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128);return n-r},read:function(e,t,n){if(n<1)return``;for(var r=``,i=t,a=t+n;i<a;){var o=e[i++];if(o<=127)r+=String.fromCharCode(o);else if(o>=192&&o<224)r+=String.fromCharCode((o&31)<<6|e[i++]&63);else if(o>=224&&o<240)r+=String.fromCharCode((o&15)<<12|(e[i++]&63)<<6|e[i++]&63);else if(o>=240){var s=((o&7)<<18|(e[i++]&63)<<12|(e[i++]&63)<<6|e[i++]&63)-65536;r+=String.fromCharCode(55296+(s>>10)),r+=String.fromCharCode(56320+(s&1023))}}return r}},ol=function(){function e(e,t,n){this.uint32s=new Uint32Array([e,t]),n!==void 0&&(this._byteLength=n)}return e.from=function(t){if(t===0)return this.Zero;var n=t<0;n&&(t=-t);var r=t>>>0,i=(t-r)/4294967296>>>0;return n&&(i=~i>>>0,r=~r>>>0,++r>4294967295&&(r=0,++i>4294967295&&(i=0))),new e(i,r)},e.prototype.toNumber=function(e){if(!e&&this.uint32s[0]>>>31){var t=~this.uint32s[1]+1>>>0,n=~this.uint32s[0]>>>0;return t||(n=n+1>>>0),-(t+n*4294967296)}return this.uint32s[1]+this.uint32s[0]*4294967296},e.prototype.zzEncode=function(){var e=this.uint32s[0]>>31;return this.uint32s[0]=((this.uint32s[0]<<1|this.uint32s[1]>>>31)^e)>>>0,this.uint32s[1]=(this.uint32s[1]<<1^e)>>>0,this},e.prototype.zzDecode=function(){var e=-(this.uint32s[1]&1);return this.uint32s[1]=((this.uint32s[1]>>>1|this.uint32s[0]<<31)^e)>>>0,this.uint32s[0]=(this.uint32s[0]>>>1^e)>>>0,this},Object.defineProperty(e.prototype,"byteLength",{get:function(){if(this._byteLength===void 0){var e=this.uint32s[1],t=(this.uint32s[1]>>>28|this.uint32s[0]<<4)>>>0,n=this.uint32s[0]>>>24;this._byteLength=n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}return this._byteLength},enumerable:!1,configurable:!0}),e.prototype.writeToBuffer=function(e,t){for(;this.uint32s[0];)e[t++]=this.uint32s[1]&127|128,this.uint32s[1]=(this.uint32s[1]>>>7|this.uint32s[0]<<25)>>>0,this.uint32s[0]>>>=7;for(;this.uint32s[1]>127;)e[t++]=this.uint32s[1]&127|128,this.uint32s[1]=this.uint32s[1]>>>7;return e[t++]=this.uint32s[1],t},e.readFromBuffer=function(t,n){var r=n,i=0,a=0,o=0;if(t.byteLength-n>4){for(;o<4;++o)if(a=(a|(t[n]&127)<<o*7)>>>0,t[n++]<128)return new e(i,a,n-r);if(a=(a|(t[n]&127)<<28)>>>0,i=(i|(t[n]&127)>>4)>>>0,t[n++]<128)return new e(i,a,n-r);o=0}else{for(;o<3;++o){if(n>=t.byteLength)throw Error(`Read varint error: index out of range`);if(a=(a|(t[n]&127)<<o*7)>>>0,t[n++]<128)return new e(i,a,n-r)}return a=(a|(t[n++]&127)<<o*7)>>>0,new e(i,a,n-r)}if(t.byteLength-n>4){for(;o<5;++o)if(i=(i|(t[n]&127)<<o*7+3)>>>0,t[n++]<128)return new e(i,a,n-r)}else for(;o<5;++o){if(n>=t.byteLength)throw Error(`Read varint error: index out of range`);if(i=(i|(t[n]&127)<<o*7+3)>>>0,t[n++]<128)return new e(i,a,n-r)}throw Error(`invalid varint encoding`)},e.Zero=new e(0,0),e}(),sl=function(){function e(){this._pos=0}return e.prototype.load=function(e,t){t===void 0&&(t=0),this._buf=e,this._pos=t,this._view=new DataView(e.buffer)},e.prototype.readVarint=function(){var e=ol.readFromBuffer(this._buf,this._pos);return this._pos+=e.byteLength,e},e.prototype.readUint=function(){return this.readVarint().toNumber(!0)},e.prototype.readInt=function(){return this.readVarint().zzDecode().toNumber()},e.prototype.readDouble=function(){var e=this._pos;return this._pos+=8,this._view.getFloat64(this._buf.byteOffset+e)},e.prototype.readString=function(){var e=this.readUint(),t=al.read(this._buf,this._pos,e);return this._pos+=e,t},e.prototype.readBuffer=function(){var e=this.readUint(),t=this._buf.subarray(this._pos,this._pos+e);return this._pos+=e,t},e.prototype.skip=function(e){this._pos+=e},e.prototype.skipByLengthType=function(e){if(e===nl.Bit64)this._pos+=8;else if(e===nl.Varint)this.readVarint();else if(e===nl.LengthDelimited){var t=this.readUint();this._pos+=t}else if(e===nl.IdBlock)this.skipIdBlock();else throw Error(`Unknown lengthType: `+e)},e.prototype.skipIdBlock=function(){for(var e=this.readUint(),t=0;t<e;++t){var n=this.readUint()&3;this.skipByLengthType(n)}},e.prototype.readBoolean=function(){var e=this._view.getUint8(this._buf.byteOffset+this._pos++);if(e===255)return!0;if(e===0)return!1;throw Error(`Invalid boolean encoding [${e}] at pos ${this._pos-1}`)},Object.defineProperty(e.prototype,"unreadByteLength",{get:function(){return this._buf.byteLength-this._pos},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._buf=this._view=void 0},e}(),cl=function(){function e(e){this._options=e,this._reader=new sl,this._validator=e.validator}return e.prototype.decode=function(e,t){return this._reader.load(e),this._read(t)},e.prototype.decodeJSON=function(e,t){var n=this;if(e===null||el.isJsonCompatible(t,`decode`,this._validator.protoHelper))return e;switch(t.type){case J.Array:if(!Array.isArray(e))break;return e.map(function(e){return n.decodeJSON(e,t.elementType)});case J.Tuple:if(!Array.isArray(e))break;return e.map(function(e,r){return n.decodeJSON(e,t.elementTypes[r])});case J.Interface:if(e.constructor!==Object)break;e=Object.assign({},e);var r=this._validator.protoHelper.getFlatInterfaceSchema(t),i=function(t){var n=r.properties.find(function(e){return e.name===t});n?e[t]=a.decodeJSON(e[t],n.type):r.indexSignature&&(e[t]=a.decodeJSON(e[t],r.indexSignature.type))},a=this;for(var o in e)i(o);return e;case J.Date:if(typeof e!=`string`&&typeof e!=`number`)break;return new Date(e);case J.Partial:case J.Pick:case J.Omit:case J.Overwrite:var s=this._validator.protoHelper.parseMappedType(t);if(s.type===J.Interface){if(e.constructor!==Object)break;e=Object.assign({},e);var c=this._validator.protoHelper.getFlatInterfaceSchema(t),l=function(t){var n=c.properties.find(function(e){return e.name===t});n?e[t]=u.decodeJSON(e[t],n.type):c.indexSignature&&(e[t]=u.decodeJSON(e[t],c.indexSignature.type))},u=this;for(var o in e)l(o);return e}if(s.type===J.Union||s.type===J.Intersection){for(var d=0,f=s.members;d<f.length;d++){var p=f[d];e=this.decodeJSON(e,p.type)}return e}break;case J.Buffer:if(typeof e!=`string`)break;var m=Xc.base64ToBuffer(e);return this._getBufferValue(m,t);case J.IndexedAccess:case J.Reference:case J.Keyof:return this.decodeJSON(e,this._validator.protoHelper.parseReference(t));case J.Union:case J.Intersection:for(var h=0,g=t.members;h<g.length;h++){var p=g[h];e=this.decodeJSON(e,p.type)}return e;case J.NonNullable:return this.decodeJSON(e,t.target);case J.Custom:if(t.decodeJSON)return t.decodeJSON(e);break;default:t.type}return e},e.prototype._read=function(e){switch(e.type){case J.Boolean:return this._reader.readBoolean();case J.Number:return this._readNumber(e);case J.String:return this._reader.readString();case J.Array:for(var t=[],n=this._reader.readUint(),r=0;r<n;++r){var i=this._read(e.elementType);t.push(i)}return t;case J.Tuple:if(e.elementTypes.length>64)throw Error(`Elements oversized, maximum supported tuple elements is 64, now get `+e.elementTypes.length);for(var t=[],a=this._reader.readVarint(),o=[],r=0;r<32;++r)a.uint32s[1]&1<<r&&o.push(r);for(var r=0;r<32;++r)a.uint32s[0]&1<<r&&o.push(r+32);if(!o.length)return[];for(var s=o.last(),r=0,c=0,l=o[0];r<=s;++r)r===l?(t[r]=this._read(e.elementTypes[r]),++c,l=o[c]):t[r]=void 0;for(var r=0;r<e.elementTypes.length;++r)this._undefinedAsNull(t[r],e.elementTypes[r],e.optionalStartIndex!==void 0&&r>=e.optionalStartIndex)&&(t[r]=null);return t;case J.Enum:var u=this._reader.readVarint().toNumber(),d=e.members.find(function(e){return e.id===u});if(!d)throw Error(`Invalid enum encoding: unexpected id ${u}`);return d.value;case J.Any:case J.Object:var f=this._reader.readString();return f===`undefined`?void 0:JSON.parse(f);case J.Literal:return e.literal;case J.Interface:return this._readInterface(e);case J.Buffer:var p=this._reader.readBuffer();return this._getBufferValue(p,e);case J.IndexedAccess:case J.Reference:case J.Keyof:return this._read(this._validator.protoHelper.parseReference(e));case J.Partial:case J.Pick:case J.Omit:case J.Overwrite:var m=this._validator.protoHelper.parseMappedType(e);return m.type===J.Interface?this._readPureMappedType(e):this._readUnionOrIntersection(m);case J.Union:case J.Intersection:return this._readUnionOrIntersection(e);case J.Date:return new Date(this._reader.readUint());case J.NonNullable:return this._read(e.target);case J.Custom:if(!e.decode)throw Error(`Missing decode method for CustomTypeSchema`);var h=this._reader.readBuffer();return e.decode(h);default:throw Error(`Unrecognized schema type: ${e.type}`)}},e.prototype._readPureMappedType=function(e){var t,n;e.type===`Overwrite`&&(n=this._read(e.overwrite));var r=this._validator.protoHelper.parseReference(e.target);if(r.type===`Interface`)t=this._readInterface(r);else if(r.type===`Pick`||r.type===`Omit`||r.type===`Partial`||r.type===`Overwrite`)t=this._readPureMappedType(r);else throw Error(`Invalid PureMappedType child: `+e.type);if(e.type===`Pick`)for(var i in t)e.keys.indexOf(i)===-1&&delete t[i];else if(e.type===`Omit`)for(var i in t)e.keys.indexOf(i)>-1&&delete t[i];else e.type===`Overwrite`&&Object.assign(t,n);return t},e.prototype._readNumber=function(e){var t=e.scalarType||`double`;switch(t){case`double`:return this._reader.readDouble();case`int`:return this._reader.readInt();case`uint`:return this._reader.readUint();default:throw Error(`Scalar type not support : `+t)}},e.prototype._readInterface=function(e){for(var t={},n=this._validator.protoHelper.getFlatInterfaceSchema(e),r=this._reader.readUint(),i=function(r){var i=a._reader.readUint(),o=i&3,s=i>>2;if(s===0){if(n.indexSignature){var c=n.indexSignature.type,l=a._reader.readString();a._skipIdLengthPrefix(a._validator.protoHelper.parseReference(c)),t[l]=a._read(c)}else a._reader.skipByLengthType(nl.LengthDelimited),a._reader.skipByLengthType(o)}else if(s<=9){var u=s-1,d=e.extends&&e.extends.find(function(e){return e.id===u});if(d){a._skipIdLengthPrefix(a._validator.protoHelper.parseReference(d.type));var f=a._read(d.type);Object.assign(t,f)}else a._reader.skipByLengthType(o)}else{var p=s-10,m=e.properties&&e.properties.find(function(e){return e.id===p});m?(a._skipIdLengthPrefix(a._validator.protoHelper.parseReference(m.type)),t[m.name]=a._read(m.type)):a._reader.skipByLengthType(o)}},a=this,o=0;o<r;++o)i();for(var s=0,c=n.properties;s<c.length;s++){var l=c[s];if(!t.hasOwnProperty(l.name)){var u=this._validator.protoHelper.parseReference(l.type);if(u.type===`Literal`){t[l.name]=u.literal;continue}if(this._undefinedAsNull(t[l.name],u,l.optional)){t[l.name]=null;continue}}}return t},e.prototype._undefinedAsNull=function(e,t,n){return e===void 0&&this._options.undefinedAsNull&&!rl.canBeLiteral(t,void 0)&&!n&&rl.canBeLiteral(t,null)},e.prototype._skipIdLengthPrefix=function(e){tl.getPayloadLengthInfo(e,this._validator.protoHelper).needLengthPrefix&&this._reader.skipByLengthType(nl.Varint)},e.prototype._readUnionOrIntersection=function(e){for(var t,n=this._reader.readUint(),r=function(n){var r=i._reader.readUint(),a=r&3,o=r>>2,s=e.members.find(function(e){return e.id===o});if(!s)return i._reader.skipByLengthType(a),`continue`;i._skipIdLengthPrefix(i._validator.protoHelper.parseReference(s.type));var c=i._read(s.type);i._isObject(t)&&i._isObject(c)?Object.assign(t,c):t=c},i=this,a=0;a<n;++a)r();return this._undefinedAsNull(t,e)&&(t=null),t},e.prototype._isObject=function(e){return typeof e==`object`&&!!e},e.prototype._getBufferValue=function(e,t){if(t.arrayType){if(t.arrayType===`BigInt64Array`||t.arrayType===`BigUint64Array`)throw Error(`Unsupported arrayType: `+t.arrayType);if(t.arrayType===`Uint8Array`)return e;var n=il[t.arrayType];return e.byteOffset%n.BYTES_PER_ELEMENT===0?new n(e.buffer,e.byteOffset,e.byteLength/n.BYTES_PER_ELEMENT):new n(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}return e.byteLength===e.buffer.byteLength&&e.byteOffset===0?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)},e}(),ll={interface:{maxExtendsNum:9}},ul=function(){function e(){this._ops=[]}return Object.defineProperty(e.prototype,"ops",{get:function(){return this._ops},enumerable:!1,configurable:!0}),e.prototype.clear=function(){this._ops=[]},e.prototype.push=function(e){return this._ops.push(this.req2op(e)),this},e.prototype.req2op=function(e){if(e.type===`string`||e.type===`buffer`){var t=this.measureLength(e);return this.push({type:`varint`,value:ol.from(t)}),Y(Y({},e),{length:t})}var n=this.measureLength(e);return Y(Y({},e),{length:n})},e.prototype.measureLength=function(e){switch(e.type){case`varint`:return e.value.byteLength;case`string`:return al.measureLength(e.value);case`buffer`:return e.value.byteLength;case`double`:return 8;case`boolean`:return 1;default:return NaN}},e.prototype.finish=function(){for(var e=this._ops.sum(function(e){return e.length}),t=0,n=new Uint8Array(e),r=new DataView(n.buffer),i=0,a=this._ops;i<a.length;i++){var o=a[i];switch(o.type){case`varint`:var s=o.value.writeToBuffer(n,t);if(s!==t+o.length)throw Error(`Error varint measuredLength ${o.length}, actual is ${s-t}, value is ${o.value.toNumber()}`);break;case`double`:r.setFloat64(n.byteOffset+t,o.value);break;case`string`:var c=al.write(o.value,n,t);if(c!==o.length)throw Error(`Expect ${o.length} bytes but encoded ${c} bytes`);break;case`buffer`:n.subarray(t,t+o.length).set(o.value);break;case`boolean`:r.setUint8(n.byteOffset+t,o.value?255:0)}t+=o.length}return n},e}(),dl=function(){function e(e){this._options=e,this._writer=new ul,this._validator=e.validator}return e.prototype.encode=function(e,t){return this._writer.clear(),this._write(e,t),this._writer.finish()},e.prototype.encodeJSON=function(e,t){var n=this;if(typeof e!=`object`||!e||el.isJsonCompatible(t,`encode`,this._validator.protoHelper))return e;switch(t.type){case J.Array:if(!Array.isArray(e))break;return e.map(function(e){return n.encodeJSON(e,t.elementType)});case J.Tuple:if(!Array.isArray(e))break;return e.map(function(e,r){return n.encodeJSON(e,t.elementTypes[r])});case J.Interface:if(e.constructor!==Object)break;e=Object.assign({},e);var r=this._validator.protoHelper.getFlatInterfaceSchema(t),i=function(t){var n=r.properties.find(function(e){return e.name===t});n?e[t]=a.encodeJSON(e[t],n.type):r.indexSignature&&(e[t]=a.encodeJSON(e[t],r.indexSignature.type))},a=this;for(var o in e)i(o);return e;case J.Partial:case J.Pick:case J.Omit:case J.Overwrite:var s=this._validator.protoHelper.parseMappedType(t);return this.encodeJSON(e,s);case J.Buffer:if(!(e instanceof ArrayBuffer)&&!ArrayBuffer.isView(e))break;if(t.arrayType){if(t.arrayType===`Uint8Array`)return Xc.bufferToBase64(e);var c=e,l=c.byteLength===c.buffer.byteLength&&c.byteOffset===0?c.buffer:c.buffer.slice(c.byteOffset,c.byteOffset+c.byteLength);return Xc.bufferToBase64(new Uint8Array(l))}return Xc.bufferToBase64(new Uint8Array(e));case J.IndexedAccess:case J.Reference:case J.Keyof:return this.encodeJSON(e,this._validator.protoHelper.parseReference(t));case J.Union:case J.Intersection:for(var u=0,d=t.members;u<d.length;u++){var f=d[u];e=this.encodeJSON(e,f.type)}return e;case J.NonNullable:return this.encodeJSON(e,t.target);case J.Date:if(!(e instanceof Date))break;return e.toJSON();case J.Custom:return t.encodeJSON?t.encodeJSON(e):typeof e?.toJSON==`function`?e.toJSON():typeof e?.toString==`function`?e.toString():e;default:t.type}return e},e.prototype._write=function(e,t,n){switch(t.type){case J.Boolean:this._writer.push({type:`boolean`,value:e});break;case J.Number:this._writeNumber(e,t);break;case J.String:this._writer.push({type:`string`,value:e});break;case J.Array:var r=e;this._writer.push({type:`varint`,value:ol.from(r.length)});for(var i=0;i<r.length;++i)this._write(r[i],t.elementType);break;case J.Tuple:if(t.elementTypes.length>64)throw Error(`Elements oversized, maximum supported tuple elements is 64, now get `+t.elementTypes.length);for(var r=e,a=[],i=0;i<r.length;++i)r[i]===void 0||this._nullAsUndefined(r[i],t.elementTypes[i])||a.push(i);for(var o=0,s=0,c=0,l=a;c<l.length;c++){var u=l[c];u<32?o|=1<<u:s|=1<<u-32}this._writer.push({type:`varint`,value:new ol(s,o)});for(var d=0,f=a;d<f.length;d++){var i=f[d];this._write(r[i],t.elementTypes[i])}break;case J.Enum:var p=t.members.find(function(t){return t.value===e});if(!p)throw Error(`Unexpect enum value: ${e}`);this._writer.push({type:`varint`,value:ol.from(p.id)});break;case J.Any:e===void 0?this._writer.push({type:`string`,value:`undefined`}):this._writer.push({type:`string`,value:JSON.stringify(e)});break;case J.Object:this._writer.push({type:`string`,value:JSON.stringify(e)});break;case J.Literal:break;case J.Interface:this._writeInterface(e,t,n);break;case J.Buffer:this._writeBuffer(e);break;case J.IndexedAccess:case J.Reference:case J.Keyof:this._write(e,this._validator.protoHelper.parseReference(t),n);break;case J.Partial:case J.Pick:case J.Omit:case J.Overwrite:var m=this._validator.protoHelper.parseMappedType(t);m.type===J.Interface?this._writePureMappedType(e,t,n):m.type===J.Union?this._writeUnion(e,m,n?.skipFields):m.type===J.Intersection&&this._writeIntersection(e,m,n?.skipFields);break;case J.Union:this._writeUnion(e,t,n?.skipFields);break;case J.Intersection:this._writeIntersection(e,t,n?.skipFields);break;case J.Date:this._writer.push({type:`varint`,value:ol.from(e.getTime())});break;case J.NonNullable:this._write(e,t.target,n);break;case J.Custom:if(!t.encode)throw Error(`Missing encode method for CustomTypeSchema`);var h=t.encode(e);this._writeBuffer(h);break;default:throw Error(`Unrecognized schema type: ${t.type}`)}},e.prototype._writePureMappedType=function(e,t,n){if(n||={},t.type===`Pick`){if(n.pickFields){for(var r={},i=0,a=t.keys;i<a.length;i++){var o=a[i];n.pickFields[o]&&(r[o]=1)}n.pickFields=r}else{n.pickFields={};for(var s=0,c=t.keys;s<c.length;s++){var o=c[s];n.pickFields[o]=1}}}else if(t.type===`Omit`){n?.skipFields||(n||={},n.skipFields={});for(var l=0,u=t.keys;l<u.length;l++){var o=u[l];n.skipFields[o]=1}}else if(t.type===`Overwrite`){var d=this._parseOverwrite(e,t);this._write(d.overwriteValue,d.overwrite,n)}else if(t.type!==`Partial`)throw Error(`Invalid PureMappedType child: `+t.type);var f=this._validator.protoHelper.parseReference(t.target);f.type===`Interface`?this._writeInterface(e,f,n):this._writePureMappedType(e,f,n)},e.prototype._writeNumber=function(e,t){var n=t.scalarType||`double`;switch(n){case`double`:this._writer.push({type:n,value:e});break;case`int`:this._writer.push({type:`varint`,value:ol.from(e).zzEncode()});break;case`uint`:this._writer.push({type:`varint`,value:ol.from(e)});break;default:throw Error(`Scalar type not support : `+n)}},e.prototype._writeInterface=function(e,t,n){n||={},n.skipFields||(n.skipFields={});var r=this._writer.ops.length,i=0;if(t.extends){if(t.extends.length>ll.interface.maxExtendsNum)throw Error(`Max support ${ll.interface.maxExtendsNum} extends, actual: ${t.extends.length}`);for(var a=0,o=t.extends;a<o.length;a++){var s=o[a],c=s.id+1;this._writer.push({type:`varint`,value:ol.from(c)});var l=this._writer.ops.length-1,u=this._writer.ops.length,d=this._validator.protoHelper.parseReference(s.type);this._writeInterface(e,d,Y(Y({},n),{skipIndexSignature:!!t.indexSignature||n.skipIndexSignature})),this._writer.ops.length===u+1?this._writer.ops.splice(this._writer.ops.length-2,2):(++i,this._processIdWithLengthType(l,s.type))}}if(t.properties)for(var f=0,p=t.properties;f<p.length;f++){var m=p[f],h=this._validator.protoHelper.parseReference(m.type),g=e[m.name];if(!(n.pickFields&&!n.pickFields[m.name])){if(h.type===`Literal`){n.skipFields[m.name]=1;continue}if(this._nullAsUndefined(g,m.type)&&(g=void 0),g!==void 0&&!n.skipFields[m.name]){n.skipFields[m.name]=1;var c=m.id+ll.interface.maxExtendsNum+1;this._writer.push({type:`varint`,value:ol.from(c)});var l=this._writer.ops.length-1;this._write(g,h),++i,this._processIdWithLengthType(l,h)}}}if(!n.skipIndexSignature){var _=this._validator.protoHelper.getFlatInterfaceSchema(t);if(_.indexSignature){for(var v in e)if(!(e[v]===void 0||this._nullAsUndefined(e[v],_.indexSignature.type))&&!(n.pickFields&&!n.pickFields[v])&&!n.skipFields[v]){n.skipFields[v]=1,this._writer.push({type:`varint`,value:ol.from(0)});var l=this._writer.ops.length-1;this._writer.push({type:`string`,value:v});var y=this._writer.ops.length;this._write(e[v],_.indexSignature.type),++i,this._processIdWithLengthType(l,_.indexSignature.type,y)}}}this._writer.ops.splice(r,0,this._writer.req2op({type:`varint`,value:ol.from(i)}))},e.prototype._nullAsUndefined=function(e,t){return e===null&&this._options.nullAsUndefined&&!rl.canBeLiteral(t,null)},e.prototype._parseOverwrite=function(e,t){var n={},r=this._validator.protoHelper.parseReference(t.target),i=this._validator.protoHelper.parseReference(t.overwrite),a=this._validator.protoHelper.getFlatInterfaceSchema(r),o=this._validator.protoHelper.getFlatInterfaceSchema(i),s={},c={};if(o.properties)for(var l=0,u=o.properties;l<u.length;l++){var d=u[l];e[d.name]!==void 0&&!n[d.name]&&(s[d.name]=e[d.name],n[d.name]=1)}if(a.properties)for(var f=0,p=a.properties;f<p.length;f++){var d=p[f];e[d.name]!==void 0&&!n[d.name]&&(c[d.name]=e[d.name],n[d.name]=1)}var m,h;if(o.indexSignature?(h=o.indexSignature,m=s):a.indexSignature&&(h=a.indexSignature,m=c),h)for(var g in e)n[g]||(m[g]=e[g],n[g]=1);return{target:r,targetValue:c,overwrite:i,overwriteValue:s}},e.prototype._writeUnion=function(e,t,n,r){n===void 0&&(n={});var i=this._writer.ops.length,a=0;this._nullAsUndefined(e,t)&&(e=void 0);for(var o=0,s=t.members;o<s.length;o++){var c=s[o];if(this._validator.validate(e,c.type,{excessPropertyChecks:!1}).isSucc){this._writer.push({type:`varint`,value:ol.from(c.id)});var l=this._writer.ops.length-1;if(c.type.type===`Union`?this._writeUnion(e,c.type,n):this._write(e,c.type,{skipFields:n}),a++,this._processIdWithLengthType(l,c.type),typeof e!=`object`)break}}if(a>0){this._writer.ops.splice(i,0,this._writer.req2op({type:`varint`,value:ol.from(a)}));return}throw Error(`Non member is satisfied for union type`)},e.prototype._writeIntersection=function(e,t,n){n===void 0&&(n={}),this._writer.push({type:`varint`,value:ol.from(t.members.length)});for(var r=0,i=t.members;r<i.length;r++){var a=i[r];this._writer.push({type:`varint`,value:ol.from(a.id)});var o=this._writer.ops.length-1,s=Y({},n);this._write(e,a.type,{skipFields:s}),this._processIdWithLengthType(o,a.type)}},e.prototype._writeBuffer=function(e){if(e instanceof ArrayBuffer)this._writer.push({type:`buffer`,value:new Uint8Array(e)});else if(e instanceof Uint8Array)this._writer.push({type:`buffer`,value:e});else{var t=il[e.constructor.name],n=new Uint8Array(e.buffer,e.byteOffset,e.length*t.BYTES_PER_ELEMENT);this._writer.push({type:`buffer`,value:n})}},e.prototype._processIdWithLengthType=function(e,t,n){var r=this._writer.ops[e];if(r.type!==`varint`)throw Error(`Error idPos: `+e);var i=this._validator.protoHelper.parseReference(t),a=tl.getPayloadLengthInfo(i,this._validator.protoHelper),o=(r.value.toNumber()<<2)+a.lengthType;if(this._writer.ops[e]=this._writer.req2op({type:`varint`,value:ol.from(o)}),a.needLengthPrefix){var s=this._writer.ops.filter(function(t,n){return n>e}).sum(function(e){return e.length});this._writer.ops.splice(n??e+1,0,this._writer.req2op({type:`varint`,value:ol.from(s)}))}},e}(),fl=function(){function e(e,t){this._options={excessPropertyChecks:!0,strictNullChecks:!1,skipEncodeValidate:!1,skipDecodeValidate:!1,cloneProto:!0},this._options=Y(Y({},this._options),t),this._proto=this._options.cloneProto?Object.merge({},e):e,Object.assign(this._proto,Object.merge({},t?.customTypes)),this._validator=new Yc(this._proto,{excessPropertyChecks:this._options.excessPropertyChecks,strictNullChecks:this._options.strictNullChecks,cloneProto:!1}),this.validate=this._validator.validate.bind(this._validator),this.prune=this._validator.prune.bind(this._validator),this._encoder=new dl({validator:this._validator,nullAsUndefined:!this._options.strictNullChecks}),this._decoder=new cl({validator:this._validator,undefinedAsNull:!this._options.strictNullChecks})}return e.prototype.encode=function(e,t,n){var r;if(typeof t==`string`){if(r=this._proto[t],!r)return{isSucc:!1,errMsg:`Cannot find schema: ${t}`}}else r=t;if(!(n?.skipValidate??this._options.skipEncodeValidate)){var i=this._validator.validate(e,r,{excessPropertyChecks:!1});if(!i.isSucc)return i}var a;try{a=this._encoder.encode(e,r)}catch(e){return{isSucc:!1,errMsg:e.message}}return{isSucc:!0,buf:a}},e.prototype.decode=function(e,t,n){var r;if(typeof t==`string`){if(r=this._proto[t],!r)return{isSucc:!1,errMsg:`Cannot find schema: ${t}`,errPhase:void 0}}else r=t;var i;try{i=this._decoder.decode(e,r)}catch(e){return{isSucc:!1,errMsg:e.message,errPhase:`decode`}}if(!(n?.skipValidate??this._options.skipDecodeValidate)){var a=this._validator.validate(i,r);if(!a.isSucc)return Y(Y({},a),{errPhase:`validate`})}return{isSucc:!0,value:i}},e.prototype.encodeJSON=function(e,t,n){var r;if(typeof t==`string`){if(r=this._proto[t],!r)return{isSucc:!1,errMsg:`Cannot find schema: ${t}`}}else r=t;if(!(n?.skipValidate??this._options.skipEncodeValidate)){var i=this._validator.prune(e,r);if(!i.isSucc)return i;e=i.pruneOutput}var a;try{a=this._encoder.encodeJSON(e,r)}catch(e){return{isSucc:!1,errMsg:e.message}}return{isSucc:!0,json:a}},e.prototype.decodeJSON=function(e,t,n){var r;if(typeof t==`string`){if(r=this._proto[t],!r)return{isSucc:!1,errMsg:`Cannot find schema: ${t}`,errPhase:void 0}}else r=t;var i;try{i=this._decoder.decodeJSON(e,r)}catch(e){return{isSucc:!1,errMsg:e.message,errPhase:`decode`}}if(!(n?.skipValidate??this._options.skipDecodeValidate)){var a=this._validator.prune(i,r);return a.isSucc?{isSucc:!0,value:a.pruneOutput}:(a.errPhase=`validate`,a)}return{isSucc:!0,value:i}},e}(),pl=function(){function e(e,t){e===void 0&&(e=1),t===void 0&&(t=2**53-1),this._min=e,this._max=t,this._last=t}return e.prototype.reset=function(){this._last=this._max},e.prototype.getNext=function(e){return this._last>=this._max?this._last=this._min:e?this._last:++this._last},Object.defineProperty(e.prototype,"last",{get:function(){return this._last},enumerable:!1,configurable:!0}),e}(),ml=function(){function e(){this.nodes=[],this.onError=function(e,t,n,r){r?.error(`Uncaught FlowError:`,e)}}return e.prototype.exec=function(e,t){return Fc(this,void 0,void 0,function(){var n,r,i;return Ic(this,function(a){switch(a.label){case 0:n=e,r=0,a.label=1;case 1:if(!(r<this.nodes.length))return[3,7];a.label=2;case 2:return a.trys.push([2,4,,5]),[4,this.nodes[r](n)];case 3:return n=a.sent(),[3,5];case 4:return i=a.sent(),this.onError(i,n,e,t),[2,void 0];case 5:if(n==null)return[2,n];a.label=6;case 6:return++r,[3,1];case 7:return[2,n]}})})},e.prototype.push=function(e){return this.nodes.push(e),e},e.prototype.remove=function(e){return this.nodes.remove(function(t){return t===e})},e}();function hl(e){var t={};return t[`?mongodb/ObjectId`]=e===String?{type:J.Custom,validate:function(e){return typeof e==`string`?/^[0-9a-fA-F]{24}$/.test(e)?{isSucc:!0}:{isSucc:!1,errMsg:`ObjectId must be a string of 24 hex characters`}:{isSucc:!1,errMsg:`Expected type to be \`string\`, actually \`${typeof e}\`.`}},encode:function(e){return new Uint8Array(Array.from({length:12},function(t,n){return Number.parseInt(`0x`+e.substr(n*2,2))}))},decode:function(e){return Array.from(e,function(e){var t=e.toString(16);return t.length===1&&(t=`0`+t),t}).join(``)}}:{type:J.Custom,validate:function(t){return t instanceof e?{isSucc:!0}:{isSucc:!1,errMsg:"Expected to be instance of `ObjectId`, actually not."}},encode:function(e){return new Uint8Array(e.id)},decode:function(t){return new e(t)},decodeJSON:function(t){return new e(t)}},t[`?mongodb/ObjectID`]=t[`?mongodb/ObjectId`],t[`?bson/ObjectId`]=t[`?mongodb/ObjectId`],t[`?bson/ObjectID`]=t[`?mongodb/ObjectId`],t}var gl=function(){function e(){this._handlers={}}return e.prototype.forEachHandler=function(e,t){var n=[...arguments].slice(2),r=this._handlers[e];if(!r)return[];for(var i=[],a=0,o=r;a<o.length;a++){var s=o[a];try{i.push(s.apply(void 0,n))}catch(e){t?.error(`[MsgHandlerError]`,e)}}return i},e.prototype.addHandler=function(e,t){var n=this._handlers[e];if(!n)n=this._handlers[e]=[];else if(n.some(function(e){return e===t}))return;n.push(t)},e.prototype.removeHandler=function(e,t){var n=this._handlers[e];n&&n.removeOne(function(e){return e===t})},e.prototype.removeAllHandlers=function(e){this._handlers[e]=void 0},e}(),_l=function(){function e(){}return e.getServiceMap=function(e){for(var t={id2Service:{},apiName2Service:{},msgName2Service:{}},n=0,r=e.services;n<r.length;n++){var i=r[n],a=i.name.match(/(.+\/)?([^\/]+)$/),o=a[1]||``,s=a[2];if(i.type===`api`){var c=Y(Y({},i),{reqSchemaId:`${o}Ptl${s}/Req${s}`,resSchemaId:`${o}Ptl${s}/Res${s}`});t.apiName2Service[i.name]=c,t.id2Service[i.id]=c}else{var c=Y(Y({},i),{msgSchemaId:`${o}Msg${s}/Msg${s}`});t.msgName2Service[i.name]=c,t.id2Service[i.id]=c}}return t},e}(),vl=function(){function e(){}return Object.defineProperty(e,"tsbuffer",{get:function(){return this._tsbuffer||=new fl(Vc),this._tsbuffer},enumerable:!1,configurable:!0}),e.encodeClientMsg=function(e,t,n,r,i){if(r===`buffer`){var a=e.encode(n,t.msgSchemaId);if(!a.isSucc)return a;var o={serviceId:t.id,buffer:a.buf},s=this.tsbuffer.encode(o,`ServerInputData`);return s.isSucc?{isSucc:!0,output:s.buf}:{isSucc:!1,errMsg:s.errMsg}}var a=e.encodeJSON(n,t.msgSchemaId);if(!a.isSucc)return a;var c=i===`SHORT`?a.json:[t.name,a.json];return{isSucc:!0,output:r===`json`?c:JSON.stringify(c)}},e.encodeApiReq=function(e,t,n,r,i){if(r===`buffer`){var a=e.encode(n,t.reqSchemaId);if(!a.isSucc)return a;var o={serviceId:t.id,buffer:a.buf,sn:i},s=this.tsbuffer.encode(o,`ServerInputData`);return s.isSucc?{isSucc:!0,output:s.buf}:{isSucc:!1,errMsg:s.errMsg}}var a=e.encodeJSON(n,t.reqSchemaId);if(!a.isSucc)return a;var c=i===void 0?a.json:[t.name,a.json,i];return{isSucc:!0,output:r===`json`?c:JSON.stringify(c)}},e.encodeServerMsg=function(e,t,n,r,i){if(r===`buffer`){var a=e.encode(n,t.msgSchemaId);if(!a.isSucc)return a;var o={serviceId:t.id,buffer:a.buf},s=this.tsbuffer.encode(o,`ServerOutputData`);return s.isSucc?{isSucc:!0,output:s.buf}:{isSucc:!1,errMsg:s.errMsg}}var a=e.encodeJSON(n,t.msgSchemaId);if(!a.isSucc)return a;var c=i===`SHORT`?a.json:[t.name,a.json];return{isSucc:!0,output:r===`json`?c:JSON.stringify(c)}},e.parseServerOutout=function(e,t,n,r){if(n instanceof Uint8Array){var i=this.tsbuffer.decode(n,`ServerOutputData`);if(!i.isSucc)return i;var a=i.value;if(r??=a.serviceId,r===void 0)return{isSucc:!1,errMsg:`Missing 'serviceId' in ServerOutput`};var o=t.id2Service[r];if(!o)return{isSucc:!1,errMsg:`Invalid service ID: ${r} (from ServerOutput)`};if(o.type===`msg`){if(!a.buffer)return{isSucc:!1,errMsg:`Empty msg buffer (from ServerOutput)`};var s=e.decode(a.buffer,o.msgSchemaId);return s.isSucc?{isSucc:!0,result:{type:`msg`,service:o,msg:s.value}}:s}if(a.error)return{isSucc:!0,result:{type:`api`,service:o,sn:a.sn,ret:{isSucc:!1,err:new Hc(a.error)}}};if(!a.buffer)return{isSucc:!1,errMsg:`Empty API res buffer (from ServerOutput)`};var c=e.decode(a.buffer,o.resSchemaId);return c.isSucc?{isSucc:!0,result:{type:`api`,service:o,sn:a.sn,ret:{isSucc:!0,res:c.value}}}:c}var l=void 0;if(typeof n==`string`)try{l=JSON.parse(n)}catch(e){return{isSucc:!1,errMsg:`Invalid input JSON: ${e.message}`}}else l=n;var u=void 0,d=void 0,o=void 0;if(r==null){if(!Array.isArray(l))return{isSucc:!1,errMsg:`Invalid server output format`};var f=l[0];if(u=l[1],d=l[2],o=d?t.apiName2Service[f]:t.msgName2Service[f],!o)return{isSucc:!1,errMsg:`Invalid service name: ${f} (from ServerOutputData)`}}else{if(o=t.id2Service[r],!o)return{isSucc:!1,errMsg:`Invalid service ID: ${r}`};u=l}if(o.type===`api`){if(u.isSucc&&`res`in u){var p=e.decodeJSON(u.res,o.resSchemaId);if(!p.isSucc)return p;u.res=p.value}else if(u.err)u.err=new Hc(u.err);else return{isSucc:!1,errMsg:`Invalid server output format`};return{isSucc:!0,result:{type:`api`,service:o,sn:d,ret:u}}}var p=e.decodeJSON(u,o.msgSchemaId);return p.isSucc?{isSucc:!0,result:{type:`msg`,service:o,msg:p.value}}:p},e.HeartbeatPacket=new Uint8Array([0]),e}(),yl=function(){function e(e,t){this._msgHandlers=new gl,this.flows={preCallApiFlow:new ml,preApiReturnFlow:new ml,postApiReturnFlow:new ml,preSendMsgFlow:new ml,postSendMsgFlow:new ml,preRecvMsgFlow:new ml,postRecvMsgFlow:new ml,preSendDataFlow:new ml,preRecvDataFlow:new ml,preSendBufferFlow:new ml,preRecvBufferFlow:new ml,preConnectFlow:new ml,postConnectFlow:new ml,postDisconnectFlow:new ml},this._apiSnCounter=new pl(1),this._pendingApis=[],this._onRecvBuf=this._onRecvData,this.options=t,this.serviceMap=_l.getServiceMap(e),this.dataType=this.options.json?`text`:`buffer`;var n=Y({},e.types);t.customObjectIdClass&&(n=Y(Y({},n),hl(t.customObjectIdClass))),this.tsbuffer=new fl(n),this.logger=this.options.logger,this.logger&&=zc(this.logger,this.options.logLevel)}return Object.defineProperty(e.prototype,"lastSN",{get:function(){return this._apiSnCounter.last},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextSN",{get:function(){return this._apiSnCounter.getNext(!0)},enumerable:!1,configurable:!0}),e.prototype.callApi=function(e,t,n){return n===void 0&&(n={}),Fc(this,void 0,void 0,function(){var r,i,a,o=this;return Ic(this,function(s){return r=this._apiSnCounter.getNext(),i={sn:r,abortKey:n.abortKey,service:this.serviceMap.apiName2Service[e]},this._pendingApis.push(i),a=new Promise(function(r){return Fc(o,void 0,void 0,function(){var a,o,s,c,l;return Ic(this,function(u){switch(u.label){case 0:return[4,this.flows.preCallApiFlow.exec({apiName:e,req:t,options:n},this.logger)];case 1:return a=u.sent(),!a||i.isAborted?(this.abort(i.sn),[2]):a.return?(o=a.return,[3,4]):[3,2];case 2:return[4,this._doCallApi(a.apiName,a.req,a.options,i)];case 3:o=u.sent(),u.label=4;case 4:return i.isAborted?[2]:(o.isSucc?this.options.logApi&&((c=this.logger)==null||c.log(`[ApiRes] #${i.sn} ${e}`,o.res)):this.options.logApi&&((l=this.logger)==null||l[o.err.type===Hc.Type.ApiError?`log`:`error`](`[ApiErr] #${i.sn} ${e}`,o.err)),[4,this.flows.preApiReturnFlow.exec(Y(Y({},a),{return:o}),this.logger)]);case 5:return s=u.sent(),s?(r(s.return),this.flows.postApiReturnFlow.exec(s,this.logger),[2]):(this.abort(i.sn),[2])}})})}),a.catch().then(function(){o._pendingApis.removeOne(function(e){return e.sn===i.sn})}),[2,a]})})},e.prototype._doCallApi=function(e,t,n,r){var i;return n===void 0&&(n={}),Fc(this,void 0,void 0,function(){var a,o=this;return Ic(this,function(s){return this.options.logApi&&((i=this.logger)==null||i.log(`[ApiReq] #${r.sn}`,e,t)),a=new Promise(function(i){return Fc(o,void 0,void 0,function(){var a,o,s,c,l,u;return Ic(this,function(d){switch(d.label){case 0:return a=this.serviceMap.apiName2Service[e],a?(r.service=a,o=vl.encodeApiReq(this.tsbuffer,a,t,this.dataType,this.type===`LONG`?r.sn:void 0),o.isSucc?(s=this._waitApiReturn(r,n.timeout??this.options.timeout),c=this.sendData(o.output,n,a.id,r),[4,c]):(i({isSucc:!1,err:new Hc(o.errMsg,{type:Bc.ClientError,code:`INPUT_DATA_ERR`})}),[2])):(i({isSucc:!1,err:new Hc(`Invalid api name: `+e,{code:`INVALID_API_NAME`,type:Bc.ClientError})}),[2]);case 1:return l=d.sent(),l.err?(i({isSucc:!1,err:l.err}),[2]):[4,s];case 2:return u=d.sent(),r.isAborted||i(u),[2]}})})}),[2,a]})})},e.prototype.sendMsg=function(e,t,n){var r=this;n===void 0&&(n={});var i=new Promise(function(i){return Fc(r,void 0,void 0,function(){var r,a,o,s,c,l,u;return Ic(this,function(d){switch(d.label){case 0:return[4,this.flows.preSendMsgFlow.exec({msgName:e,msg:t,options:n},this.logger)];case 1:return r=d.sent(),r?(this.options.logMsg&&((l=this.logger)==null||l.log(`[SendMsg]`,e,t)),a=this.serviceMap.msgName2Service[e],a?(o=vl.encodeClientMsg(this.tsbuffer,a,t,this.dataType,this.type),o.isSucc?(s=this.sendData(o.output,n,a.id),[4,s]):(i({isSucc:!1,err:new Hc(o.errMsg,{type:Bc.ClientError,code:`ENCODE_MSG_ERR`})}),[2])):((u=this.logger)==null||u.error(`Invalid msg name: `+e),i({isSucc:!1,err:new Hc(`Invalid msg name: `+e,{code:`INVALID_MSG_NAME`,type:Bc.ClientError})}),[2])):[2];case 2:return c=d.sent(),c.err?(i({isSucc:!1,err:c.err}),[2]):(i({isSucc:!0}),this.flows.postSendMsgFlow.exec(r,this.logger),[2])}})})});return i.then(function(e){e.isSucc||(r.logger??console).error(`[SendMsgErr]`,e.err)}),i},e.prototype.listenMsg=function(e,t){var n=this;return e instanceof RegExp?Object.keys(this.serviceMap.msgName2Service).filter(function(t){return e.test(t)}).forEach(function(e){n._msgHandlers.addHandler(e,t)}):this._msgHandlers.addHandler(e,t),t},e.prototype.unlistenMsg=function(e,t){var n=this;e instanceof RegExp?Object.keys(this.serviceMap.msgName2Service).filter(function(t){return e.test(t)}).forEach(function(e){n._msgHandlers.removeHandler(e,t)}):this._msgHandlers.removeHandler(e,t)},e.prototype.unlistenMsgAll=function(e){var t=this;e instanceof RegExp?Object.keys(this.serviceMap.msgName2Service).filter(function(t){return e.test(t)}).forEach(function(e){t._msgHandlers.removeAllHandlers(e)}):this._msgHandlers.removeAllHandlers(e)},e.prototype.abort=function(e){var t,n,r=this._pendingApis.findIndex(function(t){return t.sn===e});if(r!==-1){var i=this._pendingApis[r];this._pendingApis.splice(r,1),i.onReturn=void 0,i.isAborted=!0,(t=this.logger)==null||t.log(`[ApiAbort] #${i.sn} ${i.service.name}`),(n=i.onAbort)==null||n.call(i)}},e.prototype.abortByKey=function(e){var t=this;this._pendingApis.filter(function(t){return t.abortKey===e}).forEach(function(e){t.abort(e.sn)})},e.prototype.abortAll=function(){var e=this;this._pendingApis.slice().forEach(function(t){return e.abort(t.sn)})},e.prototype.sendData=function(e,t,n,r){var i,a,o;return Fc(this,void 0,void 0,function(){var s,c;return Ic(this,function(l){switch(l.label){case 0:return[4,this.flows.preSendDataFlow.exec({data:e,sn:r?.sn},this.logger)];case 1:return s=l.sent(),s?(e=s.data,e instanceof Uint8Array?[4,this.flows.preSendBufferFlow.exec({buf:e,sn:r?.sn},this.logger)]:[3,3]):[2,new Promise(function(e){})];case 2:if(c=l.sent(),!c)return[2,new Promise(function(e){})];e=c.buf,l.label=3;case 3:return this.options.debugBuf&&(typeof e==`string`?(i=this.logger)==null||i.debug(`[SendText]`+(r?` #`+r.sn:``)+` length=${e.length}`,e):e instanceof Uint8Array?(a=this.logger)==null||a.debug(`[SendBuf]`+(r?` #`+r.sn:``)+` length=${e.length}`,e):(o=this.logger)==null||o.debug(`[SendJSON]`+(r?` #`+r.sn:``),e)),[2,this._sendData(e,t,n,r)]}})})},e.prototype._onRecvData=function(e,t){var n,r,i,a,o,s,c,l,u;return Fc(this,void 0,void 0,function(){var d,f,p,m,h,g;return Ic(this,function(_){switch(_.label){case 0:return d=t?.sn,[4,this.flows.preRecvDataFlow.exec({data:e,sn:d},this.logger)];case 1:return f=_.sent(),f?(e=f.data,typeof e==`string`?(this.options.debugBuf&&((n=this.logger)==null||n.debug(`[RecvText]`+(d?` #`+d:``),e)),[3,5]):[3,2]):[2];case 2:return e instanceof Uint8Array?(this.options.debugBuf&&((r=this.logger)==null||r.debug(`[RecvBuf]`+(d?` #`+d:``),`length=`+e.length,e)),[4,this.flows.preRecvBufferFlow.exec({buf:e,sn:d},this.logger)]):[3,4];case 3:return p=_.sent(),p?(e=p.buf,[3,5]):[2];case 4:this.options.debugBuf&&((i=this.logger)==null||i.debug(`[RecvJSON]`+(d?` #`+d:``),e)),_.label=5;case 5:return m=vl.parseServerOutout(this.tsbuffer,this.serviceMap,e,t?.service.id),m.isSucc?(h=m.result,h.type===`api`?(d??=h.sn,(l=(c=this._pendingApis.find(function(e){return e.sn===d}))?.onReturn)==null||l.call(c,h.ret),[3,9]):[3,6]):((a=this.logger)==null||a.error(`ParseServerOutputError: `+m.errMsg),e instanceof Uint8Array&&((o=this.logger)==null||o.error(`Please check the version of serviceProto between server and client`)),t&&((s=t.onReturn)==null||s.call(t,{isSucc:!1,err:new Hc(`Parse server output error`,{type:Bc.ServerError})})),[2]);case 6:return h.type===`msg`?(this.options.logMsg&&((u=this.logger)==null||u.log(`[RecvMsg] ${h.service.name}`,h.msg)),[4,this.flows.preRecvMsgFlow.exec({msgName:h.service.name,msg:h.msg},this.logger)]):[3,9];case 7:return g=_.sent(),g?(this._msgHandlers.forEachHandler(g.msgName,this.logger,g.msg,g.msgName),[4,this.flows.postRecvMsgFlow.exec(g,this.logger)]):[2];case 8:_.sent(),_.label=9;case 9:return[2]}})})},e.prototype._waitApiReturn=function(e,t){return Fc(this,void 0,void 0,function(){var n=this;return Ic(this,function(r){return[2,new Promise(function(r){var i;t&&(i=setTimeout(function(){i=void 0,n._pendingApis.removeOne(function(t){return t.sn===e.sn}),r({isSucc:!1,err:new Hc(`Request Timeout`,{type:Bc.NetworkError,code:`TIMEOUT`})})},t)),e.onReturn=function(t){i&&=(clearTimeout(i),void 0),n._pendingApis.removeOne(function(t){return t.sn===e.sn}),r(t)}})]})})},e}(),bl={logLevel:`debug`,logApi:!0,logMsg:!0,json:!1,timeout:15e3,debugBuf:!1},xl=function(e){Nc(t,e);function t(t,n,r){var i=this,a;return i=e.call(this,t,Y(Y({},Sl),r))||this,i.type=`SHORT`,i._http=n,i._jsonServer=i.options.server+(i.options.server.endsWith(`/`)?``:`/`),(a=i.logger)==null||a.log(`TSRPC HTTP Client :`,i.options.server),i}return t.prototype._sendData=function(e,t,n,r){return Fc(this,void 0,void 0,function(){var i,a=this;return Ic(this,function(o){return i=(function(){return Fc(a,void 0,void 0,function(){var i,a,o,s,c,l,u;return Ic(this,function(d){switch(d.label){case 0:return i=this.serviceMap.id2Service[n],a=i.type===`msg`?`?type=msg`:``,o=typeof e==`string`?this._jsonServer+i.name+a:this.options.server,s=this._http.fetch({url:o,data:e,method:`POST`,timeout:t.timeout||this.options.timeout,headers:{"Content-Type":typeof e==`string`?`application/json`:`application/octet-stream`},transportOptions:t,responseType:typeof e==`string`?`text`:`arraybuffer`}),c=s.promise,l=s.abort,r&&(r.onAbort=function(){l()}),r?.isAborted?[2,new Promise(function(e){})]:[4,c];case 1:return u=d.sent(),u.isSucc?[2,{res:u.res}]:[2,{err:u.err}]}})})})(),i.then(function(e){r&&e.res&&a._onRecvData(e.res,r)}),i.catch(function(e){}).then(function(){r&&(r.onAbort=void 0)}),[2,i]})})},t}(yl),Sl=Y(Y({},bl),{server:`http://localhost:3000`,jsonPrune:!0}),Cl=function(e){Nc(t,e);function t(t,n,r){var i=this,a;return i=e.call(this,t,Y(Y({},wl),r))||this,i.type=`LONG`,i._onWsOpen=function(){var e;i._connecting&&(i._status=Tl.Opened,i._connecting.rs({isSucc:!0}),i._connecting=void 0,(e=i.logger)==null||e.log(`WebSocket connection to server successful`),i.flows.postConnectFlow.exec({},i.logger),i.options.heartbeat&&i._heartbeat())},i._onWsClose=function(e,t){var n,r,a;if(i._status!==Tl.Closed){var o=!!i._rsDisconnecting,s=i.isConnected||o;i._status=Tl.Closed,i._connecting&&(i._connecting.rs({isSucc:!1,errMsg:`Failed to connect to WebSocket server: ${i.options.server}`}),i._connecting=void 0,(n=i.logger)==null||n.error(`Failed to connect to WebSocket server: ${i.options.server}`)),i._pendingHeartbeat&&(clearTimeout(i._pendingHeartbeat.timeoutTimer),i._pendingHeartbeat=void 0),i._nextHeartbeatTimer&&clearTimeout(i._nextHeartbeatTimer),i._rsDisconnecting?(i._rsDisconnecting(),i._rsDisconnecting=void 0,(r=i.logger)==null||r.log(`Disconnected succ`,`code=${e} reason=${t}`)):s&&((a=i.logger)==null||a.log(`Lost connection to ${i.options.server}`,`code=${e} reason=${t}`)),s&&i.flows.postDisconnectFlow.exec({reason:t,isManual:o},i.logger),i._pendingApis.slice().forEach(function(e){var n;(n=e.onReturn)==null||n.call(e,{isSucc:!1,err:new Hc(t||`Lost connection to server`,{type:Bc.NetworkError,code:`LOST_CONN`})})})}},i._onWsError=function(e){var t,n;(t=i.logger)==null||t.error(`[WebSocket Error]`,e),i._connecting&&(i._connecting.rs({isSucc:!1,errMsg:`Failed to connect to WebSocket server: ${i.options.server}`}),i._connecting=void 0,(n=i.logger)==null||n.error(`Failed to connect to WebSocket server: ${i.options.server}`))},i._onWsMessage=function(e){if(i._status===Tl.Opened){if(e instanceof Uint8Array&&e.length===vl.HeartbeatPacket.length&&e.every(function(e,t){return e===vl.HeartbeatPacket[t]})){i._onHeartbeatAnswer(e);return}i._onRecvData(e)}},i.lastHeartbeatLatency=0,i._status=Tl.Closed,i._wsp=n,n.options={onOpen:i._onWsOpen,onClose:i._onWsClose,onError:i._onWsError,onMessage:i._onWsMessage,logger:i.logger},(a=i.logger)==null||a.log(`TSRPC WebSocket Client :`,i.options.server),i}return t.prototype._sendData=function(e){return Fc(this,void 0,void 0,function(){var t=this;return Ic(this,function(n){return[2,new Promise(function(n){return Fc(t,void 0,void 0,function(){return Ic(this,function(t){return this.isConnected?(n(this._wsp.send(e)),[2]):(n({err:new Hc(`WebSocket is not connected`,{code:`WS_NOT_OPEN`,type:Hc.Type.ClientError})}),[2])})})})]})})},t.prototype._heartbeat=function(){var e=this,t;this._pendingHeartbeat||this._status!==Tl.Opened||!this.options.heartbeat||(this._pendingHeartbeat={startTime:Date.now(),timeoutTimer:setTimeout(function(){var t;e._pendingHeartbeat=void 0,(t=e.logger)==null||t.error(`[Heartbeat] Heartbeat timeout, the connection disconnected automatically.`),e._wsClose(3e3,`Heartbeat timeout`),e._wsp.options.onClose(3e3,`Heartbeat timeout`)},this.options.heartbeat.timeout)},this.options.debugBuf&&((t=this.logger)==null||t.log(`[Heartbeat] Send ping`,vl.HeartbeatPacket)),this._sendData(vl.HeartbeatPacket))},t.prototype._onHeartbeatAnswer=function(e){var t=this,n;!this._pendingHeartbeat||this._status!==Tl.Opened||!this.options.heartbeat||(this.lastHeartbeatLatency=Date.now()-this._pendingHeartbeat.startTime,this.options.debugBuf&&((n=this.logger)==null||n.log(`[Heartbeat] Recv pong, latency=${this.lastHeartbeatLatency}ms`,e)),clearTimeout(this._pendingHeartbeat.timeoutTimer),this._pendingHeartbeat=void 0,this._nextHeartbeatTimer=setTimeout(function(){t._heartbeat()},this.options.heartbeat.interval))},Object.defineProperty(t.prototype,"status",{get:function(){return this._status},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isConnected",{get:function(){return this._status===Tl.Opened},enumerable:!1,configurable:!0}),t.prototype.connect=function(){var e,t;return Fc(this,void 0,void 0,function(){var n,r,i=this;return Ic(this,function(a){switch(a.label){case 0:return this.isConnected?[2,{isSucc:!0}]:this._connecting?[2,this._connecting.promise]:[4,this.flows.preConnectFlow.exec({},this.logger)];case 1:if(n=a.sent(),n?.return)return[2,n.return];if(!n)return[2,new Promise(function(e){})];try{this._wsp.connect(this.options.server,[this.options.json?`text`:`buffer`])}catch(t){return(e=this.logger)==null||e.error(t),[2,{isSucc:!1,errMsg:t.message}]}return this._status=Tl.Opening,(t=this.logger)==null||t.log(`Start connecting ${this.options.server}...`),this._connecting={},r=new Promise(function(e){i._connecting.rs=e}),this._connecting.promise=r,[2,r]}})})},t.prototype.disconnect=function(e,t){var n;return Fc(this,void 0,void 0,function(){var r,i=this;return Ic(this,function(a){return this._status===Tl.Closed?[2]:(this._status=Tl.Closing,(n=this.logger)==null||n.log(`Start disconnecting...`),r=!1,[2,Promise.race([new Promise(function(n){i._rsDisconnecting=function(){r||(r=!0,n())},i._wsClose(e??1e3,t??``)}),new Promise(function(e){setTimeout(function(){r||(r=!0,i._onWsClose(1005,`Connection closed, but not received ws.onClose event.`))},1e3)})])])})})},t.prototype._wsClose=function(e,t){var n;try{this._wsp.close(e??1e3,t??``)}catch(e){(n=this.logger)==null||n.error(`[WsCloseError]`,e)}},t}(yl),wl=Y(Y({},bl),{server:`ws://localhost:3000`}),Tl;(function(e){e.Opening=`OPENING`,e.Opened=`OPENED`,e.Closing=`CLOSING`,e.Closed=`CLOSED`})(Tl||={});var El=function(){function e(){}return e.prototype.fetch=function(e){var t=this,n,r=new Promise(function(e){n=e}),i=new XMLHttpRequest;if(typeof navigator<`u`&&(navigator==null?void 0:navigator.userAgent)?.indexOf(`MSIE 8.0;`)>-1)i.onreadystatechange=function(){return Fc(t,void 0,void 0,function(){return Ic(this,function(t){if(i.readyState==4){if(i.status==0||i.response==null&&i.responseText==null)return n({isSucc:!1,err:new Hc(`Network Error`,{type:Hc.Type.NetworkError,httpCode:i.status})}),[2];if(i.status==12029)return n({isSucc:!1,err:new Hc({message:`Network Error`,type:Hc.Type.NetworkError,httpCode:i.status})}),[2];n({isSucc:!0,res:e.responseType===`text`?i.responseText:new Uint8Array(i.response)})}return[2]})})};else{i.onerror=function(){n({isSucc:!1,err:new Hc({message:`Network Error`,type:Hc.Type.NetworkError,httpCode:i.status})})},i.ontimeout=function(){n({isSucc:!1,err:new Hc({message:`Request Timeout`,type:Hc.Type.NetworkError,code:`TIMEOUT`})})},i.onload=function(){return Fc(t,void 0,void 0,function(){return Ic(this,function(t){return i.status===200||i.status===500?n({isSucc:!0,res:i.response&&(e.responseType===`text`?i.responseText:new Uint8Array(i.response))}):n({isSucc:!1,err:new Hc({message:`HTTP Error `+i.status,type:Hc.Type.ServerError,httpCode:i.status})}),[2]})})};var a=e.transportOptions;a.onProgress&&(i.upload.onprogress=function(e){var t;(t=a.onProgress)==null||t.call(a,e.loaded/e.total)})}if(i.open(e.method,e.url,!0),e.headers)for(var o in e.headers)i.setRequestHeader(o,e.headers[o]);i.responseType=e.responseType;var s=e.timeout;return s&&(i.timeout=s),i.send(e.data),{promise:r,abort:i.abort.bind(i)}},e}(),Dl=function(e){Nc(t,e);function t(t,n){var r=new El;return e.call(this,t,r,Y(Y({},Ol),n))||this}return t.prototype.callApi=function(t,n,r){return r===void 0&&(r={}),e.prototype.callApi.call(this,t,n,r)},t.prototype.sendMsg=function(t,n,r){return r===void 0&&(r={}),e.prototype.sendMsg.call(this,t,n,r)},t}(xl),Ol=Y(Y({},Sl),{customObjectIdClass:String}),kl=function(){function e(e){this.caUrl=e}return e.prototype.connect=function(e,t){var n=this;this._ws=this.caUrl?new WebSocket(e,t,this.caUrl):new WebSocket(e,t),this._ws.binaryType=`arraybuffer`,this._ws.onopen=this.options.onOpen,this._ws.onerror=this.options.onError,this._ws.onclose=function(e){n.options.onClose(e.code,e.reason),n._ws=void 0},this._ws.onmessage=function(e){var t;e.data instanceof ArrayBuffer?n.options.onMessage(new Uint8Array(e.data)):typeof e.data==`string`?n.options.onMessage(e.data):(t=n.options.logger)==null||t.warn(`[Unresolved Recv]`,e.data)}},e.prototype.close=function(e,t){var n;(n=this._ws)==null||n.close(e,t),this._ws=void 0},e.prototype.send=function(e){return Fc(this,void 0,void 0,function(){var t,n;return Ic(this,function(r){try{return t=void 0,typeof e==`string`?t=e:(n=e,t=n.byteOffset===0&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)),this._ws.send(t),[2,{}]}catch(e){return[2,{err:new Hc(`Network Error`,{code:`SEND_BUF_ERR`,type:Hc.Type.NetworkError,innerErr:e})}]}})})},e}();(function(e){Nc(t,e);function t(t,n){var r=new kl(n?.caUrl);return e.call(this,t,r,Y(Y({},Al),n))||this}return t})(Cl);var Al=Y(Y({},wl),{customObjectIdClass:String}),jl=new Dl(Nr,{server:`${window.location.origin}${Mr}`,json:!0,logger:void 0}),Ml=5e3;function Nl(e,t=[],n=Ml){let[r,i]=(0,_.useState)({status:`loading`}),[a,o]=(0,_.useState)(void 0),s=(0,_.useRef)(!1),c=(0,_.useRef)(!1),l=(0,_.useRef)(e);l.current=e;let[u,d]=(0,_.useState)(0);return(0,_.useEffect)(()=>{c.current=!1;let e=async()=>{if(!s.current){s.current=!0;try{let e=await l.current();if(c.current)return;o(e),i({status:`ok`,value:e})}catch(e){if(c.current)return;i({status:`unavailable`,reason:e instanceof Error?e.message:String(e)})}finally{s.current=!1}}};e();let t=setInterval(()=>void e(),n);return()=>{c.current=!0,clearInterval(t)}},[n,u,...t]),{read:r,lastGood:a,stale:r.status===`unavailable`&&a!==void 0,refresh:()=>d(e=>e+1)}}var Pl=3e5;function Q(){return Nl(async()=>{let e=await jl.callApi(`Session`,{});if(!e.isSucc)throw Error(e.err.message);return e.res},[],Pl)}function $(e){let t=Math.floor(e/86400);if(t>0)return`${t}d`;let n=Math.floor(e/3600);return n>0?`${n}h`:`${Math.floor(e/60)}m`}var Fl={grace:`in its grace period`,"suppressed-by-alert":`suppressed by an ancestor alert`,"suppressed-by-window":`suppressed by a window`,silenced:`silenced by an operator`,"awaiting-confirmation":`awaiting confirmation`,acked:`acknowledged`,resolved:`resolved`};function Il(e){let t=Cn(e);if(t===null)return null;let n=t===`acked`&&e.ackedBy?` by ${e.ackedBy}`:``,r=t===`suppressed-by-alert`&&e.suppressedByAlertId?` (${e.suppressedByAlertId})`:``;return`${Fl[t]}${n}${r}`}function Ll(){let e=Nl(async()=>{let e=await jl.callApi(`Alerts`,{});if(!e.isSucc)throw Error(e.err.message);return e.res}),t=Q(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(null),o=t.read.status===`ok`?t.read.value.person:null;async function s(t){r(t),a(null);try{let n=await jl.callApi(`AckAlert`,{alertKey:t});n.isSucc?e.refresh():a({key:t,message:n.err.message})}finally{r(null)}}return(0,R.jsx)(Er,{title:`alerts`,read:e.read,stale:e.stale,lastGood:e.lastGood,emptyLabel:`No live alerts. The fleet is quiet.`,isEmpty:e=>e.alerts.length===0,children:e=>{let r=Ar(e).alerts;return(0,R.jsxs)(`div`,{className:`scroll-x`,children:[(0,R.jsx)(`p`,{className:`eyebrow`,style:{color:`var(--dim)`},children:Dr(t.read)}),(0,R.jsxs)(`table`,{children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{children:`since`}),(0,R.jsx)(`th`,{children:`alert`}),(0,R.jsx)(`th`,{children:`module`}),(0,R.jsx)(`th`,{children:`state`}),(0,R.jsx)(`th`,{children:`escalation`}),(0,R.jsx)(`th`,{children:`ack`})]})}),(0,R.jsx)(`tbody`,{children:r.map(e=>{let t=Il(e);return(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{style:{color:e.state===`firing`?`var(--firing)`:`var(--dim)`},children:$(e.firedSecondsAgo)}),(0,R.jsx)(`td`,{children:(0,R.jsx)(`span`,{style:{color:e.state===`firing`?`var(--firing)`:`var(--dim)`},children:e.key})}),(0,R.jsx)(`td`,{style:{color:`var(--dim)`},children:e.key.split(`/`)[0]}),(0,R.jsxs)(`td`,{style:{color:`var(--dim)`},children:[e.state,t?`, ${t}`:``]}),(0,R.jsx)(`td`,{style:{color:`var(--dim)`},children:e.escalationStep>0?`step ${e.escalationStep}`:`—`}),(0,R.jsxs)(`td`,{children:[o===null||!jr(e)?(0,R.jsx)(`span`,{style:{color:`var(--dim)`},children:`—`}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void s(e.key),disabled:n!==null,children:n===e.key?`acking`:`ack`}),i?.key===e.key?(0,R.jsxs)(`span`,{style:{color:`var(--firing)`},children:[` `,i.message]}):null]})]},e.id)})})]})]})}})}var Rl=D({key:`route`,default:`dashboard`}),zl=D({key:`selectedModule`,default:null}),Bl=D({key:`rosterFilter`,default:``}),Vl=D({key:`selectedBackup`,default:null}),Hl=D({key:`closureDepth`,default:2});function Ul(e){return e.coverage!==`hooked`||e.scheduleHours===null?`none`:e.scheduleHours===24?`daily`:e.scheduleHours===168?`weekly`:`${e.scheduleHours}h`}function Wl(e,t){let n=Math.max(0,Math.round((t-e.at)/1e3));return{id:e.id,moduleId:e.moduleId,daysAgo:Math.floor(n/86400),secondsAgo:n,status:e.completed?`completed`:`failed`,sizeBytes:e.sizeBytes,...e.name?{name:e.name}:{},...e.error?{error:e.error}:{},...e.storage?{storage:e.storage}:{},...e.moduleVersion?{moduleVersion:e.moduleVersion}:{}}}function Gl(e){return{capturedAt:new Date(e.asOf).toISOString(),completeDays:e.windowDays,modules:e.backups.map(e=>({id:e.moduleId,coverage:e.coverage,schedule:Ul(e)})),runs:e.runs.map(t=>Wl(t,e.asOf))}}function Kl({run:e,onClose:t}){let n=[[`taken`,`${Jn(e.secondsAgo)} ago`],[`size`,qn(e.sizeBytes)],[`backup`,e.id],[`destination`,e.storage??`unknown`]];return e.moduleVersion&&n.push([`module version`,`v${e.moduleVersion}`]),e.name&&n.push([`name`,`“${e.name}”`]),(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`flex-end`,flexWrap:`wrap`,gap:22,marginTop:12,padding:`12px 14px`,border:`1px solid var(--rule)`,borderLeft:`2px solid var(--ink)`,background:`var(--raised)`},children:[(0,R.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:9},children:[(0,R.jsx)(`span`,{children:e.moduleId}),(0,R.jsx)(`span`,{className:`eyebrow`,style:{padding:`1px 7px`,border:`1px solid ${e.status===`completed`?`var(--ok)`:`var(--firing)`}`,color:e.status===`completed`?`var(--ok)`:`var(--firing)`},children:e.status===`completed`?`kept`:`failed`})]}),n.map(([e,t])=>(0,R.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:2},children:[(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--dim)`},children:e}),(0,R.jsx)(`span`,{style:{fontVariantNumeric:`tabular-nums`},children:t})]},e)),e.error?(0,R.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:2,minWidth:0},children:[(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--dim)`},children:`why it failed`}),(0,R.jsx)(`span`,{style:{color:`var(--firing)`},children:e.error})]}):null,(0,R.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Close this backup`,style:{marginLeft:`auto`,color:`var(--dim)`,fontSize:15},children:`✕`})]})}function ql(){let e=xt(zl),t=bt(zl),n=xt(Vl),r=bt(Vl),i=Nl(async()=>{let e=await jl.callApi(`Backups`,{});if(!e.isSucc)throw Error(e.err.message);return e.res}),a=(0,_.useRef)(null);return(0,_.useEffect)(()=>{let e=a.current;if(e===null)return;let n=e=>{let n=e.target;if(!(n instanceof Element))return;let i=n.closest(`[data-module]`);if(i===null)return;let a=i.getAttribute(`data-module`);a!==null&&(t(a),r(i.getAttribute(`data-backup`)))};return e.addEventListener(`click`,n),()=>e.removeEventListener(`click`,n)},[t,r]),(0,R.jsx)(Er,{title:`backups`,read:i.read,stale:i.stale,lastGood:i.lastGood,emptyLabel:`No module has a backup history.`,isEmpty:e=>e.backups.length===0,children:t=>{let i=Gl(t),o=Kn(i,{...Vn,days:Zn.space.days,cell:Zn.space.cell,cellGap:Zn.space.cellGap,rowGap:Zn.space.rowGap,gridLeft:Zn.space.gridLeft,headerHeight:Zn.space.headerHeight,padding:Zn.space.padding,labelEvery:Zn.space.labelEvery,hideUnhooked:!Zn.effect.showUnhooked,sortByTrouble:Zn.effect.sortByTrouble}),s=i.runs.find(e=>e.id===n)??null,c=o.rows.find(t=>t.moduleId===e)??null;return(0,R.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,minHeight:0},children:[(0,R.jsx)(`div`,{className:`scroll-x`,children:(0,R.jsx)(`div`,{ref:a,dangerouslySetInnerHTML:{__html:Tr(o,Zn,e,void 0,n)}})}),s?(0,R.jsx)(Kl,{run:s,onClose:()=>r(null)}):(0,R.jsxs)(`p`,{style:{color:`var(--dim)`,marginTop:12},children:[o.report.hooked,` of `,o.report.modules,` modules have an`,` `,(0,R.jsx)(`code`,{children:`on_backup`}),` hook.`,` `,o.report.failing>0?`${o.report.failing} failing. `:``,`Pick a square for that day’s attempt.`]}),c?(0,R.jsx)(`p`,{style:{color:`var(--dim)`,marginTop:6},children:Xn(c)}):null]})}})}function Jl({board:e,subjects:t,selected:n}){let r=e===null?null:zn(e,t),i=r!==null&&Bn(r),[a,o]=(0,_.useState)(i),s=(0,_.useRef)(n);(0,_.useEffect)(()=>{s.current!==n&&(s.current=n,o(i))},[n,i]);let c=r===null?0:r.alerts.length,l=n?`${n} and its closure`:`the fleet`;return(0,R.jsxs)(`section`,{style:{flex:`0 0 auto`,borderTop:`1px solid var(--rule)`,marginTop:8,paddingTop:8},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`baseline`,gap:10},children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>o(!a),"aria-expanded":a,className:`eyebrow`,style:{color:i?`var(--firing)`:`var(--dim)`},children:[a?`▾`:`▸`,` alerts `,r===null?`—`:c]}),(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--dim)`},children:l}),r===null?(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--stale)`},children:`unavailable`}):i?(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--firing)`},children:`paging`}):c>0?(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--dim)`},children:`nobody is being paged`}):null]}),a?r===null?(0,R.jsx)(`p`,{style:{color:`var(--stale)`,padding:`8px 0 0`},children:`Could not read alerts. This is not an all-clear — the fleet may have alerts this console cannot currently see.`}):c===0?(0,R.jsxs)(`p`,{style:{color:`var(--dim)`,padding:`8px 0 0`},children:[`No alert against `,l,`.`]}):(0,R.jsx)(`div`,{className:`scroll-x`,style:{paddingTop:8},children:(0,R.jsx)(`div`,{dangerouslySetInnerHTML:{__html:yr(En(r,Dn),Dn)}})}):null]})}function Yl(e){return{state:Xl(e),lifecycle:e.state,backupOverdue:e.backupStale,unwatched:e.unwatched||e.health.cell===`not observed`,pagesNobody:e.pagesNobody}}function Xl(e){return e.health.cell===`firing`?`firing`:e.health.cell===`not observed`?`unobserved`:e.backupStale?`stale`:`ok`}var Zl={firing:`var(--firing)`,stale:`var(--stale)`,unobserved:`var(--unobserved)`};function Ql(e,t){if(e===null)return`never`;let n=Math.max(0,Math.round((t-e)/1e3));return n<3600?`${Math.max(1,Math.round(n/60))}m`:n<86400?`${Math.round(n/3600)}h`:`${Math.round(n/86400)}d`}function $l({module:e}){let t=Yl(e);return(0,R.jsx)(`span`,{style:{display:`flex`,gap:5,marginLeft:`auto`,flex:`0 0 auto`},children:Qn.map(e=>{let n=e.test(t);return(0,R.jsx)(`span`,{title:n?e.explain:`${e.label} — this lamp is off`,"aria-label":n?e.label:void 0,style:{width:`1em`,textAlign:`center`,lineHeight:1,cursor:`help`,color:n?Zl[e.tone]:`var(--rule)`,opacity:n?1:.45},children:e.glyph},e.key)})})}function eu({modules:e}){let t=xt(zl),n=bt(zl),r=xt(Bl),i=bt(Bl),a=e.filter(e=>e.id.includes(r.trim())),o=Date.now(),s=e.filter(e=>Qn.some(t=>t.test(Yl(e))));return(0,R.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,minHeight:0},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`baseline`,gap:8,padding:`0 0 8px`},children:[(0,R.jsxs)(`span`,{className:`eyebrow`,children:[`modules `,e.length]}),s.length>0?(0,R.jsxs)(`span`,{className:`eyebrow`,style:{color:`var(--stale)`},children:[s.length,` need attention`]}):null,t?(0,R.jsx)(`button`,{type:`button`,onClick:()=>n(null),style:{color:`var(--dim)`,marginLeft:`auto`},children:`clear`}):null]}),(0,R.jsx)(`input`,{value:r,onChange:e=>i(e.target.value),placeholder:`filter`,"aria-label":`Filter modules`,style:{background:`var(--raised)`,color:`var(--ink)`,border:`1px solid var(--rule)`,padding:`3px 6px`,font:`inherit`,marginBottom:8}}),(0,R.jsxs)(`div`,{style:{overflowY:`auto`,minHeight:0},children:[a.map(e=>{let r=e.id===t;return(0,R.jsxs)(`button`,{type:`button`,onClick:()=>n(e.id),"aria-current":r,style:{display:`flex`,alignItems:`center`,gap:8,width:`100%`,textAlign:`left`,padding:`3px 6px`,background:r?`var(--raised)`:`transparent`,color:r?`var(--ink)`:`var(--dim)`,boxShadow:r?`inset 2px 0 0 var(--ink)`:`none`},children:[(0,R.jsx)(`span`,{style:{flex:`1 1 auto`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`},children:e.id}),(0,R.jsx)(`span`,{title:e.lastBackupAt===null?`no successful backup on record`:`age of the newest successful backup`,style:{flex:`0 0 auto`,fontVariantNumeric:`tabular-nums`,color:e.backupStale?`var(--stale)`:`var(--dim)`},children:Ql(e.lastBackupAt,o)}),(0,R.jsx)($l,{module:e})]},e.id)}),a.length===0?(0,R.jsxs)(`p`,{style:{color:`var(--dim)`,padding:`4px 6px`},children:[`No module matches “`,r,`”.`]}):null]})]})}function tu(e,t,n){if(e===null)return[];let r=new Set(n.flatMap(e=>e.moduleIds.slice(1)));return[...t.flatMap(t=>r.has(t.module.id)?[]:t.via.map(n=>({fromModuleId:e,toModuleId:t.module.id,capability:n,optional:t.optional}))),...n.flatMap(e=>e.moduleIds.slice(0,-1).map((t,n)=>({fromModuleId:t,toModuleId:e.moduleIds[n+1],capability:e.capability,delegation:!0})))]}function nu(){let e=xt(zl),t=xt(Hl),n=Nl(async()=>{let e=await jl.callApi(`Topology`,{});if(!e.isSucc)throw Error(e.err.message);return e.res}),r=Nl(async()=>{if(!e)return null;let n=await jl.callApi(`Closure`,{moduleId:e,depth:t});if(!n.isSucc)throw Error(n.err.message);return n.res},[e,t]),i=!!e&&r.read.status===`unavailable`,a=r.read.status===`ok`&&r.read.value!==null?r.read.value.nodes:[],o=r.read.status===`ok`&&r.read.value!==null?r.read.value.chains:[],s=Nl(async()=>{let e=await jl.callApi(`Alerts`,{});if(!e.isSucc)throw Error(e.err.message);return e.res}),c=new Map,l=new Set;if(e&&r.read.status===`ok`){c.set(e,0);for(let e of a)c.set(e.module.id,e.hop),e.optional&&l.add(e.module.id)}let u=e===null?null:new Set([e,...c.keys()]),d=s.read.status===`ok`?Ar(s.read.value):null;return(0,R.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,minHeight:0},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,gap:16,flex:`1 1 auto`,minHeight:0},children:[(0,R.jsx)(`div`,{style:{flex:`0 0 200px`,borderRight:`1px solid var(--rule)`,paddingRight:12,minHeight:0},children:(0,R.jsx)(Er,{title:`roster`,read:n.read,stale:n.stale,lastGood:n.lastGood,emptyLabel:`celilo has no modules installed.`,isEmpty:e=>e.modules.length===0,children:e=>(0,R.jsx)(eu,{modules:e.modules})})}),(0,R.jsx)(`div`,{style:{flex:`1 1 auto`,minWidth:0,overflow:`auto`},children:(0,R.jsx)(Er,{title:e?`${e} and what it stands on`:`fleet`,read:n.read,stale:n.stale,lastGood:n.lastGood,emptyLabel:`Nothing is deployed.`,isEmpty:e=>e.modules.length===0,children:t=>{let n=sn({zones:t.zones,modules:t.modules.map(e=>{let t=Yl(e);return{id:e.id,hop:c.get(e.id)??null,optional:l.has(e.id),state:t.state,lifecycle:t.lifecycle,unwatched:t.unwatched,pagesNobody:t.pagesNobody,backupOverdue:t.backupOverdue,systems:e.systems.map(e=>({hostname:e.hostname,address:e.address,zone:e.zone}))}}),edges:tu(e,a,o)},Tt);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{dangerouslySetInnerHTML:{__html:dr(n,Tt)}}),i?(0,R.jsxs)(`p`,{style:{color:`var(--stale)`},children:[`Could not read what `,e,` depends on. The picture below shows placement only, not dependencies.`]}):null,n.report.dropped.length>0||n.report.edgesOverlapping>0?(0,R.jsxs)(`p`,{style:{color:`var(--stale)`},children:[`Incomplete drawing: `,n.report.dropped.length,` module(s) not placed,`,` `,n.report.edgesOverlapping,` edge(s) could not be routed clear.`]}):null]})}})})]}),(0,R.jsx)(Jl,{board:d,subjects:u,selected:e})]})}var ru=[`dashboard`,`alerts`,`backups`];function iu(){let e=xt(Rl),t=bt(Rl);return(0,R.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,padding:16,gap:4},children:[(0,R.jsxs)(`header`,{style:{display:`flex`,alignItems:`baseline`,gap:20},children:[(0,R.jsx)(`span`,{style:{fontFamily:`var(--sans)`,fontWeight:700,letterSpacing:`0.16em`},children:`CELILO`}),(0,R.jsx)(`nav`,{style:{display:`flex`,gap:16},children:ru.map(n=>(0,R.jsx)(`button`,{type:`button`,onClick:()=>t(n),"aria-current":e===n?`page`:void 0,className:`eyebrow`,style:{color:e===n?`var(--ink)`:`var(--dim)`,boxShadow:e===n?`inset 0 -2px 0 var(--ink)`:`none`},children:n},n))})]}),(0,R.jsx)(`main`,{style:{flex:`1 1 auto`,minHeight:0},children:e===`dashboard`?(0,R.jsx)(nu,{}):e===`alerts`?(0,R.jsx)(Ll,{}):(0,R.jsx)(ql,{})})]})}var au=document.getElementById(`root`);if(!au)throw Error(`#root is missing from index.html`);(0,v.createRoot)(au).render((0,R.jsx)(_.StrictMode,{children:(0,R.jsx)(iu,{})}));
26
+ `)}`},Wc[X.CustomError]=function(e){return e},Wc);function Kc(e){if(typeof e==`string`){var t=JSON.stringify(e);return`'`+t.substr(1,t.length-2)+`'`}return JSON.stringify(e)}for(var qc=function(){function e(e){this.isSucc=!1,this.error=e}return Object.defineProperty(e.prototype,"errMsg",{get:function(){return e.getErrMsg(this.error)},enumerable:!1,configurable:!0}),e.getErrMsg=function(e){var t=Gc[e.type].apply(Gc,e.params);return e.inner?.property.length?`Property \`${e.inner.property.join(`.`)}\`: ${t}`:t},e}(),Z=function(){function e(){}return e.error=function(e){return new qc({type:e,params:[...arguments].slice(1)})},e.innerError=function(e,t,n,r){var i;return r.error.inner?typeof e==`string`?r.error.inner.property.unshift(e):(i=r.error.inner.property).unshift.apply(i,e):r.error.inner={property:typeof e==`string`?[e]:e,value:t,schema:n},r},e.succ={isSucc:!0},e}(),Jc={Int8Array,Int16Array,Int32Array,BigInt64Array:typeof BigInt64Array<`u`?BigInt64Array:void 0,Uint8Array,Uint16Array,Uint32Array,BigUint64Array:typeof BigUint64Array<`u`?BigUint64Array:void 0,Float32Array,Float64Array},Yc=function(){function e(e,t){this.options={excessPropertyChecks:!0,strictNullChecks:!1,cloneProto:!0},t&&(this.options=Y(Y({},this.options),t)),this.proto=this.options.cloneProto?Object.merge({},e):e,this.protoHelper=new Uc(this.proto)}return e.prototype.validate=function(e,t,n){var r,i;if(typeof t==`string`){if(i=t,r=this.proto[i],!r)throw Error(`Cannot find schema: ${i}`)}else r=t;return this._validate(e,r,Y(Y({},n),{excessPropertyChecks:n?.excessPropertyChecks??this.options.excessPropertyChecks,strictNullChecks:n?.strictNullChecks??this.options.strictNullChecks}))},e.prototype._validate=function(e,t,n){var r;switch(t.type){case J.Boolean:r=this._validateBooleanType(e,t);break;case J.Number:r=this._validateNumberType(e,t);break;case J.String:r=this._validateStringType(e,t);break;case J.Array:r=this._validateArrayType(e,t,n);break;case J.Tuple:r=this._validateTupleType(e,t,n);break;case J.Enum:r=this._validateEnumType(e,t);break;case J.Any:r=this._validateAnyType(e);break;case J.Literal:r=this._validateLiteralType(e,t,n?.strictNullChecks??this.options.strictNullChecks);break;case J.Object:r=this._validateObjectType(e,t);break;case J.Interface:r=this._validateInterfaceType(e,t,n);break;case J.Buffer:r=this._validateBufferType(e,t);break;case J.IndexedAccess:case J.Reference:case J.Keyof:r=this._validateReferenceType(e,t,n);break;case J.Union:r=this._validateUnionType(e,t,n);break;case J.Intersection:r=this._validateIntersectionType(e,t,n);break;case J.Pick:case J.Omit:case J.Partial:case J.Overwrite:r=this._validateMappedType(e,t,n);break;case J.Date:r=this._validateDateType(e);break;case J.NonNullable:r=this._validateNonNullableType(e,t,n);break;case J.Custom:var i=t.validate(e);r=i.isSucc?Z.succ:Z.error(X.CustomError,i.errMsg);break;default:throw Error(`Unsupported schema type: ${t.type}`)}return n?.prune&&(n.prune.output===void 0&&(n.prune.output=e),n.prune.parent&&(n.prune.parent.value[n.prune.parent.key]=n.prune.output)),r},e.prototype.prune=function(e,t,n){var r=typeof t==`string`?this.proto[t]:t;if(!r)throw Error(`Cannot find schema: `+t);var i={},a=this._validate(e,r,Y(Y({},n),{prune:i,excessPropertyChecks:!1,strictNullChecks:n?.strictNullChecks??this.options.strictNullChecks}));return a.isSucc&&(a.pruneOutput=i.output),a},e.prototype._validateBooleanType=function(e,t){var n=this._getTypeof(e);return n===`boolean`?Z.succ:Z.error(X.TypeError,`boolean`,n)},e.prototype._validateNumberType=function(e,t){var n=t.scalarType||`double`,r=this._getTypeof(e),i=n.indexOf(`big`)>-1?`bigint`:`number`;return r===i?n!==`double`&&r===`number`&&!Number.isInteger(e)||n.indexOf(`uint`)>-1&&e<0?Z.error(X.InvalidScalarType,e,n):Z.succ:Z.error(X.TypeError,i,r)},e.prototype._validateStringType=function(e,t){var n=this._getTypeof(e);return n===`string`?Z.succ:Z.error(X.TypeError,`string`,n)},e.prototype._validateArrayType=function(e,t,n){var r=this._getTypeof(e);if(r!==J.Array)return Z.error(X.TypeError,J.Array,r);var i=n.prune;i&&(i.output=Array.from({length:e.length}));for(var a=0;a<e.length;++a){var o=this._validate(e[a],t.elementType,Y(Y({},n),{prune:i?.output?{parent:{value:i.output,key:a}}:void 0}));if(!o.isSucc)return Z.innerError(``+a,e[a],t.elementType,o)}return Z.succ},e.prototype._validateTupleType=function(e,t,n){var r=this._getTypeof(e);if(r!==J.Array)return Z.error(X.TypeError,J.Array,r);var i=n.prune;if(!i&&n.excessPropertyChecks&&e.length>t.elementTypes.length)return Z.error(X.TupleOverLength,e.length,t.elementTypes.length);i&&(i.output=Array.from({length:Math.min(e.length,t.elementTypes.length)}));for(var a=0;a<t.elementTypes.length;++a){if(e[a]===void 0||e[a]===null&&!n.strictNullChecks){var o=this._canBeNull(t.elementTypes[a]),s=t.optionalStartIndex!==void 0&&a>=t.optionalStartIndex||this._canBeUndefined(t.elementTypes[a]);if(s||!n.strictNullChecks&&o){i?.output&&(e[a]===null&&o||e[a]===void 0&&!s&&o)&&(i.output[a]=null);continue}return Z.error(X.MissingRequiredProperty,a)}var c=this._validate(e[a],t.elementTypes[a],{prune:i?.output?{parent:{value:i.output,key:a}}:void 0,strictNullChecks:n.strictNullChecks,excessPropertyChecks:n.excessPropertyChecks});if(!c.isSucc)return Z.innerError(``+a,e[a],t.elementTypes[a],c)}return Z.succ},e.prototype._canBeUndefined=function(e){var t=this;return e.type===J.Union?e.members.some(function(e){return t._canBeUndefined(e.type)}):e.type===J.Literal&&e.literal===void 0},e.prototype._canBeNull=function(e){var t=this;return e.type===J.Union?e.members.some(function(e){return t._canBeNull(e.type)}):e.type===J.Literal&&e.literal===null},e.prototype._validateEnumType=function(e,t){var n=this._getTypeof(e);return n!==`string`&&n!==`number`?Z.error(X.TypeError,`string | number`,n):t.members.some(function(t){return t.value===e})?Z.succ:Z.error(X.InvalidEnumValue,e)},e.prototype._validateAnyType=function(e){return Z.succ},e.prototype._validateLiteralType=function(e,t,n){return!n&&(t.literal===null||t.literal===void 0)?e==null?Z.succ:Z.error(X.InvalidLiteralValue,t.literal,e):e===t.literal?Z.succ:Z.error(X.InvalidLiteralValue,t.literal,e)},e.prototype._validateObjectType=function(e,t){var n=this._getTypeof(e);return n===`Object`||n===`Array`?Z.succ:Z.error(X.TypeError,`Object`,n)},e.prototype._validateInterfaceType=function(e,t,n){var r=this._getTypeof(e);if(r!==`Object`)return Z.error(X.TypeError,`Object`,r);var i=this.protoHelper.getFlatInterfaceSchema(t);return n.unionProperties&&(i=this.protoHelper.applyUnionProperties(i,n.unionProperties)),this._validateFlatInterface(e,i,n)},e.prototype._validateMappedType=function(e,t,n){var r=this.protoHelper.parseMappedType(t);if(r.type===J.Interface)return this._validateInterfaceType(e,t,n);if(r.type===J.Union)return this._validateUnionType(e,r,n);if(r.type===J.Intersection)return this._validateIntersectionType(e,r,n);throw Error(`Invalid ${t.type} target type: ${r.type}`)},e.prototype._validateFlatInterface=function(e,t,n){if(t.indexSignature&&t.indexSignature.keyType===J.Number){for(var r in e)if(!this._isNumberKey(r))return Z.error(X.InvalidNumberKey,r)}var i=n.prune;if(i&&(i.output={}),!i&&n.excessPropertyChecks&&!t.indexSignature){var a=t.properties.map(function(e){return e.name}),o=Object.keys(e).find(function(e){return a.indexOf(e)===-1});if(o)return Z.error(X.ExcessProperty,o)}if(t.properties)for(var s=0,c=t.properties;s<c.length;s++){var l=c[s];if(e[l.name]===void 0||e[l.name]===null&&!n.strictNullChecks){var u=this._canBeNull(l.type),d=l.optional||this._canBeUndefined(l.type);if(d||!n.strictNullChecks&&u){i?.output&&(e[l.name]===null&&u||e[l.name]===void 0&&!d&&u)&&(i.output[l.name]=null);continue}return Z.error(X.MissingRequiredProperty,l.name)}var f=this._validate(e[l.name],l.type,{prune:i?.output&&l.id>-1?{parent:{value:i.output,key:l.name}}:void 0,strictNullChecks:n.strictNullChecks,excessPropertyChecks:n.excessPropertyChecks});if(!f.isSucc)return Z.innerError(l.name,e[l.name],l.type,f)}if(t.indexSignature)for(var r in e){var f=this._validate(e[r],t.indexSignature.type,{prune:i?.output?{parent:{value:i.output,key:r}}:void 0,strictNullChecks:n.strictNullChecks,excessPropertyChecks:n.excessPropertyChecks});if(!f.isSucc)return Z.innerError(r,e[r],t.indexSignature.type,f)}return Z.succ},e.prototype._validateBufferType=function(e,t){var n=this._getTypeof(e);if(n!==`Object`)return Z.error(X.TypeError,t.arrayType||`ArrayBuffer`,n);if(t.arrayType){var r=Jc[t.arrayType];if(!r)throw Error(`Error TypedArray type: ${t.arrayType}`);return e instanceof r?Z.succ:Z.error(X.TypeError,t.arrayType,e?.constructor?.name)}return e instanceof ArrayBuffer?Z.succ:Z.error(X.TypeError,`ArrayBuffer`,e?.constructor?.name)},e.prototype._validateReferenceType=function(e,t,n){return this._validate(e,this.protoHelper.parseReference(t),n)},e.prototype._validateUnionType=function(e,t,n){var r=this;n.unionProperties=n.unionProperties||this.protoHelper.getUnionProperties(t);var i=!1,a=n.prune;a&&e&&Object.getPrototypeOf(e)===Object.prototype&&(i=!0,a.output={});for(var o=!1,s=[],c=0;c<t.members.length;++c){var l=t.members[c],u=this.protoHelper.isTypeReference(l.type)?this.protoHelper.parseReference(l.type):l.type,d=a?{}:void 0,f=this._validate(e,u,Y(Y({},n),{prune:d}));if(f.isSucc){if(o=!0,i)a.output=Y(Y({},a.output),d.output);else break}else s.push(f)}if(o)return Z.succ;var p=s[0].errMsg;if(s.every(function(e){return e.errMsg===p}))return s[0];var m=s.filter(function(e){return e.error.type!==X.InvalidLiteralValue});if(m.length===1)return m[0];if(s.every(function(e){return!e.error.inner&&(e.error.type===X.TypeError||e.error.type===X.InvalidLiteralValue)})){var h=this._getTypeof(e),g=s.map(function(e){return e.error.type===X.TypeError?e.error.params[0]:r._getTypeof(e.error.params[0])}).distinct();if(g.indexOf(h)===-1)return Z.error(X.TypeError,g.join(` | `),this._getTypeof(e));if(h!==`Object`&&h!==J.Array){var _=s.map(function(e){return e.error.type===X.TypeError?e.error.params[0]:Kc(e.error.params[0])}).distinct();return Z.error(X.UnionTypesNotMatch,e,_)}}return Z.error(X.UnionMembersNotMatch,s)},e.prototype._validateIntersectionType=function(e,t,n){n.unionProperties=n.unionProperties||this.protoHelper.getUnionProperties(t);var r=!1,i=n.prune;i&&e&&Object.getPrototypeOf(e)===Object.prototype&&(i.output={},r=!0);for(var a=0,o=t.members.length;a<o;++a){var s=t.members[a].type;s=this.protoHelper.isTypeReference(s)?this.protoHelper.parseReference(s):s;var c=i?{}:void 0,l=this._validate(e,s,Y(Y({},n),{prune:c}));if(!l.isSucc)return l;r&&(i.output=Y(Y({},i.output),c.output))}return Z.succ},e.prototype._validateDateType=function(e){return e instanceof Date?Z.succ:Z.error(X.TypeError,`Date`,this._getTypeof(e))},e.prototype._validateNonNullableType=function(e,t,n){var r=this._getTypeof(e);return(r===`null`||r===`undefined`)&&t.target.type!==`Any`?Z.error(X.TypeError,`NonNullable`,r):this._validate(e,t.target,n)},e.prototype._isNumberKey=function(e){var t=parseInt(e);return!(isNaN(t)||``+t!==e)},e.prototype._getTypeof=function(e){var t=typeof e;return t===`object`?e===null?`null`:Array.isArray(e)?J.Array:`Object`:t},e}(),Xc=function(){function e(){}return e.bufferToBase64=function(e){if(typeof Buffer<`u`)return Buffer.from(e).toString(`base64`);for(var t=``,n=e.length,r=0;r<n;r+=3)t+=Zc[e[r]>>2],t+=Zc[(e[r]&3)<<4|e[r+1]>>4],t+=Zc[(e[r+1]&15)<<2|e[r+2]>>6],t+=Zc[e[r+2]&63];return n%3==2?t=t.substring(0,t.length-1)+`=`:n%3==1&&(t=t.substring(0,t.length-2)+`==`),t},e.base64ToBuffer=function(e){if(typeof Buffer<`u`)return new Uint8Array(Buffer.from(e,`base64`));var t=e.length*.75,n=e.length,r=0,i,a,o,s;e[e.length-1]===`=`&&(t--,e[e.length-2]===`=`&&t--);for(var c=new Uint8Array(t),l=0;l<n;l+=4)i=Qc[e.charCodeAt(l)],a=Qc[e.charCodeAt(l+1)],o=Qc[e.charCodeAt(l+2)],s=Qc[e.charCodeAt(l+3)],c[r++]=i<<2|a>>4,c[r++]=(a&15)<<4|o>>2,c[r++]=(o&3)<<6|s&63;return c},e}(),Zc=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Qc=typeof Uint8Array>`u`?[]:new Uint8Array(256),$c=0;$c<Zc.length;$c++)Qc[Zc.charCodeAt($c)]=$c;var el=function(){function e(){}return e.isJsonCompatible=function(e,t,n){var r=t===`encode`?`isJsonEncodable`:`isJsonDecodable`,i=e[r];if(i!==void 0)return i;var a=new Set,o=function(e){for(var t=0,n=e;t<n.length;t++){var r=n[t];if(s(r)===!1)return!1}return!0},s=function(e){if(a.has(e))return!0;a.add(e);var t;switch(e.type){case J.Array:t=s(e.elementType);break;case J.Tuple:t=o(e.elementTypes);break;case J.Interface:var r=n.getFlatInterfaceSchema(e);t=o(Lc(Lc([],r.properties.map(function(e){return e.type}),!0),r.indexSignature?[r.indexSignature.type]:[],!0));break;case J.IndexedAccess:case J.Reference:var i=n.parseReference(e);t=s(i);break;case J.Union:case J.Intersection:t=o(e.members.map(function(e){return e.type}));break;case J.NonNullable:t=s(e.target);break;case J.Pick:case J.Partial:case J.Omit:case J.Overwrite:var i=n.parseMappedType(e);if(i.type===J.Interface){var r=n.getFlatInterfaceSchema(e);t=o(Lc(Lc([],r.properties.map(function(e){return e.type}),!0),r.indexSignature?[r.indexSignature.type]:[],!0))}else if(i.type===J.Union||i.type===J.Intersection)t=o(i.members.map(function(e){return e.type}));else throw Error(`不应该走到这里`+i.type);break;case J.Custom:case J.Date:case J.Buffer:t=!1;break;default:t=!0}return a.delete(e),t},c=s(e);return e[r]=c,c},e}(),tl=function(){function e(){}return e.getPayloadLengthInfo=function(e,t){switch(e.type){case J.Boolean:case J.Enum:return{lengthType:nl.Varint};case J.Number:return!e.scalarType||e.scalarType.includes(`64`)||e.scalarType===`double`?{lengthType:nl.Bit64}:e.scalarType&&e.scalarType.startsWith(`big`)?{lengthType:nl.LengthDelimited}:{lengthType:nl.Varint};case J.Buffer:case J.String:case J.Any:case J.Object:return{lengthType:nl.LengthDelimited};case J.Interface:case J.Pick:case J.Partial:case J.Omit:case J.Union:case J.Intersection:return{lengthType:nl.IdBlock};case J.Array:case J.Overwrite:case J.Tuple:return{lengthType:nl.LengthDelimited,needLengthPrefix:!0};case J.Literal:return{lengthType:nl.LengthDelimited,needLengthPrefix:!1};case J.Date:return{lengthType:nl.Varint};case J.NonNullable:return this.getPayloadLengthInfo(t.parseReference(e.target),t);case J.Custom:return{lengthType:nl.LengthDelimited};default:throw Error(`Unrecognized schema type: ${e.type}`)}},e}(),nl;(function(e){e[e.LengthDelimited=0]=`LengthDelimited`,e[e.Varint=1]=`Varint`,e[e.Bit64=2]=`Bit64`,e[e.IdBlock=3]=`IdBlock`})(nl||={});var rl=function(){function e(){}return e.canBeLiteral=function(e,t){var n=this;return e.type===J.Union?e.members.some(function(e){return n.canBeLiteral(e.type,t)}):e.type===J.Any||e.type===J.Literal&&e.literal===t},e}(),il={Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array},al=typeof Buffer<`u`&&Buffer.from&&Buffer.prototype.write?{measureLength:function(e){return Buffer.byteLength(e,`utf-8`)},write:function(e,t,n){return Buffer.from(t.buffer,t.byteOffset,t.byteLength).write(e,n,`utf-8`)},read:function(e,t,n){return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString(`utf-8`,t,t+n)}}:{measureLength:function(e){for(var t=0,n=0,r=0;r<e.length;++r)n=e.charCodeAt(r),n<128?t+=1:n<2048?t+=2:(n&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320?(++r,t+=4):t+=3;return t},write:function(e,t,n){for(var r=n,i,a,o=0;o<e.length;++o)i=e.charCodeAt(o),i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=i&63|128):(i&64512)==55296&&((a=e.charCodeAt(o+1))&64512)==56320?(i=65536+((i&1023)<<10)+(a&1023),++o,t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=i&63|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128);return n-r},read:function(e,t,n){if(n<1)return``;for(var r=``,i=t,a=t+n;i<a;){var o=e[i++];if(o<=127)r+=String.fromCharCode(o);else if(o>=192&&o<224)r+=String.fromCharCode((o&31)<<6|e[i++]&63);else if(o>=224&&o<240)r+=String.fromCharCode((o&15)<<12|(e[i++]&63)<<6|e[i++]&63);else if(o>=240){var s=((o&7)<<18|(e[i++]&63)<<12|(e[i++]&63)<<6|e[i++]&63)-65536;r+=String.fromCharCode(55296+(s>>10)),r+=String.fromCharCode(56320+(s&1023))}}return r}},ol=function(){function e(e,t,n){this.uint32s=new Uint32Array([e,t]),n!==void 0&&(this._byteLength=n)}return e.from=function(t){if(t===0)return this.Zero;var n=t<0;n&&(t=-t);var r=t>>>0,i=(t-r)/4294967296>>>0;return n&&(i=~i>>>0,r=~r>>>0,++r>4294967295&&(r=0,++i>4294967295&&(i=0))),new e(i,r)},e.prototype.toNumber=function(e){if(!e&&this.uint32s[0]>>>31){var t=~this.uint32s[1]+1>>>0,n=~this.uint32s[0]>>>0;return t||(n=n+1>>>0),-(t+n*4294967296)}return this.uint32s[1]+this.uint32s[0]*4294967296},e.prototype.zzEncode=function(){var e=this.uint32s[0]>>31;return this.uint32s[0]=((this.uint32s[0]<<1|this.uint32s[1]>>>31)^e)>>>0,this.uint32s[1]=(this.uint32s[1]<<1^e)>>>0,this},e.prototype.zzDecode=function(){var e=-(this.uint32s[1]&1);return this.uint32s[1]=((this.uint32s[1]>>>1|this.uint32s[0]<<31)^e)>>>0,this.uint32s[0]=(this.uint32s[0]>>>1^e)>>>0,this},Object.defineProperty(e.prototype,"byteLength",{get:function(){if(this._byteLength===void 0){var e=this.uint32s[1],t=(this.uint32s[1]>>>28|this.uint32s[0]<<4)>>>0,n=this.uint32s[0]>>>24;this._byteLength=n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}return this._byteLength},enumerable:!1,configurable:!0}),e.prototype.writeToBuffer=function(e,t){for(;this.uint32s[0];)e[t++]=this.uint32s[1]&127|128,this.uint32s[1]=(this.uint32s[1]>>>7|this.uint32s[0]<<25)>>>0,this.uint32s[0]>>>=7;for(;this.uint32s[1]>127;)e[t++]=this.uint32s[1]&127|128,this.uint32s[1]=this.uint32s[1]>>>7;return e[t++]=this.uint32s[1],t},e.readFromBuffer=function(t,n){var r=n,i=0,a=0,o=0;if(t.byteLength-n>4){for(;o<4;++o)if(a=(a|(t[n]&127)<<o*7)>>>0,t[n++]<128)return new e(i,a,n-r);if(a=(a|(t[n]&127)<<28)>>>0,i=(i|(t[n]&127)>>4)>>>0,t[n++]<128)return new e(i,a,n-r);o=0}else{for(;o<3;++o){if(n>=t.byteLength)throw Error(`Read varint error: index out of range`);if(a=(a|(t[n]&127)<<o*7)>>>0,t[n++]<128)return new e(i,a,n-r)}return a=(a|(t[n++]&127)<<o*7)>>>0,new e(i,a,n-r)}if(t.byteLength-n>4){for(;o<5;++o)if(i=(i|(t[n]&127)<<o*7+3)>>>0,t[n++]<128)return new e(i,a,n-r)}else for(;o<5;++o){if(n>=t.byteLength)throw Error(`Read varint error: index out of range`);if(i=(i|(t[n]&127)<<o*7+3)>>>0,t[n++]<128)return new e(i,a,n-r)}throw Error(`invalid varint encoding`)},e.Zero=new e(0,0),e}(),sl=function(){function e(){this._pos=0}return e.prototype.load=function(e,t){t===void 0&&(t=0),this._buf=e,this._pos=t,this._view=new DataView(e.buffer)},e.prototype.readVarint=function(){var e=ol.readFromBuffer(this._buf,this._pos);return this._pos+=e.byteLength,e},e.prototype.readUint=function(){return this.readVarint().toNumber(!0)},e.prototype.readInt=function(){return this.readVarint().zzDecode().toNumber()},e.prototype.readDouble=function(){var e=this._pos;return this._pos+=8,this._view.getFloat64(this._buf.byteOffset+e)},e.prototype.readString=function(){var e=this.readUint(),t=al.read(this._buf,this._pos,e);return this._pos+=e,t},e.prototype.readBuffer=function(){var e=this.readUint(),t=this._buf.subarray(this._pos,this._pos+e);return this._pos+=e,t},e.prototype.skip=function(e){this._pos+=e},e.prototype.skipByLengthType=function(e){if(e===nl.Bit64)this._pos+=8;else if(e===nl.Varint)this.readVarint();else if(e===nl.LengthDelimited){var t=this.readUint();this._pos+=t}else if(e===nl.IdBlock)this.skipIdBlock();else throw Error(`Unknown lengthType: `+e)},e.prototype.skipIdBlock=function(){for(var e=this.readUint(),t=0;t<e;++t){var n=this.readUint()&3;this.skipByLengthType(n)}},e.prototype.readBoolean=function(){var e=this._view.getUint8(this._buf.byteOffset+this._pos++);if(e===255)return!0;if(e===0)return!1;throw Error(`Invalid boolean encoding [${e}] at pos ${this._pos-1}`)},Object.defineProperty(e.prototype,"unreadByteLength",{get:function(){return this._buf.byteLength-this._pos},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._buf=this._view=void 0},e}(),cl=function(){function e(e){this._options=e,this._reader=new sl,this._validator=e.validator}return e.prototype.decode=function(e,t){return this._reader.load(e),this._read(t)},e.prototype.decodeJSON=function(e,t){var n=this;if(e===null||el.isJsonCompatible(t,`decode`,this._validator.protoHelper))return e;switch(t.type){case J.Array:if(!Array.isArray(e))break;return e.map(function(e){return n.decodeJSON(e,t.elementType)});case J.Tuple:if(!Array.isArray(e))break;return e.map(function(e,r){return n.decodeJSON(e,t.elementTypes[r])});case J.Interface:if(e.constructor!==Object)break;e=Object.assign({},e);var r=this._validator.protoHelper.getFlatInterfaceSchema(t),i=function(t){var n=r.properties.find(function(e){return e.name===t});n?e[t]=a.decodeJSON(e[t],n.type):r.indexSignature&&(e[t]=a.decodeJSON(e[t],r.indexSignature.type))},a=this;for(var o in e)i(o);return e;case J.Date:if(typeof e!=`string`&&typeof e!=`number`)break;return new Date(e);case J.Partial:case J.Pick:case J.Omit:case J.Overwrite:var s=this._validator.protoHelper.parseMappedType(t);if(s.type===J.Interface){if(e.constructor!==Object)break;e=Object.assign({},e);var c=this._validator.protoHelper.getFlatInterfaceSchema(t),l=function(t){var n=c.properties.find(function(e){return e.name===t});n?e[t]=u.decodeJSON(e[t],n.type):c.indexSignature&&(e[t]=u.decodeJSON(e[t],c.indexSignature.type))},u=this;for(var o in e)l(o);return e}if(s.type===J.Union||s.type===J.Intersection){for(var d=0,f=s.members;d<f.length;d++){var p=f[d];e=this.decodeJSON(e,p.type)}return e}break;case J.Buffer:if(typeof e!=`string`)break;var m=Xc.base64ToBuffer(e);return this._getBufferValue(m,t);case J.IndexedAccess:case J.Reference:case J.Keyof:return this.decodeJSON(e,this._validator.protoHelper.parseReference(t));case J.Union:case J.Intersection:for(var h=0,g=t.members;h<g.length;h++){var p=g[h];e=this.decodeJSON(e,p.type)}return e;case J.NonNullable:return this.decodeJSON(e,t.target);case J.Custom:if(t.decodeJSON)return t.decodeJSON(e);break;default:t.type}return e},e.prototype._read=function(e){switch(e.type){case J.Boolean:return this._reader.readBoolean();case J.Number:return this._readNumber(e);case J.String:return this._reader.readString();case J.Array:for(var t=[],n=this._reader.readUint(),r=0;r<n;++r){var i=this._read(e.elementType);t.push(i)}return t;case J.Tuple:if(e.elementTypes.length>64)throw Error(`Elements oversized, maximum supported tuple elements is 64, now get `+e.elementTypes.length);for(var t=[],a=this._reader.readVarint(),o=[],r=0;r<32;++r)a.uint32s[1]&1<<r&&o.push(r);for(var r=0;r<32;++r)a.uint32s[0]&1<<r&&o.push(r+32);if(!o.length)return[];for(var s=o.last(),r=0,c=0,l=o[0];r<=s;++r)r===l?(t[r]=this._read(e.elementTypes[r]),++c,l=o[c]):t[r]=void 0;for(var r=0;r<e.elementTypes.length;++r)this._undefinedAsNull(t[r],e.elementTypes[r],e.optionalStartIndex!==void 0&&r>=e.optionalStartIndex)&&(t[r]=null);return t;case J.Enum:var u=this._reader.readVarint().toNumber(),d=e.members.find(function(e){return e.id===u});if(!d)throw Error(`Invalid enum encoding: unexpected id ${u}`);return d.value;case J.Any:case J.Object:var f=this._reader.readString();return f===`undefined`?void 0:JSON.parse(f);case J.Literal:return e.literal;case J.Interface:return this._readInterface(e);case J.Buffer:var p=this._reader.readBuffer();return this._getBufferValue(p,e);case J.IndexedAccess:case J.Reference:case J.Keyof:return this._read(this._validator.protoHelper.parseReference(e));case J.Partial:case J.Pick:case J.Omit:case J.Overwrite:var m=this._validator.protoHelper.parseMappedType(e);return m.type===J.Interface?this._readPureMappedType(e):this._readUnionOrIntersection(m);case J.Union:case J.Intersection:return this._readUnionOrIntersection(e);case J.Date:return new Date(this._reader.readUint());case J.NonNullable:return this._read(e.target);case J.Custom:if(!e.decode)throw Error(`Missing decode method for CustomTypeSchema`);var h=this._reader.readBuffer();return e.decode(h);default:throw Error(`Unrecognized schema type: ${e.type}`)}},e.prototype._readPureMappedType=function(e){var t,n;e.type===`Overwrite`&&(n=this._read(e.overwrite));var r=this._validator.protoHelper.parseReference(e.target);if(r.type===`Interface`)t=this._readInterface(r);else if(r.type===`Pick`||r.type===`Omit`||r.type===`Partial`||r.type===`Overwrite`)t=this._readPureMappedType(r);else throw Error(`Invalid PureMappedType child: `+e.type);if(e.type===`Pick`)for(var i in t)e.keys.indexOf(i)===-1&&delete t[i];else if(e.type===`Omit`)for(var i in t)e.keys.indexOf(i)>-1&&delete t[i];else e.type===`Overwrite`&&Object.assign(t,n);return t},e.prototype._readNumber=function(e){var t=e.scalarType||`double`;switch(t){case`double`:return this._reader.readDouble();case`int`:return this._reader.readInt();case`uint`:return this._reader.readUint();default:throw Error(`Scalar type not support : `+t)}},e.prototype._readInterface=function(e){for(var t={},n=this._validator.protoHelper.getFlatInterfaceSchema(e),r=this._reader.readUint(),i=function(r){var i=a._reader.readUint(),o=i&3,s=i>>2;if(s===0){if(n.indexSignature){var c=n.indexSignature.type,l=a._reader.readString();a._skipIdLengthPrefix(a._validator.protoHelper.parseReference(c)),t[l]=a._read(c)}else a._reader.skipByLengthType(nl.LengthDelimited),a._reader.skipByLengthType(o)}else if(s<=9){var u=s-1,d=e.extends&&e.extends.find(function(e){return e.id===u});if(d){a._skipIdLengthPrefix(a._validator.protoHelper.parseReference(d.type));var f=a._read(d.type);Object.assign(t,f)}else a._reader.skipByLengthType(o)}else{var p=s-10,m=e.properties&&e.properties.find(function(e){return e.id===p});m?(a._skipIdLengthPrefix(a._validator.protoHelper.parseReference(m.type)),t[m.name]=a._read(m.type)):a._reader.skipByLengthType(o)}},a=this,o=0;o<r;++o)i();for(var s=0,c=n.properties;s<c.length;s++){var l=c[s];if(!t.hasOwnProperty(l.name)){var u=this._validator.protoHelper.parseReference(l.type);if(u.type===`Literal`){t[l.name]=u.literal;continue}if(this._undefinedAsNull(t[l.name],u,l.optional)){t[l.name]=null;continue}}}return t},e.prototype._undefinedAsNull=function(e,t,n){return e===void 0&&this._options.undefinedAsNull&&!rl.canBeLiteral(t,void 0)&&!n&&rl.canBeLiteral(t,null)},e.prototype._skipIdLengthPrefix=function(e){tl.getPayloadLengthInfo(e,this._validator.protoHelper).needLengthPrefix&&this._reader.skipByLengthType(nl.Varint)},e.prototype._readUnionOrIntersection=function(e){for(var t,n=this._reader.readUint(),r=function(n){var r=i._reader.readUint(),a=r&3,o=r>>2,s=e.members.find(function(e){return e.id===o});if(!s)return i._reader.skipByLengthType(a),`continue`;i._skipIdLengthPrefix(i._validator.protoHelper.parseReference(s.type));var c=i._read(s.type);i._isObject(t)&&i._isObject(c)?Object.assign(t,c):t=c},i=this,a=0;a<n;++a)r();return this._undefinedAsNull(t,e)&&(t=null),t},e.prototype._isObject=function(e){return typeof e==`object`&&!!e},e.prototype._getBufferValue=function(e,t){if(t.arrayType){if(t.arrayType===`BigInt64Array`||t.arrayType===`BigUint64Array`)throw Error(`Unsupported arrayType: `+t.arrayType);if(t.arrayType===`Uint8Array`)return e;var n=il[t.arrayType];return e.byteOffset%n.BYTES_PER_ELEMENT===0?new n(e.buffer,e.byteOffset,e.byteLength/n.BYTES_PER_ELEMENT):new n(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}return e.byteLength===e.buffer.byteLength&&e.byteOffset===0?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)},e}(),ll={interface:{maxExtendsNum:9}},ul=function(){function e(){this._ops=[]}return Object.defineProperty(e.prototype,"ops",{get:function(){return this._ops},enumerable:!1,configurable:!0}),e.prototype.clear=function(){this._ops=[]},e.prototype.push=function(e){return this._ops.push(this.req2op(e)),this},e.prototype.req2op=function(e){if(e.type===`string`||e.type===`buffer`){var t=this.measureLength(e);return this.push({type:`varint`,value:ol.from(t)}),Y(Y({},e),{length:t})}var n=this.measureLength(e);return Y(Y({},e),{length:n})},e.prototype.measureLength=function(e){switch(e.type){case`varint`:return e.value.byteLength;case`string`:return al.measureLength(e.value);case`buffer`:return e.value.byteLength;case`double`:return 8;case`boolean`:return 1;default:return NaN}},e.prototype.finish=function(){for(var e=this._ops.sum(function(e){return e.length}),t=0,n=new Uint8Array(e),r=new DataView(n.buffer),i=0,a=this._ops;i<a.length;i++){var o=a[i];switch(o.type){case`varint`:var s=o.value.writeToBuffer(n,t);if(s!==t+o.length)throw Error(`Error varint measuredLength ${o.length}, actual is ${s-t}, value is ${o.value.toNumber()}`);break;case`double`:r.setFloat64(n.byteOffset+t,o.value);break;case`string`:var c=al.write(o.value,n,t);if(c!==o.length)throw Error(`Expect ${o.length} bytes but encoded ${c} bytes`);break;case`buffer`:n.subarray(t,t+o.length).set(o.value);break;case`boolean`:r.setUint8(n.byteOffset+t,o.value?255:0)}t+=o.length}return n},e}(),dl=function(){function e(e){this._options=e,this._writer=new ul,this._validator=e.validator}return e.prototype.encode=function(e,t){return this._writer.clear(),this._write(e,t),this._writer.finish()},e.prototype.encodeJSON=function(e,t){var n=this;if(typeof e!=`object`||!e||el.isJsonCompatible(t,`encode`,this._validator.protoHelper))return e;switch(t.type){case J.Array:if(!Array.isArray(e))break;return e.map(function(e){return n.encodeJSON(e,t.elementType)});case J.Tuple:if(!Array.isArray(e))break;return e.map(function(e,r){return n.encodeJSON(e,t.elementTypes[r])});case J.Interface:if(e.constructor!==Object)break;e=Object.assign({},e);var r=this._validator.protoHelper.getFlatInterfaceSchema(t),i=function(t){var n=r.properties.find(function(e){return e.name===t});n?e[t]=a.encodeJSON(e[t],n.type):r.indexSignature&&(e[t]=a.encodeJSON(e[t],r.indexSignature.type))},a=this;for(var o in e)i(o);return e;case J.Partial:case J.Pick:case J.Omit:case J.Overwrite:var s=this._validator.protoHelper.parseMappedType(t);return this.encodeJSON(e,s);case J.Buffer:if(!(e instanceof ArrayBuffer)&&!ArrayBuffer.isView(e))break;if(t.arrayType){if(t.arrayType===`Uint8Array`)return Xc.bufferToBase64(e);var c=e,l=c.byteLength===c.buffer.byteLength&&c.byteOffset===0?c.buffer:c.buffer.slice(c.byteOffset,c.byteOffset+c.byteLength);return Xc.bufferToBase64(new Uint8Array(l))}return Xc.bufferToBase64(new Uint8Array(e));case J.IndexedAccess:case J.Reference:case J.Keyof:return this.encodeJSON(e,this._validator.protoHelper.parseReference(t));case J.Union:case J.Intersection:for(var u=0,d=t.members;u<d.length;u++){var f=d[u];e=this.encodeJSON(e,f.type)}return e;case J.NonNullable:return this.encodeJSON(e,t.target);case J.Date:if(!(e instanceof Date))break;return e.toJSON();case J.Custom:return t.encodeJSON?t.encodeJSON(e):typeof e?.toJSON==`function`?e.toJSON():typeof e?.toString==`function`?e.toString():e;default:t.type}return e},e.prototype._write=function(e,t,n){switch(t.type){case J.Boolean:this._writer.push({type:`boolean`,value:e});break;case J.Number:this._writeNumber(e,t);break;case J.String:this._writer.push({type:`string`,value:e});break;case J.Array:var r=e;this._writer.push({type:`varint`,value:ol.from(r.length)});for(var i=0;i<r.length;++i)this._write(r[i],t.elementType);break;case J.Tuple:if(t.elementTypes.length>64)throw Error(`Elements oversized, maximum supported tuple elements is 64, now get `+t.elementTypes.length);for(var r=e,a=[],i=0;i<r.length;++i)r[i]===void 0||this._nullAsUndefined(r[i],t.elementTypes[i])||a.push(i);for(var o=0,s=0,c=0,l=a;c<l.length;c++){var u=l[c];u<32?o|=1<<u:s|=1<<u-32}this._writer.push({type:`varint`,value:new ol(s,o)});for(var d=0,f=a;d<f.length;d++){var i=f[d];this._write(r[i],t.elementTypes[i])}break;case J.Enum:var p=t.members.find(function(t){return t.value===e});if(!p)throw Error(`Unexpect enum value: ${e}`);this._writer.push({type:`varint`,value:ol.from(p.id)});break;case J.Any:e===void 0?this._writer.push({type:`string`,value:`undefined`}):this._writer.push({type:`string`,value:JSON.stringify(e)});break;case J.Object:this._writer.push({type:`string`,value:JSON.stringify(e)});break;case J.Literal:break;case J.Interface:this._writeInterface(e,t,n);break;case J.Buffer:this._writeBuffer(e);break;case J.IndexedAccess:case J.Reference:case J.Keyof:this._write(e,this._validator.protoHelper.parseReference(t),n);break;case J.Partial:case J.Pick:case J.Omit:case J.Overwrite:var m=this._validator.protoHelper.parseMappedType(t);m.type===J.Interface?this._writePureMappedType(e,t,n):m.type===J.Union?this._writeUnion(e,m,n?.skipFields):m.type===J.Intersection&&this._writeIntersection(e,m,n?.skipFields);break;case J.Union:this._writeUnion(e,t,n?.skipFields);break;case J.Intersection:this._writeIntersection(e,t,n?.skipFields);break;case J.Date:this._writer.push({type:`varint`,value:ol.from(e.getTime())});break;case J.NonNullable:this._write(e,t.target,n);break;case J.Custom:if(!t.encode)throw Error(`Missing encode method for CustomTypeSchema`);var h=t.encode(e);this._writeBuffer(h);break;default:throw Error(`Unrecognized schema type: ${t.type}`)}},e.prototype._writePureMappedType=function(e,t,n){if(n||={},t.type===`Pick`){if(n.pickFields){for(var r={},i=0,a=t.keys;i<a.length;i++){var o=a[i];n.pickFields[o]&&(r[o]=1)}n.pickFields=r}else{n.pickFields={};for(var s=0,c=t.keys;s<c.length;s++){var o=c[s];n.pickFields[o]=1}}}else if(t.type===`Omit`){n?.skipFields||(n||={},n.skipFields={});for(var l=0,u=t.keys;l<u.length;l++){var o=u[l];n.skipFields[o]=1}}else if(t.type===`Overwrite`){var d=this._parseOverwrite(e,t);this._write(d.overwriteValue,d.overwrite,n)}else if(t.type!==`Partial`)throw Error(`Invalid PureMappedType child: `+t.type);var f=this._validator.protoHelper.parseReference(t.target);f.type===`Interface`?this._writeInterface(e,f,n):this._writePureMappedType(e,f,n)},e.prototype._writeNumber=function(e,t){var n=t.scalarType||`double`;switch(n){case`double`:this._writer.push({type:n,value:e});break;case`int`:this._writer.push({type:`varint`,value:ol.from(e).zzEncode()});break;case`uint`:this._writer.push({type:`varint`,value:ol.from(e)});break;default:throw Error(`Scalar type not support : `+n)}},e.prototype._writeInterface=function(e,t,n){n||={},n.skipFields||(n.skipFields={});var r=this._writer.ops.length,i=0;if(t.extends){if(t.extends.length>ll.interface.maxExtendsNum)throw Error(`Max support ${ll.interface.maxExtendsNum} extends, actual: ${t.extends.length}`);for(var a=0,o=t.extends;a<o.length;a++){var s=o[a],c=s.id+1;this._writer.push({type:`varint`,value:ol.from(c)});var l=this._writer.ops.length-1,u=this._writer.ops.length,d=this._validator.protoHelper.parseReference(s.type);this._writeInterface(e,d,Y(Y({},n),{skipIndexSignature:!!t.indexSignature||n.skipIndexSignature})),this._writer.ops.length===u+1?this._writer.ops.splice(this._writer.ops.length-2,2):(++i,this._processIdWithLengthType(l,s.type))}}if(t.properties)for(var f=0,p=t.properties;f<p.length;f++){var m=p[f],h=this._validator.protoHelper.parseReference(m.type),g=e[m.name];if(!(n.pickFields&&!n.pickFields[m.name])){if(h.type===`Literal`){n.skipFields[m.name]=1;continue}if(this._nullAsUndefined(g,m.type)&&(g=void 0),g!==void 0&&!n.skipFields[m.name]){n.skipFields[m.name]=1;var c=m.id+ll.interface.maxExtendsNum+1;this._writer.push({type:`varint`,value:ol.from(c)});var l=this._writer.ops.length-1;this._write(g,h),++i,this._processIdWithLengthType(l,h)}}}if(!n.skipIndexSignature){var _=this._validator.protoHelper.getFlatInterfaceSchema(t);if(_.indexSignature){for(var v in e)if(!(e[v]===void 0||this._nullAsUndefined(e[v],_.indexSignature.type))&&!(n.pickFields&&!n.pickFields[v])&&!n.skipFields[v]){n.skipFields[v]=1,this._writer.push({type:`varint`,value:ol.from(0)});var l=this._writer.ops.length-1;this._writer.push({type:`string`,value:v});var y=this._writer.ops.length;this._write(e[v],_.indexSignature.type),++i,this._processIdWithLengthType(l,_.indexSignature.type,y)}}}this._writer.ops.splice(r,0,this._writer.req2op({type:`varint`,value:ol.from(i)}))},e.prototype._nullAsUndefined=function(e,t){return e===null&&this._options.nullAsUndefined&&!rl.canBeLiteral(t,null)},e.prototype._parseOverwrite=function(e,t){var n={},r=this._validator.protoHelper.parseReference(t.target),i=this._validator.protoHelper.parseReference(t.overwrite),a=this._validator.protoHelper.getFlatInterfaceSchema(r),o=this._validator.protoHelper.getFlatInterfaceSchema(i),s={},c={};if(o.properties)for(var l=0,u=o.properties;l<u.length;l++){var d=u[l];e[d.name]!==void 0&&!n[d.name]&&(s[d.name]=e[d.name],n[d.name]=1)}if(a.properties)for(var f=0,p=a.properties;f<p.length;f++){var d=p[f];e[d.name]!==void 0&&!n[d.name]&&(c[d.name]=e[d.name],n[d.name]=1)}var m,h;if(o.indexSignature?(h=o.indexSignature,m=s):a.indexSignature&&(h=a.indexSignature,m=c),h)for(var g in e)n[g]||(m[g]=e[g],n[g]=1);return{target:r,targetValue:c,overwrite:i,overwriteValue:s}},e.prototype._writeUnion=function(e,t,n,r){n===void 0&&(n={});var i=this._writer.ops.length,a=0;this._nullAsUndefined(e,t)&&(e=void 0);for(var o=0,s=t.members;o<s.length;o++){var c=s[o];if(this._validator.validate(e,c.type,{excessPropertyChecks:!1}).isSucc){this._writer.push({type:`varint`,value:ol.from(c.id)});var l=this._writer.ops.length-1;if(c.type.type===`Union`?this._writeUnion(e,c.type,n):this._write(e,c.type,{skipFields:n}),a++,this._processIdWithLengthType(l,c.type),typeof e!=`object`)break}}if(a>0){this._writer.ops.splice(i,0,this._writer.req2op({type:`varint`,value:ol.from(a)}));return}throw Error(`Non member is satisfied for union type`)},e.prototype._writeIntersection=function(e,t,n){n===void 0&&(n={}),this._writer.push({type:`varint`,value:ol.from(t.members.length)});for(var r=0,i=t.members;r<i.length;r++){var a=i[r];this._writer.push({type:`varint`,value:ol.from(a.id)});var o=this._writer.ops.length-1,s=Y({},n);this._write(e,a.type,{skipFields:s}),this._processIdWithLengthType(o,a.type)}},e.prototype._writeBuffer=function(e){if(e instanceof ArrayBuffer)this._writer.push({type:`buffer`,value:new Uint8Array(e)});else if(e instanceof Uint8Array)this._writer.push({type:`buffer`,value:e});else{var t=il[e.constructor.name],n=new Uint8Array(e.buffer,e.byteOffset,e.length*t.BYTES_PER_ELEMENT);this._writer.push({type:`buffer`,value:n})}},e.prototype._processIdWithLengthType=function(e,t,n){var r=this._writer.ops[e];if(r.type!==`varint`)throw Error(`Error idPos: `+e);var i=this._validator.protoHelper.parseReference(t),a=tl.getPayloadLengthInfo(i,this._validator.protoHelper),o=(r.value.toNumber()<<2)+a.lengthType;if(this._writer.ops[e]=this._writer.req2op({type:`varint`,value:ol.from(o)}),a.needLengthPrefix){var s=this._writer.ops.filter(function(t,n){return n>e}).sum(function(e){return e.length});this._writer.ops.splice(n??e+1,0,this._writer.req2op({type:`varint`,value:ol.from(s)}))}},e}(),fl=function(){function e(e,t){this._options={excessPropertyChecks:!0,strictNullChecks:!1,skipEncodeValidate:!1,skipDecodeValidate:!1,cloneProto:!0},this._options=Y(Y({},this._options),t),this._proto=this._options.cloneProto?Object.merge({},e):e,Object.assign(this._proto,Object.merge({},t?.customTypes)),this._validator=new Yc(this._proto,{excessPropertyChecks:this._options.excessPropertyChecks,strictNullChecks:this._options.strictNullChecks,cloneProto:!1}),this.validate=this._validator.validate.bind(this._validator),this.prune=this._validator.prune.bind(this._validator),this._encoder=new dl({validator:this._validator,nullAsUndefined:!this._options.strictNullChecks}),this._decoder=new cl({validator:this._validator,undefinedAsNull:!this._options.strictNullChecks})}return e.prototype.encode=function(e,t,n){var r;if(typeof t==`string`){if(r=this._proto[t],!r)return{isSucc:!1,errMsg:`Cannot find schema: ${t}`}}else r=t;if(!(n?.skipValidate??this._options.skipEncodeValidate)){var i=this._validator.validate(e,r,{excessPropertyChecks:!1});if(!i.isSucc)return i}var a;try{a=this._encoder.encode(e,r)}catch(e){return{isSucc:!1,errMsg:e.message}}return{isSucc:!0,buf:a}},e.prototype.decode=function(e,t,n){var r;if(typeof t==`string`){if(r=this._proto[t],!r)return{isSucc:!1,errMsg:`Cannot find schema: ${t}`,errPhase:void 0}}else r=t;var i;try{i=this._decoder.decode(e,r)}catch(e){return{isSucc:!1,errMsg:e.message,errPhase:`decode`}}if(!(n?.skipValidate??this._options.skipDecodeValidate)){var a=this._validator.validate(i,r);if(!a.isSucc)return Y(Y({},a),{errPhase:`validate`})}return{isSucc:!0,value:i}},e.prototype.encodeJSON=function(e,t,n){var r;if(typeof t==`string`){if(r=this._proto[t],!r)return{isSucc:!1,errMsg:`Cannot find schema: ${t}`}}else r=t;if(!(n?.skipValidate??this._options.skipEncodeValidate)){var i=this._validator.prune(e,r);if(!i.isSucc)return i;e=i.pruneOutput}var a;try{a=this._encoder.encodeJSON(e,r)}catch(e){return{isSucc:!1,errMsg:e.message}}return{isSucc:!0,json:a}},e.prototype.decodeJSON=function(e,t,n){var r;if(typeof t==`string`){if(r=this._proto[t],!r)return{isSucc:!1,errMsg:`Cannot find schema: ${t}`,errPhase:void 0}}else r=t;var i;try{i=this._decoder.decodeJSON(e,r)}catch(e){return{isSucc:!1,errMsg:e.message,errPhase:`decode`}}if(!(n?.skipValidate??this._options.skipDecodeValidate)){var a=this._validator.prune(i,r);return a.isSucc?{isSucc:!0,value:a.pruneOutput}:(a.errPhase=`validate`,a)}return{isSucc:!0,value:i}},e}(),pl=function(){function e(e,t){e===void 0&&(e=1),t===void 0&&(t=2**53-1),this._min=e,this._max=t,this._last=t}return e.prototype.reset=function(){this._last=this._max},e.prototype.getNext=function(e){return this._last>=this._max?this._last=this._min:e?this._last:++this._last},Object.defineProperty(e.prototype,"last",{get:function(){return this._last},enumerable:!1,configurable:!0}),e}(),ml=function(){function e(){this.nodes=[],this.onError=function(e,t,n,r){r?.error(`Uncaught FlowError:`,e)}}return e.prototype.exec=function(e,t){return Fc(this,void 0,void 0,function(){var n,r,i;return Ic(this,function(a){switch(a.label){case 0:n=e,r=0,a.label=1;case 1:if(!(r<this.nodes.length))return[3,7];a.label=2;case 2:return a.trys.push([2,4,,5]),[4,this.nodes[r](n)];case 3:return n=a.sent(),[3,5];case 4:return i=a.sent(),this.onError(i,n,e,t),[2,void 0];case 5:if(n==null)return[2,n];a.label=6;case 6:return++r,[3,1];case 7:return[2,n]}})})},e.prototype.push=function(e){return this.nodes.push(e),e},e.prototype.remove=function(e){return this.nodes.remove(function(t){return t===e})},e}();function hl(e){var t={};return t[`?mongodb/ObjectId`]=e===String?{type:J.Custom,validate:function(e){return typeof e==`string`?/^[0-9a-fA-F]{24}$/.test(e)?{isSucc:!0}:{isSucc:!1,errMsg:`ObjectId must be a string of 24 hex characters`}:{isSucc:!1,errMsg:`Expected type to be \`string\`, actually \`${typeof e}\`.`}},encode:function(e){return new Uint8Array(Array.from({length:12},function(t,n){return Number.parseInt(`0x`+e.substr(n*2,2))}))},decode:function(e){return Array.from(e,function(e){var t=e.toString(16);return t.length===1&&(t=`0`+t),t}).join(``)}}:{type:J.Custom,validate:function(t){return t instanceof e?{isSucc:!0}:{isSucc:!1,errMsg:"Expected to be instance of `ObjectId`, actually not."}},encode:function(e){return new Uint8Array(e.id)},decode:function(t){return new e(t)},decodeJSON:function(t){return new e(t)}},t[`?mongodb/ObjectID`]=t[`?mongodb/ObjectId`],t[`?bson/ObjectId`]=t[`?mongodb/ObjectId`],t[`?bson/ObjectID`]=t[`?mongodb/ObjectId`],t}var gl=function(){function e(){this._handlers={}}return e.prototype.forEachHandler=function(e,t){var n=[...arguments].slice(2),r=this._handlers[e];if(!r)return[];for(var i=[],a=0,o=r;a<o.length;a++){var s=o[a];try{i.push(s.apply(void 0,n))}catch(e){t?.error(`[MsgHandlerError]`,e)}}return i},e.prototype.addHandler=function(e,t){var n=this._handlers[e];if(!n)n=this._handlers[e]=[];else if(n.some(function(e){return e===t}))return;n.push(t)},e.prototype.removeHandler=function(e,t){var n=this._handlers[e];n&&n.removeOne(function(e){return e===t})},e.prototype.removeAllHandlers=function(e){this._handlers[e]=void 0},e}(),_l=function(){function e(){}return e.getServiceMap=function(e){for(var t={id2Service:{},apiName2Service:{},msgName2Service:{}},n=0,r=e.services;n<r.length;n++){var i=r[n],a=i.name.match(/(.+\/)?([^\/]+)$/),o=a[1]||``,s=a[2];if(i.type===`api`){var c=Y(Y({},i),{reqSchemaId:`${o}Ptl${s}/Req${s}`,resSchemaId:`${o}Ptl${s}/Res${s}`});t.apiName2Service[i.name]=c,t.id2Service[i.id]=c}else{var c=Y(Y({},i),{msgSchemaId:`${o}Msg${s}/Msg${s}`});t.msgName2Service[i.name]=c,t.id2Service[i.id]=c}}return t},e}(),vl=function(){function e(){}return Object.defineProperty(e,"tsbuffer",{get:function(){return this._tsbuffer||=new fl(Vc),this._tsbuffer},enumerable:!1,configurable:!0}),e.encodeClientMsg=function(e,t,n,r,i){if(r===`buffer`){var a=e.encode(n,t.msgSchemaId);if(!a.isSucc)return a;var o={serviceId:t.id,buffer:a.buf},s=this.tsbuffer.encode(o,`ServerInputData`);return s.isSucc?{isSucc:!0,output:s.buf}:{isSucc:!1,errMsg:s.errMsg}}var a=e.encodeJSON(n,t.msgSchemaId);if(!a.isSucc)return a;var c=i===`SHORT`?a.json:[t.name,a.json];return{isSucc:!0,output:r===`json`?c:JSON.stringify(c)}},e.encodeApiReq=function(e,t,n,r,i){if(r===`buffer`){var a=e.encode(n,t.reqSchemaId);if(!a.isSucc)return a;var o={serviceId:t.id,buffer:a.buf,sn:i},s=this.tsbuffer.encode(o,`ServerInputData`);return s.isSucc?{isSucc:!0,output:s.buf}:{isSucc:!1,errMsg:s.errMsg}}var a=e.encodeJSON(n,t.reqSchemaId);if(!a.isSucc)return a;var c=i===void 0?a.json:[t.name,a.json,i];return{isSucc:!0,output:r===`json`?c:JSON.stringify(c)}},e.encodeServerMsg=function(e,t,n,r,i){if(r===`buffer`){var a=e.encode(n,t.msgSchemaId);if(!a.isSucc)return a;var o={serviceId:t.id,buffer:a.buf},s=this.tsbuffer.encode(o,`ServerOutputData`);return s.isSucc?{isSucc:!0,output:s.buf}:{isSucc:!1,errMsg:s.errMsg}}var a=e.encodeJSON(n,t.msgSchemaId);if(!a.isSucc)return a;var c=i===`SHORT`?a.json:[t.name,a.json];return{isSucc:!0,output:r===`json`?c:JSON.stringify(c)}},e.parseServerOutout=function(e,t,n,r){if(n instanceof Uint8Array){var i=this.tsbuffer.decode(n,`ServerOutputData`);if(!i.isSucc)return i;var a=i.value;if(r??=a.serviceId,r===void 0)return{isSucc:!1,errMsg:`Missing 'serviceId' in ServerOutput`};var o=t.id2Service[r];if(!o)return{isSucc:!1,errMsg:`Invalid service ID: ${r} (from ServerOutput)`};if(o.type===`msg`){if(!a.buffer)return{isSucc:!1,errMsg:`Empty msg buffer (from ServerOutput)`};var s=e.decode(a.buffer,o.msgSchemaId);return s.isSucc?{isSucc:!0,result:{type:`msg`,service:o,msg:s.value}}:s}if(a.error)return{isSucc:!0,result:{type:`api`,service:o,sn:a.sn,ret:{isSucc:!1,err:new Hc(a.error)}}};if(!a.buffer)return{isSucc:!1,errMsg:`Empty API res buffer (from ServerOutput)`};var c=e.decode(a.buffer,o.resSchemaId);return c.isSucc?{isSucc:!0,result:{type:`api`,service:o,sn:a.sn,ret:{isSucc:!0,res:c.value}}}:c}var l=void 0;if(typeof n==`string`)try{l=JSON.parse(n)}catch(e){return{isSucc:!1,errMsg:`Invalid input JSON: ${e.message}`}}else l=n;var u=void 0,d=void 0,o=void 0;if(r==null){if(!Array.isArray(l))return{isSucc:!1,errMsg:`Invalid server output format`};var f=l[0];if(u=l[1],d=l[2],o=d?t.apiName2Service[f]:t.msgName2Service[f],!o)return{isSucc:!1,errMsg:`Invalid service name: ${f} (from ServerOutputData)`}}else{if(o=t.id2Service[r],!o)return{isSucc:!1,errMsg:`Invalid service ID: ${r}`};u=l}if(o.type===`api`){if(u.isSucc&&`res`in u){var p=e.decodeJSON(u.res,o.resSchemaId);if(!p.isSucc)return p;u.res=p.value}else if(u.err)u.err=new Hc(u.err);else return{isSucc:!1,errMsg:`Invalid server output format`};return{isSucc:!0,result:{type:`api`,service:o,sn:d,ret:u}}}var p=e.decodeJSON(u,o.msgSchemaId);return p.isSucc?{isSucc:!0,result:{type:`msg`,service:o,msg:p.value}}:p},e.HeartbeatPacket=new Uint8Array([0]),e}(),yl=function(){function e(e,t){this._msgHandlers=new gl,this.flows={preCallApiFlow:new ml,preApiReturnFlow:new ml,postApiReturnFlow:new ml,preSendMsgFlow:new ml,postSendMsgFlow:new ml,preRecvMsgFlow:new ml,postRecvMsgFlow:new ml,preSendDataFlow:new ml,preRecvDataFlow:new ml,preSendBufferFlow:new ml,preRecvBufferFlow:new ml,preConnectFlow:new ml,postConnectFlow:new ml,postDisconnectFlow:new ml},this._apiSnCounter=new pl(1),this._pendingApis=[],this._onRecvBuf=this._onRecvData,this.options=t,this.serviceMap=_l.getServiceMap(e),this.dataType=this.options.json?`text`:`buffer`;var n=Y({},e.types);t.customObjectIdClass&&(n=Y(Y({},n),hl(t.customObjectIdClass))),this.tsbuffer=new fl(n),this.logger=this.options.logger,this.logger&&=zc(this.logger,this.options.logLevel)}return Object.defineProperty(e.prototype,"lastSN",{get:function(){return this._apiSnCounter.last},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"nextSN",{get:function(){return this._apiSnCounter.getNext(!0)},enumerable:!1,configurable:!0}),e.prototype.callApi=function(e,t,n){return n===void 0&&(n={}),Fc(this,void 0,void 0,function(){var r,i,a,o=this;return Ic(this,function(s){return r=this._apiSnCounter.getNext(),i={sn:r,abortKey:n.abortKey,service:this.serviceMap.apiName2Service[e]},this._pendingApis.push(i),a=new Promise(function(r){return Fc(o,void 0,void 0,function(){var a,o,s,c,l;return Ic(this,function(u){switch(u.label){case 0:return[4,this.flows.preCallApiFlow.exec({apiName:e,req:t,options:n},this.logger)];case 1:return a=u.sent(),!a||i.isAborted?(this.abort(i.sn),[2]):a.return?(o=a.return,[3,4]):[3,2];case 2:return[4,this._doCallApi(a.apiName,a.req,a.options,i)];case 3:o=u.sent(),u.label=4;case 4:return i.isAborted?[2]:(o.isSucc?this.options.logApi&&((c=this.logger)==null||c.log(`[ApiRes] #${i.sn} ${e}`,o.res)):this.options.logApi&&((l=this.logger)==null||l[o.err.type===Hc.Type.ApiError?`log`:`error`](`[ApiErr] #${i.sn} ${e}`,o.err)),[4,this.flows.preApiReturnFlow.exec(Y(Y({},a),{return:o}),this.logger)]);case 5:return s=u.sent(),s?(r(s.return),this.flows.postApiReturnFlow.exec(s,this.logger),[2]):(this.abort(i.sn),[2])}})})}),a.catch().then(function(){o._pendingApis.removeOne(function(e){return e.sn===i.sn})}),[2,a]})})},e.prototype._doCallApi=function(e,t,n,r){var i;return n===void 0&&(n={}),Fc(this,void 0,void 0,function(){var a,o=this;return Ic(this,function(s){return this.options.logApi&&((i=this.logger)==null||i.log(`[ApiReq] #${r.sn}`,e,t)),a=new Promise(function(i){return Fc(o,void 0,void 0,function(){var a,o,s,c,l,u;return Ic(this,function(d){switch(d.label){case 0:return a=this.serviceMap.apiName2Service[e],a?(r.service=a,o=vl.encodeApiReq(this.tsbuffer,a,t,this.dataType,this.type===`LONG`?r.sn:void 0),o.isSucc?(s=this._waitApiReturn(r,n.timeout??this.options.timeout),c=this.sendData(o.output,n,a.id,r),[4,c]):(i({isSucc:!1,err:new Hc(o.errMsg,{type:Bc.ClientError,code:`INPUT_DATA_ERR`})}),[2])):(i({isSucc:!1,err:new Hc(`Invalid api name: `+e,{code:`INVALID_API_NAME`,type:Bc.ClientError})}),[2]);case 1:return l=d.sent(),l.err?(i({isSucc:!1,err:l.err}),[2]):[4,s];case 2:return u=d.sent(),r.isAborted||i(u),[2]}})})}),[2,a]})})},e.prototype.sendMsg=function(e,t,n){var r=this;n===void 0&&(n={});var i=new Promise(function(i){return Fc(r,void 0,void 0,function(){var r,a,o,s,c,l,u;return Ic(this,function(d){switch(d.label){case 0:return[4,this.flows.preSendMsgFlow.exec({msgName:e,msg:t,options:n},this.logger)];case 1:return r=d.sent(),r?(this.options.logMsg&&((l=this.logger)==null||l.log(`[SendMsg]`,e,t)),a=this.serviceMap.msgName2Service[e],a?(o=vl.encodeClientMsg(this.tsbuffer,a,t,this.dataType,this.type),o.isSucc?(s=this.sendData(o.output,n,a.id),[4,s]):(i({isSucc:!1,err:new Hc(o.errMsg,{type:Bc.ClientError,code:`ENCODE_MSG_ERR`})}),[2])):((u=this.logger)==null||u.error(`Invalid msg name: `+e),i({isSucc:!1,err:new Hc(`Invalid msg name: `+e,{code:`INVALID_MSG_NAME`,type:Bc.ClientError})}),[2])):[2];case 2:return c=d.sent(),c.err?(i({isSucc:!1,err:c.err}),[2]):(i({isSucc:!0}),this.flows.postSendMsgFlow.exec(r,this.logger),[2])}})})});return i.then(function(e){e.isSucc||(r.logger??console).error(`[SendMsgErr]`,e.err)}),i},e.prototype.listenMsg=function(e,t){var n=this;return e instanceof RegExp?Object.keys(this.serviceMap.msgName2Service).filter(function(t){return e.test(t)}).forEach(function(e){n._msgHandlers.addHandler(e,t)}):this._msgHandlers.addHandler(e,t),t},e.prototype.unlistenMsg=function(e,t){var n=this;e instanceof RegExp?Object.keys(this.serviceMap.msgName2Service).filter(function(t){return e.test(t)}).forEach(function(e){n._msgHandlers.removeHandler(e,t)}):this._msgHandlers.removeHandler(e,t)},e.prototype.unlistenMsgAll=function(e){var t=this;e instanceof RegExp?Object.keys(this.serviceMap.msgName2Service).filter(function(t){return e.test(t)}).forEach(function(e){t._msgHandlers.removeAllHandlers(e)}):this._msgHandlers.removeAllHandlers(e)},e.prototype.abort=function(e){var t,n,r=this._pendingApis.findIndex(function(t){return t.sn===e});if(r!==-1){var i=this._pendingApis[r];this._pendingApis.splice(r,1),i.onReturn=void 0,i.isAborted=!0,(t=this.logger)==null||t.log(`[ApiAbort] #${i.sn} ${i.service.name}`),(n=i.onAbort)==null||n.call(i)}},e.prototype.abortByKey=function(e){var t=this;this._pendingApis.filter(function(t){return t.abortKey===e}).forEach(function(e){t.abort(e.sn)})},e.prototype.abortAll=function(){var e=this;this._pendingApis.slice().forEach(function(t){return e.abort(t.sn)})},e.prototype.sendData=function(e,t,n,r){var i,a,o;return Fc(this,void 0,void 0,function(){var s,c;return Ic(this,function(l){switch(l.label){case 0:return[4,this.flows.preSendDataFlow.exec({data:e,sn:r?.sn},this.logger)];case 1:return s=l.sent(),s?(e=s.data,e instanceof Uint8Array?[4,this.flows.preSendBufferFlow.exec({buf:e,sn:r?.sn},this.logger)]:[3,3]):[2,new Promise(function(e){})];case 2:if(c=l.sent(),!c)return[2,new Promise(function(e){})];e=c.buf,l.label=3;case 3:return this.options.debugBuf&&(typeof e==`string`?(i=this.logger)==null||i.debug(`[SendText]`+(r?` #`+r.sn:``)+` length=${e.length}`,e):e instanceof Uint8Array?(a=this.logger)==null||a.debug(`[SendBuf]`+(r?` #`+r.sn:``)+` length=${e.length}`,e):(o=this.logger)==null||o.debug(`[SendJSON]`+(r?` #`+r.sn:``),e)),[2,this._sendData(e,t,n,r)]}})})},e.prototype._onRecvData=function(e,t){var n,r,i,a,o,s,c,l,u;return Fc(this,void 0,void 0,function(){var d,f,p,m,h,g;return Ic(this,function(_){switch(_.label){case 0:return d=t?.sn,[4,this.flows.preRecvDataFlow.exec({data:e,sn:d},this.logger)];case 1:return f=_.sent(),f?(e=f.data,typeof e==`string`?(this.options.debugBuf&&((n=this.logger)==null||n.debug(`[RecvText]`+(d?` #`+d:``),e)),[3,5]):[3,2]):[2];case 2:return e instanceof Uint8Array?(this.options.debugBuf&&((r=this.logger)==null||r.debug(`[RecvBuf]`+(d?` #`+d:``),`length=`+e.length,e)),[4,this.flows.preRecvBufferFlow.exec({buf:e,sn:d},this.logger)]):[3,4];case 3:return p=_.sent(),p?(e=p.buf,[3,5]):[2];case 4:this.options.debugBuf&&((i=this.logger)==null||i.debug(`[RecvJSON]`+(d?` #`+d:``),e)),_.label=5;case 5:return m=vl.parseServerOutout(this.tsbuffer,this.serviceMap,e,t?.service.id),m.isSucc?(h=m.result,h.type===`api`?(d??=h.sn,(l=(c=this._pendingApis.find(function(e){return e.sn===d}))?.onReturn)==null||l.call(c,h.ret),[3,9]):[3,6]):((a=this.logger)==null||a.error(`ParseServerOutputError: `+m.errMsg),e instanceof Uint8Array&&((o=this.logger)==null||o.error(`Please check the version of serviceProto between server and client`)),t&&((s=t.onReturn)==null||s.call(t,{isSucc:!1,err:new Hc(`Parse server output error`,{type:Bc.ServerError})})),[2]);case 6:return h.type===`msg`?(this.options.logMsg&&((u=this.logger)==null||u.log(`[RecvMsg] ${h.service.name}`,h.msg)),[4,this.flows.preRecvMsgFlow.exec({msgName:h.service.name,msg:h.msg},this.logger)]):[3,9];case 7:return g=_.sent(),g?(this._msgHandlers.forEachHandler(g.msgName,this.logger,g.msg,g.msgName),[4,this.flows.postRecvMsgFlow.exec(g,this.logger)]):[2];case 8:_.sent(),_.label=9;case 9:return[2]}})})},e.prototype._waitApiReturn=function(e,t){return Fc(this,void 0,void 0,function(){var n=this;return Ic(this,function(r){return[2,new Promise(function(r){var i;t&&(i=setTimeout(function(){i=void 0,n._pendingApis.removeOne(function(t){return t.sn===e.sn}),r({isSucc:!1,err:new Hc(`Request Timeout`,{type:Bc.NetworkError,code:`TIMEOUT`})})},t)),e.onReturn=function(t){i&&=(clearTimeout(i),void 0),n._pendingApis.removeOne(function(t){return t.sn===e.sn}),r(t)}})]})})},e}(),bl={logLevel:`debug`,logApi:!0,logMsg:!0,json:!1,timeout:15e3,debugBuf:!1},xl=function(e){Nc(t,e);function t(t,n,r){var i=this,a;return i=e.call(this,t,Y(Y({},Sl),r))||this,i.type=`SHORT`,i._http=n,i._jsonServer=i.options.server+(i.options.server.endsWith(`/`)?``:`/`),(a=i.logger)==null||a.log(`TSRPC HTTP Client :`,i.options.server),i}return t.prototype._sendData=function(e,t,n,r){return Fc(this,void 0,void 0,function(){var i,a=this;return Ic(this,function(o){return i=(function(){return Fc(a,void 0,void 0,function(){var i,a,o,s,c,l,u;return Ic(this,function(d){switch(d.label){case 0:return i=this.serviceMap.id2Service[n],a=i.type===`msg`?`?type=msg`:``,o=typeof e==`string`?this._jsonServer+i.name+a:this.options.server,s=this._http.fetch({url:o,data:e,method:`POST`,timeout:t.timeout||this.options.timeout,headers:{"Content-Type":typeof e==`string`?`application/json`:`application/octet-stream`},transportOptions:t,responseType:typeof e==`string`?`text`:`arraybuffer`}),c=s.promise,l=s.abort,r&&(r.onAbort=function(){l()}),r?.isAborted?[2,new Promise(function(e){})]:[4,c];case 1:return u=d.sent(),u.isSucc?[2,{res:u.res}]:[2,{err:u.err}]}})})})(),i.then(function(e){r&&e.res&&a._onRecvData(e.res,r)}),i.catch(function(e){}).then(function(){r&&(r.onAbort=void 0)}),[2,i]})})},t}(yl),Sl=Y(Y({},bl),{server:`http://localhost:3000`,jsonPrune:!0}),Cl=function(e){Nc(t,e);function t(t,n,r){var i=this,a;return i=e.call(this,t,Y(Y({},wl),r))||this,i.type=`LONG`,i._onWsOpen=function(){var e;i._connecting&&(i._status=Tl.Opened,i._connecting.rs({isSucc:!0}),i._connecting=void 0,(e=i.logger)==null||e.log(`WebSocket connection to server successful`),i.flows.postConnectFlow.exec({},i.logger),i.options.heartbeat&&i._heartbeat())},i._onWsClose=function(e,t){var n,r,a;if(i._status!==Tl.Closed){var o=!!i._rsDisconnecting,s=i.isConnected||o;i._status=Tl.Closed,i._connecting&&(i._connecting.rs({isSucc:!1,errMsg:`Failed to connect to WebSocket server: ${i.options.server}`}),i._connecting=void 0,(n=i.logger)==null||n.error(`Failed to connect to WebSocket server: ${i.options.server}`)),i._pendingHeartbeat&&(clearTimeout(i._pendingHeartbeat.timeoutTimer),i._pendingHeartbeat=void 0),i._nextHeartbeatTimer&&clearTimeout(i._nextHeartbeatTimer),i._rsDisconnecting?(i._rsDisconnecting(),i._rsDisconnecting=void 0,(r=i.logger)==null||r.log(`Disconnected succ`,`code=${e} reason=${t}`)):s&&((a=i.logger)==null||a.log(`Lost connection to ${i.options.server}`,`code=${e} reason=${t}`)),s&&i.flows.postDisconnectFlow.exec({reason:t,isManual:o},i.logger),i._pendingApis.slice().forEach(function(e){var n;(n=e.onReturn)==null||n.call(e,{isSucc:!1,err:new Hc(t||`Lost connection to server`,{type:Bc.NetworkError,code:`LOST_CONN`})})})}},i._onWsError=function(e){var t,n;(t=i.logger)==null||t.error(`[WebSocket Error]`,e),i._connecting&&(i._connecting.rs({isSucc:!1,errMsg:`Failed to connect to WebSocket server: ${i.options.server}`}),i._connecting=void 0,(n=i.logger)==null||n.error(`Failed to connect to WebSocket server: ${i.options.server}`))},i._onWsMessage=function(e){if(i._status===Tl.Opened){if(e instanceof Uint8Array&&e.length===vl.HeartbeatPacket.length&&e.every(function(e,t){return e===vl.HeartbeatPacket[t]})){i._onHeartbeatAnswer(e);return}i._onRecvData(e)}},i.lastHeartbeatLatency=0,i._status=Tl.Closed,i._wsp=n,n.options={onOpen:i._onWsOpen,onClose:i._onWsClose,onError:i._onWsError,onMessage:i._onWsMessage,logger:i.logger},(a=i.logger)==null||a.log(`TSRPC WebSocket Client :`,i.options.server),i}return t.prototype._sendData=function(e){return Fc(this,void 0,void 0,function(){var t=this;return Ic(this,function(n){return[2,new Promise(function(n){return Fc(t,void 0,void 0,function(){return Ic(this,function(t){return this.isConnected?(n(this._wsp.send(e)),[2]):(n({err:new Hc(`WebSocket is not connected`,{code:`WS_NOT_OPEN`,type:Hc.Type.ClientError})}),[2])})})})]})})},t.prototype._heartbeat=function(){var e=this,t;this._pendingHeartbeat||this._status!==Tl.Opened||!this.options.heartbeat||(this._pendingHeartbeat={startTime:Date.now(),timeoutTimer:setTimeout(function(){var t;e._pendingHeartbeat=void 0,(t=e.logger)==null||t.error(`[Heartbeat] Heartbeat timeout, the connection disconnected automatically.`),e._wsClose(3e3,`Heartbeat timeout`),e._wsp.options.onClose(3e3,`Heartbeat timeout`)},this.options.heartbeat.timeout)},this.options.debugBuf&&((t=this.logger)==null||t.log(`[Heartbeat] Send ping`,vl.HeartbeatPacket)),this._sendData(vl.HeartbeatPacket))},t.prototype._onHeartbeatAnswer=function(e){var t=this,n;!this._pendingHeartbeat||this._status!==Tl.Opened||!this.options.heartbeat||(this.lastHeartbeatLatency=Date.now()-this._pendingHeartbeat.startTime,this.options.debugBuf&&((n=this.logger)==null||n.log(`[Heartbeat] Recv pong, latency=${this.lastHeartbeatLatency}ms`,e)),clearTimeout(this._pendingHeartbeat.timeoutTimer),this._pendingHeartbeat=void 0,this._nextHeartbeatTimer=setTimeout(function(){t._heartbeat()},this.options.heartbeat.interval))},Object.defineProperty(t.prototype,"status",{get:function(){return this._status},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isConnected",{get:function(){return this._status===Tl.Opened},enumerable:!1,configurable:!0}),t.prototype.connect=function(){var e,t;return Fc(this,void 0,void 0,function(){var n,r,i=this;return Ic(this,function(a){switch(a.label){case 0:return this.isConnected?[2,{isSucc:!0}]:this._connecting?[2,this._connecting.promise]:[4,this.flows.preConnectFlow.exec({},this.logger)];case 1:if(n=a.sent(),n?.return)return[2,n.return];if(!n)return[2,new Promise(function(e){})];try{this._wsp.connect(this.options.server,[this.options.json?`text`:`buffer`])}catch(t){return(e=this.logger)==null||e.error(t),[2,{isSucc:!1,errMsg:t.message}]}return this._status=Tl.Opening,(t=this.logger)==null||t.log(`Start connecting ${this.options.server}...`),this._connecting={},r=new Promise(function(e){i._connecting.rs=e}),this._connecting.promise=r,[2,r]}})})},t.prototype.disconnect=function(e,t){var n;return Fc(this,void 0,void 0,function(){var r,i=this;return Ic(this,function(a){return this._status===Tl.Closed?[2]:(this._status=Tl.Closing,(n=this.logger)==null||n.log(`Start disconnecting...`),r=!1,[2,Promise.race([new Promise(function(n){i._rsDisconnecting=function(){r||(r=!0,n())},i._wsClose(e??1e3,t??``)}),new Promise(function(e){setTimeout(function(){r||(r=!0,i._onWsClose(1005,`Connection closed, but not received ws.onClose event.`))},1e3)})])])})})},t.prototype._wsClose=function(e,t){var n;try{this._wsp.close(e??1e3,t??``)}catch(e){(n=this.logger)==null||n.error(`[WsCloseError]`,e)}},t}(yl),wl=Y(Y({},bl),{server:`ws://localhost:3000`}),Tl;(function(e){e.Opening=`OPENING`,e.Opened=`OPENED`,e.Closing=`CLOSING`,e.Closed=`CLOSED`})(Tl||={});var El=function(){function e(){}return e.prototype.fetch=function(e){var t=this,n,r=new Promise(function(e){n=e}),i=new XMLHttpRequest;if(typeof navigator<`u`&&(navigator==null?void 0:navigator.userAgent)?.indexOf(`MSIE 8.0;`)>-1)i.onreadystatechange=function(){return Fc(t,void 0,void 0,function(){return Ic(this,function(t){if(i.readyState==4){if(i.status==0||i.response==null&&i.responseText==null)return n({isSucc:!1,err:new Hc(`Network Error`,{type:Hc.Type.NetworkError,httpCode:i.status})}),[2];if(i.status==12029)return n({isSucc:!1,err:new Hc({message:`Network Error`,type:Hc.Type.NetworkError,httpCode:i.status})}),[2];n({isSucc:!0,res:e.responseType===`text`?i.responseText:new Uint8Array(i.response)})}return[2]})})};else{i.onerror=function(){n({isSucc:!1,err:new Hc({message:`Network Error`,type:Hc.Type.NetworkError,httpCode:i.status})})},i.ontimeout=function(){n({isSucc:!1,err:new Hc({message:`Request Timeout`,type:Hc.Type.NetworkError,code:`TIMEOUT`})})},i.onload=function(){return Fc(t,void 0,void 0,function(){return Ic(this,function(t){return i.status===200||i.status===500?n({isSucc:!0,res:i.response&&(e.responseType===`text`?i.responseText:new Uint8Array(i.response))}):n({isSucc:!1,err:new Hc({message:`HTTP Error `+i.status,type:Hc.Type.ServerError,httpCode:i.status})}),[2]})})};var a=e.transportOptions;a.onProgress&&(i.upload.onprogress=function(e){var t;(t=a.onProgress)==null||t.call(a,e.loaded/e.total)})}if(i.open(e.method,e.url,!0),e.headers)for(var o in e.headers)i.setRequestHeader(o,e.headers[o]);i.responseType=e.responseType;var s=e.timeout;return s&&(i.timeout=s),i.send(e.data),{promise:r,abort:i.abort.bind(i)}},e}(),Dl=function(e){Nc(t,e);function t(t,n){var r=new El;return e.call(this,t,r,Y(Y({},Ol),n))||this}return t.prototype.callApi=function(t,n,r){return r===void 0&&(r={}),e.prototype.callApi.call(this,t,n,r)},t.prototype.sendMsg=function(t,n,r){return r===void 0&&(r={}),e.prototype.sendMsg.call(this,t,n,r)},t}(xl),Ol=Y(Y({},Sl),{customObjectIdClass:String}),kl=function(){function e(e){this.caUrl=e}return e.prototype.connect=function(e,t){var n=this;this._ws=this.caUrl?new WebSocket(e,t,this.caUrl):new WebSocket(e,t),this._ws.binaryType=`arraybuffer`,this._ws.onopen=this.options.onOpen,this._ws.onerror=this.options.onError,this._ws.onclose=function(e){n.options.onClose(e.code,e.reason),n._ws=void 0},this._ws.onmessage=function(e){var t;e.data instanceof ArrayBuffer?n.options.onMessage(new Uint8Array(e.data)):typeof e.data==`string`?n.options.onMessage(e.data):(t=n.options.logger)==null||t.warn(`[Unresolved Recv]`,e.data)}},e.prototype.close=function(e,t){var n;(n=this._ws)==null||n.close(e,t),this._ws=void 0},e.prototype.send=function(e){return Fc(this,void 0,void 0,function(){var t,n;return Ic(this,function(r){try{return t=void 0,typeof e==`string`?t=e:(n=e,t=n.byteOffset===0&&n.byteLength===n.buffer.byteLength?n.buffer:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)),this._ws.send(t),[2,{}]}catch(e){return[2,{err:new Hc(`Network Error`,{code:`SEND_BUF_ERR`,type:Hc.Type.NetworkError,innerErr:e})}]}})})},e}();(function(e){Nc(t,e);function t(t,n){var r=new kl(n?.caUrl);return e.call(this,t,r,Y(Y({},Al),n))||this}return t})(Cl);var Al=Y(Y({},wl),{customObjectIdClass:String}),jl=new Dl(Nr,{server:`${window.location.origin}${Mr}`,json:!0,logger:void 0}),Ml=5e3;function Nl(e,t=[],n=Ml){let[r,i]=(0,_.useState)({status:`loading`}),[a,o]=(0,_.useState)(void 0),s=(0,_.useRef)(!1),c=(0,_.useRef)(!1),l=(0,_.useRef)(e);l.current=e;let[u,d]=(0,_.useState)(0);return(0,_.useEffect)(()=>{c.current=!1;let e=async()=>{if(!s.current){s.current=!0;try{let e=await l.current();if(c.current)return;o(e),i({status:`ok`,value:e})}catch(e){if(c.current)return;i({status:`unavailable`,reason:e instanceof Error?e.message:String(e)})}finally{s.current=!1}}};e();let t=setInterval(()=>void e(),n);return()=>{c.current=!0,clearInterval(t)}},[n,u,...t]),{read:r,lastGood:a,stale:r.status===`unavailable`&&a!==void 0,refresh:()=>d(e=>e+1)}}var Pl=3e5;function Q(){return Nl(async()=>{let e=await jl.callApi(`Session`,{});if(!e.isSucc)throw Error(e.err.message);return e.res},[],Pl)}function $(e){let t=Math.floor(e/86400);if(t>0)return`${t}d`;let n=Math.floor(e/3600);return n>0?`${n}h`:`${Math.floor(e/60)}m`}var Fl={grace:`in its grace period`,"suppressed-by-alert":`suppressed by an ancestor alert`,"suppressed-by-window":`suppressed by a window`,silenced:`silenced by an operator`,"awaiting-confirmation":`awaiting confirmation`,acked:`acknowledged`,resolved:`resolved`};function Il(e){let t=Cn(e);if(t===null)return null;let n=t===`acked`&&e.ackedBy?` by ${e.ackedBy}`:``,r=t===`suppressed-by-alert`&&e.suppressedByAlertId?` (${e.suppressedByAlertId})`:``;return`${Fl[t]}${n}${r}`}function Ll(){let e=Nl(async()=>{let e=await jl.callApi(`Alerts`,{});if(!e.isSucc)throw Error(e.err.message);return e.res}),t=Q(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(null),o=t.read.status===`ok`?t.read.value.person:null;async function s(t){r(t),a(null);try{let n=await jl.callApi(`AckAlert`,{alertKey:t});n.isSucc?e.refresh():a({key:t,message:n.err.message})}finally{r(null)}}return(0,R.jsx)(Er,{title:`alerts`,read:e.read,stale:e.stale,lastGood:e.lastGood,emptyLabel:`No live alerts. The fleet is quiet.`,isEmpty:e=>e.alerts.length===0,children:e=>{let r=Ar(e).alerts;return(0,R.jsxs)(`div`,{className:`scroll-x`,children:[(0,R.jsx)(`p`,{className:`eyebrow`,style:{color:`var(--dim)`},children:Dr(t.read)}),(0,R.jsxs)(`table`,{children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{children:`since`}),(0,R.jsx)(`th`,{children:`alert`}),(0,R.jsx)(`th`,{children:`module`}),(0,R.jsx)(`th`,{children:`state`}),(0,R.jsx)(`th`,{children:`escalation`}),(0,R.jsx)(`th`,{children:`ack`})]})}),(0,R.jsx)(`tbody`,{children:r.map(e=>{let t=Il(e);return(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{style:{color:e.state===`firing`?`var(--firing)`:`var(--dim)`},children:$(e.firedSecondsAgo)}),(0,R.jsx)(`td`,{children:(0,R.jsx)(`span`,{style:{color:e.state===`firing`?`var(--firing)`:`var(--dim)`},children:e.key})}),(0,R.jsx)(`td`,{style:{color:`var(--dim)`},children:e.key.split(`/`)[0]}),(0,R.jsxs)(`td`,{style:{color:`var(--dim)`},children:[e.state,t?`, ${t}`:``]}),(0,R.jsx)(`td`,{style:{color:`var(--dim)`},children:e.escalationStep>0?`step ${e.escalationStep}`:`—`}),(0,R.jsxs)(`td`,{children:[o===null||!jr(e)?(0,R.jsx)(`span`,{style:{color:`var(--dim)`},children:`—`}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void s(e.key),disabled:n!==null,children:n===e.key?`acking`:`ack`}),i?.key===e.key?(0,R.jsxs)(`span`,{style:{color:`var(--firing)`},children:[` `,i.message]}):null]})]},e.id)})})]})]})}})}var Rl=D({key:`route`,default:`dashboard`}),zl=D({key:`selectedModule`,default:null}),Bl=D({key:`rosterFilter`,default:``}),Vl=D({key:`selectedBackup`,default:null}),Hl=D({key:`closureDepth`,default:2});function Ul(e){return e.coverage!==`hooked`||e.scheduleHours===null?`none`:e.scheduleHours===24?`daily`:e.scheduleHours===168?`weekly`:`${e.scheduleHours}h`}function Wl(e,t){let n=Math.max(0,Math.round((t-e.at)/1e3));return{id:e.id,moduleId:e.moduleId,daysAgo:Math.floor(n/86400),secondsAgo:n,status:e.completed?`completed`:`failed`,sizeBytes:e.sizeBytes,...e.name?{name:e.name}:{},...e.error?{error:e.error}:{},...e.storage?{storage:e.storage}:{},...e.moduleVersion?{moduleVersion:e.moduleVersion}:{}}}function Gl(e){return{capturedAt:new Date(e.asOf).toISOString(),completeDays:e.windowDays,modules:e.backups.map(e=>({id:e.moduleId,coverage:e.coverage,schedule:Ul(e)})),runs:e.runs.map(t=>Wl(t,e.asOf))}}function Kl({run:e,onClose:t}){let n=[[`taken`,`${Jn(e.secondsAgo)} ago`],[`size`,qn(e.sizeBytes)],[`backup`,e.id],[`destination`,e.storage??`unknown`]];return e.moduleVersion&&n.push([`module version`,`v${e.moduleVersion}`]),e.name&&n.push([`name`,`“${e.name}”`]),(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`flex-end`,flexWrap:`wrap`,gap:22,marginTop:12,padding:`12px 14px`,border:`1px solid var(--rule)`,borderLeft:`2px solid var(--ink)`,background:`var(--raised)`},children:[(0,R.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:9},children:[(0,R.jsx)(`span`,{children:e.moduleId}),(0,R.jsx)(`span`,{className:`eyebrow`,style:{padding:`1px 7px`,border:`1px solid ${e.status===`completed`?`var(--ok)`:`var(--firing)`}`,color:e.status===`completed`?`var(--ok)`:`var(--firing)`},children:e.status===`completed`?`kept`:`failed`})]}),n.map(([e,t])=>(0,R.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:2},children:[(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--dim)`},children:e}),(0,R.jsx)(`span`,{style:{fontVariantNumeric:`tabular-nums`},children:t})]},e)),e.error?(0,R.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:2,minWidth:0},children:[(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--dim)`},children:`why it failed`}),(0,R.jsx)(`span`,{style:{color:`var(--firing)`},children:e.error})]}):null,(0,R.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Close this backup`,style:{marginLeft:`auto`,color:`var(--dim)`,fontSize:15},children:`✕`})]})}function ql(){let e=xt(zl),t=bt(zl),n=xt(Vl),r=bt(Vl),i=Nl(async()=>{let e=await jl.callApi(`Backups`,{});if(!e.isSucc)throw Error(e.err.message);return e.res}),a=(0,_.useRef)(null);return(0,_.useEffect)(()=>{let e=a.current;if(e===null)return;let n=e=>{let n=e.target;if(!(n instanceof Element))return;let i=n.closest(`[data-module]`);if(i===null)return;let a=i.getAttribute(`data-module`);a!==null&&(t(a),r(i.getAttribute(`data-backup`)))};return e.addEventListener(`click`,n),()=>e.removeEventListener(`click`,n)},[t,r]),(0,R.jsx)(Er,{title:`backups`,read:i.read,stale:i.stale,lastGood:i.lastGood,emptyLabel:`No module has a backup history.`,isEmpty:e=>e.backups.length===0,children:t=>{let i=Gl(t),o=Kn(i,{...Vn,days:Zn.space.days,cell:Zn.space.cell,cellGap:Zn.space.cellGap,rowGap:Zn.space.rowGap,gridLeft:Zn.space.gridLeft,headerHeight:Zn.space.headerHeight,padding:Zn.space.padding,labelEvery:Zn.space.labelEvery,hideUnhooked:!Zn.effect.showUnhooked,sortByTrouble:Zn.effect.sortByTrouble}),s=i.runs.find(e=>e.id===n)??null,c=o.rows.find(t=>t.moduleId===e)??null;return(0,R.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,minHeight:0},children:[(0,R.jsx)(`div`,{className:`scroll-x`,children:(0,R.jsx)(`div`,{ref:a,dangerouslySetInnerHTML:{__html:Tr(o,Zn,e,void 0,n)}})}),s?(0,R.jsx)(Kl,{run:s,onClose:()=>r(null)}):(0,R.jsxs)(`p`,{style:{color:`var(--dim)`,marginTop:12},children:[o.report.hooked,` of `,o.report.modules,` modules have an`,` `,(0,R.jsx)(`code`,{children:`on_backup`}),` hook.`,` `,o.report.failing>0?`${o.report.failing} failing. `:``,`Pick a square for that day’s attempt.`]}),c?(0,R.jsx)(`p`,{style:{color:`var(--dim)`,marginTop:6},children:Xn(c)}):null]})}})}function Jl({board:e,subjects:t,selected:n,reason:r}){let i=e===null?null:zn(e,t),a=i!==null&&Bn(i),[o,s]=(0,_.useState)(a),c=(0,_.useRef)(n);(0,_.useEffect)(()=>{c.current!==n&&(c.current=n,s(a))},[n,a]);let l=i===null?0:i.alerts.length,u=n?`${n} and its closure`:`the fleet`;return(0,R.jsxs)(`section`,{style:{flex:`0 0 auto`,borderTop:`1px solid var(--rule)`,marginTop:8,paddingTop:8},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`baseline`,gap:10},children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>s(!o),"aria-expanded":o,className:`eyebrow`,style:{color:a?`var(--firing)`:`var(--dim)`},children:[o?`▾`:`▸`,` alerts `,i===null?`—`:l]}),(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--dim)`},children:u}),i===null?(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--stale)`},children:`unavailable`}):a?(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--firing)`},children:`paging`}):l>0?(0,R.jsx)(`span`,{className:`eyebrow`,style:{color:`var(--dim)`},children:`nobody is being paged`}):null]}),o?i===null?(0,R.jsxs)(`p`,{style:{color:`var(--stale)`,padding:`8px 0 0`},children:[`Could not read alerts. This is not an all-clear — the fleet may have alerts this console cannot currently see.`,r?(0,R.jsxs)(R.Fragment,{children:[` Upstream said: `,r]}):null]}):l===0?(0,R.jsxs)(`p`,{style:{color:`var(--dim)`,padding:`8px 0 0`},children:[`No alert against `,u,`.`]}):(0,R.jsx)(`div`,{className:`scroll-x`,style:{paddingTop:8},children:(0,R.jsx)(`div`,{dangerouslySetInnerHTML:{__html:yr(En(i,Dn),Dn)}})}):null]})}function Yl(e){return{state:Xl(e),lifecycle:e.state,backupOverdue:e.backupStale,unwatched:e.unwatched||e.health.cell===`not observed`,pagesNobody:e.pagesNobody}}function Xl(e){return e.health.cell===`firing`?`firing`:e.health.cell===`not observed`?`unobserved`:e.backupStale?`stale`:`ok`}var Zl={firing:`var(--firing)`,stale:`var(--stale)`,unobserved:`var(--unobserved)`};function Ql(e,t){if(e===null)return`never`;let n=Math.max(0,Math.round((t-e)/1e3));return n<3600?`${Math.max(1,Math.round(n/60))}m`:n<86400?`${Math.round(n/3600)}h`:`${Math.round(n/86400)}d`}function $l({module:e}){let t=Yl(e);return(0,R.jsx)(`span`,{style:{display:`flex`,gap:5,marginLeft:`auto`,flex:`0 0 auto`},children:Qn.map(e=>{let n=e.test(t);return(0,R.jsx)(`span`,{title:n?e.explain:`${e.label} — this lamp is off`,"aria-label":n?e.label:void 0,style:{width:`1em`,textAlign:`center`,lineHeight:1,cursor:`help`,color:n?Zl[e.tone]:`var(--rule)`,opacity:n?1:.45},children:e.glyph},e.key)})})}function eu({modules:e}){let t=xt(zl),n=bt(zl),r=xt(Bl),i=bt(Bl),a=e.filter(e=>e.id.includes(r.trim())),o=Date.now(),s=e.filter(e=>Qn.some(t=>t.test(Yl(e))));return(0,R.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,minHeight:0},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`baseline`,gap:8,padding:`0 0 8px`},children:[(0,R.jsxs)(`span`,{className:`eyebrow`,children:[`modules `,e.length]}),s.length>0?(0,R.jsxs)(`span`,{className:`eyebrow`,style:{color:`var(--stale)`},children:[s.length,` need attention`]}):null,t?(0,R.jsx)(`button`,{type:`button`,onClick:()=>n(null),style:{color:`var(--dim)`,marginLeft:`auto`},children:`clear`}):null]}),(0,R.jsx)(`input`,{value:r,onChange:e=>i(e.target.value),placeholder:`filter`,"aria-label":`Filter modules`,style:{background:`var(--raised)`,color:`var(--ink)`,border:`1px solid var(--rule)`,padding:`3px 6px`,font:`inherit`,marginBottom:8}}),(0,R.jsxs)(`div`,{style:{overflowY:`auto`,minHeight:0},children:[a.map(e=>{let r=e.id===t;return(0,R.jsxs)(`button`,{type:`button`,onClick:()=>n(e.id),"aria-current":r,style:{display:`flex`,alignItems:`center`,gap:8,width:`100%`,textAlign:`left`,padding:`3px 6px`,background:r?`var(--raised)`:`transparent`,color:r?`var(--ink)`:`var(--dim)`,boxShadow:r?`inset 2px 0 0 var(--ink)`:`none`},children:[(0,R.jsx)(`span`,{style:{flex:`1 1 auto`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`},children:e.id}),(0,R.jsx)(`span`,{title:e.lastBackupAt===null?`no successful backup on record`:`age of the newest successful backup`,style:{flex:`0 0 auto`,fontVariantNumeric:`tabular-nums`,color:e.backupStale?`var(--stale)`:`var(--dim)`},children:Ql(e.lastBackupAt,o)}),(0,R.jsx)($l,{module:e})]},e.id)}),a.length===0?(0,R.jsxs)(`p`,{style:{color:`var(--dim)`,padding:`4px 6px`},children:[`No module matches “`,r,`”.`]}):null]})]})}function tu(e,t,n){if(e===null)return[];let r=new Set(n.flatMap(e=>e.moduleIds.slice(1)));return[...t.flatMap(t=>r.has(t.module.id)?[]:t.via.map(n=>({fromModuleId:e,toModuleId:t.module.id,capability:n,optional:t.optional}))),...n.flatMap(e=>e.moduleIds.slice(0,-1).map((t,n)=>({fromModuleId:t,toModuleId:e.moduleIds[n+1],capability:e.capability,delegation:!0})))]}function nu(){let e=xt(zl),t=xt(Hl),n=Nl(async()=>{let e=await jl.callApi(`Topology`,{});if(!e.isSucc)throw Error(e.err.message);return e.res}),r=Nl(async()=>{if(!e)return null;let n=await jl.callApi(`Closure`,{moduleId:e,depth:t});if(!n.isSucc)throw Error(n.err.message);return n.res},[e,t]),i=!!e&&r.read.status===`unavailable`,a=r.read.status===`ok`&&r.read.value!==null?r.read.value.nodes:[],o=r.read.status===`ok`&&r.read.value!==null?r.read.value.chains:[],s=Nl(async()=>{let e=await jl.callApi(`Alerts`,{});if(!e.isSucc)throw Error(e.err.message);return e.res}),c=new Map,l=new Set;if(e&&r.read.status===`ok`){c.set(e,0);for(let e of a)c.set(e.module.id,e.hop),e.optional&&l.add(e.module.id)}let u=e===null?null:new Set([e,...c.keys()]),d=s.read.status===`ok`?Ar(s.read.value):null;return(0,R.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,minHeight:0},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,gap:16,flex:`1 1 auto`,minHeight:0},children:[(0,R.jsx)(`div`,{style:{flex:`0 0 200px`,borderRight:`1px solid var(--rule)`,paddingRight:12,minHeight:0},children:(0,R.jsx)(Er,{title:`roster`,read:n.read,stale:n.stale,lastGood:n.lastGood,emptyLabel:`celilo has no modules installed.`,isEmpty:e=>e.modules.length===0,children:e=>(0,R.jsx)(eu,{modules:e.modules})})}),(0,R.jsx)(`div`,{style:{flex:`1 1 auto`,minWidth:0,overflow:`auto`},children:(0,R.jsx)(Er,{title:e?`${e} and what it stands on`:`fleet`,read:n.read,stale:n.stale,lastGood:n.lastGood,emptyLabel:`Nothing is deployed.`,isEmpty:e=>e.modules.length===0,children:t=>{let n=sn({zones:t.zones,modules:t.modules.map(e=>{let t=Yl(e);return{id:e.id,hop:c.get(e.id)??null,optional:l.has(e.id),state:t.state,lifecycle:t.lifecycle,unwatched:t.unwatched,pagesNobody:t.pagesNobody,backupOverdue:t.backupOverdue,systems:e.systems.map(e=>({hostname:e.hostname,address:e.address,zone:e.zone}))}}),edges:tu(e,a,o)},Tt);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{dangerouslySetInnerHTML:{__html:dr(n,Tt)}}),i?(0,R.jsxs)(`p`,{style:{color:`var(--stale)`},children:[`Could not read what `,e,` depends on. The picture below shows placement only, not dependencies.`]}):null,n.report.dropped.length>0||n.report.edgesOverlapping>0?(0,R.jsxs)(`p`,{style:{color:`var(--stale)`},children:[`Incomplete drawing: `,n.report.dropped.length,` module(s) not placed,`,` `,n.report.edgesOverlapping,` edge(s) could not be routed clear.`]}):null]})}})})]}),(0,R.jsx)(Jl,{board:d,subjects:u,selected:e,reason:s.read.status===`unavailable`?s.read.reason:void 0})]})}var ru=[`dashboard`,`alerts`,`backups`];function iu(){let e=xt(Rl),t=bt(Rl);return(0,R.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,padding:16,gap:4},children:[(0,R.jsxs)(`header`,{style:{display:`flex`,alignItems:`baseline`,gap:20},children:[(0,R.jsx)(`span`,{style:{fontFamily:`var(--sans)`,fontWeight:700,letterSpacing:`0.16em`},children:`CELILO`}),(0,R.jsx)(`nav`,{style:{display:`flex`,gap:16},children:ru.map(n=>(0,R.jsx)(`button`,{type:`button`,onClick:()=>t(n),"aria-current":e===n?`page`:void 0,className:`eyebrow`,style:{color:e===n?`var(--ink)`:`var(--dim)`,boxShadow:e===n?`inset 0 -2px 0 var(--ink)`:`none`},children:n},n))})]}),(0,R.jsx)(`main`,{style:{flex:`1 1 auto`,minHeight:0},children:e===`dashboard`?(0,R.jsx)(nu,{}):e===`alerts`?(0,R.jsx)(Ll,{}):(0,R.jsx)(ql,{})})]})}var au=document.getElementById(`root`);if(!au)throw Error(`#root is missing from index.html`);(0,v.createRoot)(au).render((0,R.jsx)(_.StrictMode,{children:(0,R.jsx)(iu,{})}));
package/spa/index.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <title>celilo</title>
7
- <script type="module" crossorigin src="/assets/index-C31pEQ-J.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-xOtoHA1j.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-eLF_dgP-.css">
9
9
  </head>
10
10
  <body>
@@ -0,0 +1,38 @@
1
+ import { describe, expect, test } from 'bun:test';
2
+ import { startFromEnv } from './main';
3
+
4
+ /**
5
+ * The console used to fall back to the bare destination `celilo-api@celilo-mgr`
6
+ * when CELILO_API_DEST was unset. That name resolves only on celilo-mgr itself,
7
+ * so on the console's own box every /api read 502'd while `celilo module health`
8
+ * reported VERIFIED — it drives an OIDC login and never touches the upstream.
9
+ * celilo#1453.
10
+ *
11
+ * A silent fallback to an unreachable default is worse than no default: it turns
12
+ * a missing value into a runtime symptom three layers from its cause. So the
13
+ * behaviour under test is the REFUSAL, not the presence of a constant.
14
+ */
15
+ const OIDC_ENV = {
16
+ OIDC_ISSUER: 'https://auth.example.test/application/o/console/',
17
+ OIDC_CLIENT_ID: 'console-web',
18
+ OIDC_CLIENT_SECRET: 'not-a-real-secret',
19
+ };
20
+
21
+ describe('startFromEnv — the upstream destination', () => {
22
+ test('refuses to start when CELILO_API_DEST is unset', () => {
23
+ expect(() => startFromEnv({ ...OIDC_ENV })).toThrow(/CELILO_API_DEST is not set/);
24
+ });
25
+
26
+ test('refuses to start when CELILO_API_DEST is empty', () => {
27
+ expect(() => startFromEnv({ ...OIDC_ENV, CELILO_API_DEST: '' })).toThrow(
28
+ /CELILO_API_DEST is not set/,
29
+ );
30
+ });
31
+
32
+ test('says what a usable destination looks like, so the message is actionable', () => {
33
+ // An error naming only the variable sends the reader to grep. This one has to
34
+ // carry the shape of the answer, because the shape IS the bug: a bare
35
+ // hostname looks correct and resolves nowhere.
36
+ expect(() => startFromEnv({ ...OIDC_ENV })).toThrow(/\.infra\.<domain>/);
37
+ });
38
+ });
package/src/main.ts CHANGED
@@ -23,8 +23,18 @@ import { type AuthGate, type AuthSubject, serve } from './serve';
23
23
  */
24
24
  const DEFAULT_IDENTITY_FILE = '/etc/celilo-web-console/id_ed25519';
25
25
 
26
- /** Matches `wellspring`'s `DEFAULT_ENDPOINT`, which is the fleet's convention. */
27
- const DEFAULT_DEST = 'celilo-api@celilo-mgr';
26
+ // There is deliberately no DEFAULT_DEST. It used to be `celilo-api@celilo-mgr`,
27
+ // borrowed from wellspring's DEFAULT_ENDPOINT — a bare name that resolves only on
28
+ // celilo-mgr itself, via its own /etc/hosts. No system in the fleet carries a DNS
29
+ // search domain, so on the console's own box it resolved nowhere, and the server
30
+ // fell back to it silently whenever CELILO_API_DEST was unset. The result was
31
+ // `ssh: Could not resolve hostname celilo-mgr` twice a second and a 502 on every
32
+ // /api read, while `celilo module health` still reported VERIFIED because it
33
+ // drives a login and never touches the upstream. celilo#1453.
34
+ //
35
+ // A missing destination is a misconfiguration, so it fails loudly. The fleet's
36
+ // real name for a system is `<hostname>.infra.<domain>`, which technitium
37
+ // registers for every system (on-system-event.ts:120).
28
38
 
29
39
  export interface OidcGateOptions {
30
40
  /** The `iss` claim exactly — for authentik, `https://auth.<domain>/application/o/<slug>/`. */
@@ -95,12 +105,17 @@ export function oidcGate(options: OidcGateOptions): AuthGate {
95
105
  }
96
106
 
97
107
  /** Read one required value, or say which one is missing and who writes it. */
98
- function required(env: Record<string, string | undefined>, name: string): string {
108
+ const OIDC_UNSET =
109
+ "The console refuses to serve without an identity provider — see /etc/celilo-web-console-discovered.env, which the module's install hook writes once the OIDC client exists.";
110
+
111
+ function required(
112
+ env: Record<string, string | undefined>,
113
+ name: string,
114
+ why: string = OIDC_UNSET,
115
+ ): string {
99
116
  const value = env[name];
100
117
  if (value === undefined || value === '') {
101
- throw new Error(
102
- `${name} is not set. The console refuses to serve without an identity provider — see /etc/celilo-web-console-discovered.env, which the module's install hook writes once the OIDC client exists.`,
103
- );
118
+ throw new Error(`${name} is not set. ${why}`);
104
119
  }
105
120
  return value;
106
121
  }
@@ -126,7 +141,11 @@ export function startFromEnv(env: Record<string, string | undefined> = process.e
126
141
  );
127
142
  const server = serve({
128
143
  port: Number(env.PORT ?? 8443),
129
- dest: env.CELILO_API_DEST ?? DEFAULT_DEST,
144
+ dest: required(
145
+ env,
146
+ 'CELILO_API_DEST',
147
+ 'The console has no celilo to read through. The module writes it into /etc/celilo-web-console.env from its `api_dest` config; it must be a resolvable destination such as celilo-api@celilo-mgr.infra.<domain>, never a bare hostname.',
148
+ ),
130
149
  identityFile: env.CELILO_IDENTITY_FILE ?? DEFAULT_IDENTITY_FILE,
131
150
  ...(env.CONSOLE_SPA_DIR ? { spaDir: env.CONSOLE_SPA_DIR } : {}),
132
151
  authenticate: login.authenticate,
package/src/verbs.ts CHANGED
@@ -81,7 +81,23 @@ interface CliClosure {
81
81
  truncated: boolean;
82
82
  }
83
83
 
84
- /** `celilo alerts --json`, verbatim. */
84
+ /**
85
+ * `celilo alerts list --json`, verbatim — which is NOT the protocol's shape.
86
+ *
87
+ * Every timestamp is `unknown` deliberately. celilo stores them as Drizzle
88
+ * `mode: 'timestamp'` columns, so its rows hold `Date` objects and `--json`
89
+ * prints ISO STRINGS, while the protocol declares epoch ms (also deliberate:
90
+ * ages are computed against the server's `asOf`, so a skewed browser clock
91
+ * cannot answer "how long has this been firing" wrongly).
92
+ *
93
+ * Typing them `number` here declared a shape nobody checked. `upstream.read<T>`
94
+ * is a type ASSERTION, so the strings passed through onto the wire, the
95
+ * browser's own protocol validation rejected the payload, and the dock rendered
96
+ * one word — "unavailable" — for a fleet with six firing alerts (celilo#1455).
97
+ * `unknown` forces every one of them through `epochMs` below, which converts and
98
+ * VALIDATES at the ingest boundary, so an upstream shape change fails here
99
+ * naming the field instead of three layers away as a single word.
100
+ */
85
101
  interface CliAlert {
86
102
  id: string;
87
103
  key: string;
@@ -90,18 +106,45 @@ interface CliAlert {
90
106
  monitor: string | null;
91
107
  escalationPolicy: string | null;
92
108
  escalationStep: number;
93
- nextEscalationAt: number | null;
94
- firstFiredAt: number;
95
- lastSeenAt: number;
109
+ nextEscalationAt: unknown;
110
+ firstFiredAt: unknown;
111
+ lastSeenAt: unknown;
96
112
  suppressedByAlertId: string | null;
97
113
  suppressedByWindowId: string | null;
98
114
  awaitingConfirmation: boolean;
99
115
  ackedBy: string | null;
100
- ackedAt: number | null;
101
- silencedUntil: number | null;
116
+ ackedAt: unknown;
117
+ silencedUntil: unknown;
102
118
  message: string;
103
119
  }
104
120
 
121
+ const ALERTS_ARGV = ['alerts', 'list', '--json'] as const;
122
+
123
+ /**
124
+ * An upstream timestamp as epoch ms, or a `malformed` failure naming the field.
125
+ *
126
+ * Accepts both forms on purpose: epoch ms is what the protocol wants and what an
127
+ * older or future celilo may print directly, and an ISO string is what today's
128
+ * Drizzle-serialised rows carry.
129
+ */
130
+ function epochMs(value: unknown, field: string): number {
131
+ if (typeof value === 'number' && Number.isFinite(value)) return value;
132
+ if (typeof value === 'string') {
133
+ const parsed = Date.parse(value);
134
+ if (!Number.isNaN(parsed)) return parsed;
135
+ }
136
+ throw new UpstreamUnavailable(
137
+ 'malformed',
138
+ ALERTS_ARGV,
139
+ `\`celilo alerts list --json\` returned ${field}=${JSON.stringify(value)}; expected epoch ms or an ISO timestamp.`,
140
+ );
141
+ }
142
+
143
+ /** As `epochMs`, for a field celilo legitimately leaves unset. */
144
+ function epochMsOrNull(value: unknown, field: string): number | null {
145
+ return value === null || value === undefined ? null : epochMs(value, field);
146
+ }
147
+
105
148
  /** `celilo person list --json`, verbatim. */
106
149
  interface CliPerson {
107
150
  name: string;
@@ -278,17 +321,17 @@ export async function readAlerts(upstream: Upstream, moduleId?: string): Promise
278
321
  state: alertState(row.state),
279
322
  severity: severity(row.severity),
280
323
  policy: row.escalationPolicy,
281
- firstFiredAt: row.firstFiredAt,
282
- lastSeenAt: row.lastSeenAt,
324
+ firstFiredAt: epochMs(row.firstFiredAt, 'firstFiredAt'),
325
+ lastSeenAt: epochMs(row.lastSeenAt, 'lastSeenAt'),
283
326
  suppressedByAlertId: row.suppressedByAlertId,
284
327
  suppressedByWindowId: row.suppressedByWindowId,
285
- silencedUntil: row.silencedUntil,
328
+ silencedUntil: epochMsOrNull(row.silencedUntil, 'silencedUntil'),
286
329
  // `alerts --json` resolves the person to a name. There is no id on the
287
330
  // wire, so the name serves as both — which is what the console shows.
288
331
  ackedBy: row.ackedBy ? { id: row.ackedBy, name: row.ackedBy } : null,
289
- ackedAt: row.ackedAt,
332
+ ackedAt: epochMsOrNull(row.ackedAt, 'ackedAt'),
290
333
  escalationStep: row.escalationStep,
291
- nextEscalationAt: row.nextEscalationAt,
334
+ nextEscalationAt: epochMsOrNull(row.nextEscalationAt, 'nextEscalationAt'),
292
335
  }),
293
336
  ),
294
337
  };
@@ -467,5 +510,5 @@ export async function ackAlert(
467
510
  );
468
511
  }
469
512
 
470
- return { ackedAt: acked.ackedAt, ackedByName: acked.ackedBy ?? person };
513
+ return { ackedAt: epochMs(acked.ackedAt, 'ackedAt'), ackedByName: acked.ackedBy ?? person };
471
514
  }